Hello all,

I'm trying calcite avatica v1.16.0 which seems to be a very great tool.

I tried with a postgresql database and that works very fine (I used the provided docker standalone server for my tests)


Now, I'm trying with an oracle database (v19c) and like for postgresql, I'm using a docker standalone server.

I'm running on an openJDK11 and I have a problem related to the Oracle jdbc driver (ojdbc10.jar) which throws an SQLException if the input parameter of the method */isWrapperFor/* is not a java interface :


java.lang.RuntimeException: java.sql.SQLException: Object does not wrap anything with requested interface         at org.apache.calcite.avatica.jdbc.JdbcMeta.propagate(JdbcMeta.java:700)         at org.apache.calcite.avatica.jdbc.JdbcMeta.prepare(JdbcMeta.java:726)         at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:195)         at org.apache.calcite.avatica.remote.Service$PrepareRequest.accept(Service.java:1215)         at org.apache.calcite.avatica.remote.Service$PrepareRequest.accept(Service.java:1186)         at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94)         at org.apache.calcite.avatica.remote.JsonHandler.apply(JsonHandler.java:52)         at org.apache.calcite.avatica.server.AvaticaJsonHandler.handle(AvaticaJsonHandler.java:129)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.server.Server.handle(Server.java:502)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)         at org.apache.calcite.avatica.standalone.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:748)
*Caused by: java.sql.SQLException: Object does not wrap anything with requested interface** **        at oracle.jdbc.driver.OracleStatementWrapper.isWrapperFor(OracleStatementWrapper.java:487)** **        at org.apache.calcite.avatica.jdbc.JdbcMeta.prepare(JdbcMeta.java:711)*
        ... 22 more



In the corresponding source code of */JdbcMeta.java/*, the input parameter of the method /*isWrapperFor* /is the abstract class/*AvaticaPreparedStatement* /(which is not a java interface) /:
/


Meta.StatementTypestatementType= null;
if(statement.isWrapperFor(AvaticaPreparedStatement.class)) {
finalAvaticaPreparedStatementavaticaPreparedStatement;




Does someone have an idea how to solve this problem ?

Thank you in advance.

Thierry








Reply via email to