verdict-project / verdict

Interactive-Speed Analytics: 200x Faster, 200x Fewer Cluster Resources, Approximate Query Processing
http://verdictdb.org
Apache License 2.0
248 stars 66 forks source link

InMemoryAggregate.abort() causes org.h2.jdbc.JdbcSQLException: Method is only allowed for a query. #305

Closed dongyoungy closed 5 years ago

dongyoungy commented 5 years ago

org.h2.jdbc.JdbcSQLException: Method is only allowed for a query. Use execute or executeUpdate instead of executeQuery; SQL statement: SHUTDOWN [90002-197] at org.h2.message.DbException.getJdbcSQLException(DbException.java:357) at org.h2.message.DbException.get(DbException.java:179) at org.h2.message.DbException.get(DbException.java:155) at org.h2.message.DbException.get(DbException.java:144) at org.h2.command.Prepared.query(Prepared.java:219) at org.h2.command.CommandContainer.query(CommandContainer.java:114) at org.h2.command.Command.executeQuery(Command.java:202) at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:85) at org.verdictdb.connection.InMemoryAggregate.abort(InMemoryAggregate.java:181) at org.verdictdb.core.querying.ola.SelectAsyncAggExecutionNode.abort(SelectAsyncAggExecutionNode.java:191) at org.verdictdb.core.execplan.ExecutableNodeRunner.abort(ExecutableNodeRunner.java:138) at org.verdictdb.core.execplan.ExecutablePlanRunner.abort(ExecutablePlanRunner.java:131) at org.verdictdb.coordinator.SelectQueryCoordinator.abort(SelectQueryCoordinator.java:174) at org.verdictdb.coordinator.ExecutionContext.abort(ExecutionContext.java:420) at org.verdictdb.coordinator.ExecutionContext.sql(ExecutionContext.java:162) at org.verdictdb.coordinator.ExecutionContext.sql(ExecutionContext.java:123) at org.verdictdb.jdbc41.VerdictStatement.executeQuery(VerdictStatement.java:135) at org.verdictdb.core.scramblingquerying.TpchScrambleQueryForAllDatabasesTest.testTpch(TpchScrambleQueryForAllDatabasesTest.java:329)

I think changing it from executeQuery to execute should fix it.