Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
1.13.0
-
None
-
None
-
JIRA Container. Developed code is part of JIRA addon.
Description
I've receiving NPE When using Calcite. My code is as follows
@Autowired public CalciteBootstrap(DatasourceProvider datasourceProvider) throws SQLException { this.datasource = datasourceProvider.fetchDatasource(); log.debug("Datasource fetched - {}", datasource); this.connection = createRootSchema(); this.schema = JdbcSchema.create(connection.getRootSchema(), "PUBLIC", datasource, null, null); connection.getRootSchema().add("jira", schema); connection.createStatement().executeQuery("select * from jira.PROJECT_KEY"); } private CalciteConnection createRootSchema() { try { Class.forName("org.apache.calcite.jdbc.Driver"); Properties info = new Properties(); info.setProperty("lex", "JAVA"); Connection connection = DriverManager.getConnection("jdbc:calcite:", info); CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class); return calciteConnection; } catch (SQLException | ClassNotFoundException ex) { throw new RuntimeException(ex); } }
And NPE:
[INFO] [talledLocalContainer] java.sql.SQLException: Error while executing SQL "select * from jira.PROJECT_KEY": null [INFO] [talledLocalContainer] at org.apache.calcite.avatica.Helper.createException(Helper.java:56) [INFO] [talledLocalContainer] at org.apache.calcite.avatica.Helper.createException(Helper.java:41) [INFO] [talledLocalContainer] at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156) [INFO] [talledLocalContainer] at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218) [INFO] [talledLocalContainer] at com.codedoers.jira.smartql.QueryController.request(QueryController.java:23) ... [INFO] [talledLocalContainer] Caused by: java.lang.NullPointerException [INFO] [talledLocalContainer] at Baz.bind(Unknown Source) [INFO] [talledLocalContainer] at org.apache.calcite.jdbc.CalcitePrepare$CalciteSignature.enumerable(CalcitePrepare.java:335) [INFO] [talledLocalContainer] at org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(CalciteConnectionImpl.java:294) [INFO] [talledLocalContainer] at org.apache.calcite.jdbc.CalciteMetaImpl._createIterable(CalciteMetaImpl.java:559) [INFO] [talledLocalContainer] at org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(CalciteMetaImpl.java:550) [INFO] [talledLocalContainer] at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:67) [INFO] [talledLocalContainer] at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:44) [INFO] [talledLocalContainer] at org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:630) [INFO] [talledLocalContainer] at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:607) [INFO] [talledLocalContainer] at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638) [INFO] [talledLocalContainer] at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149) [INFO] [talledLocalContainer] ... 240 more
I am developing an addon for JIRA, hence the container is JIRA. DB is H2. I am borrowing JIRAs datasource for Calcite.