mit-pdos / noria

Fast web applications through dynamic, partially-stateful dataflow
Apache License 2.0
4.98k stars 242 forks source link

JDBC #130

Closed Dmole closed 5 years ago

Dmole commented 5 years ago

Any plan for JDBC support?

noria-mysql said;

Jul 28 03:58:09.153 ERRO query can't be parsed: "set autocommit=1, sql_mode = concat(@@sql_mode,',STRICT_TRANS_TABLES')"
Jul 28 03:58:09.158 ERRO query can't be parsed: "SHOW VARIABLES WHERE Variable_name in ('max_allowed_packet','system_time_zone','time_zone','auto_increment_increment')"

Java said;

java.lang.NullPointerException
    at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.requestSessionDataWithShow(AbstractConnectProtocol.java:642)
    at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.readPipelineAdditionalData(AbstractConnectProtocol.java:623)
    at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:476)
    at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1084)
    at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:493)
    at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:156)
    at org.mariadb.jdbc.Driver.connect(Driver.java:90)
    at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
...
ms705 commented 5 years ago

We don't currently have any plans (or, unfortunately, the cycles) to develop and comprehensively test JDBC interaction.

That said, the error you're seeing is likely a result of an unexpected empty result from SHOW VARIABLES. noria-mysql returns an empty result for unrecognized queries, which surprisingly often works just fine. Here, however, the client expects to get the variables (I'm guessing). You could possibly fix this by adding code that returns hard-coded results for the variables (similar to this). If you try this out and it works, please send a PR!