I need to do a Common Table Expression (CTE) query, but can't figure out how to do this in activejdbc. DB is postgres 9.5
doing:
Model.findbySQL("with cte as (...) select * from cte"
gives me the error:
java.lang.IllegalArgumentException: query must be 'select' query at org.javalite.activejdbc.DB.find(DB.java:463) at org.javalite.activejdbc.LazyList.hydrate(LazyList.java:329) at org.javalite.activejdbc.LazyList.toJson(LazyList.java:245) at com.torfiles.webservice.Endpoints.lambda$search$5(Endpoints.java:91) at spark.RouteImpl$1.handle(RouteImpl.java:61) at spark.http.matching.Routes.execute(Routes.java:61) at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:126) at spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119) at org.eclipse.jetty.server.Server.handle(Server.java:517) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:261) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) at java.lang.Thread.run(Thread.java:748)
This was a bug that was fixed in April 2016: https://github.com/javalite/activejdbc/issues/483 Please, upgrade to version 1.4.13 to get passed this.