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