You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Yuri Au Yong (JIRA)" <ji...@apache.org> on 2015/03/31 09:47:52 UTC
[jira] [Created] (CALCITE-657) NullPointerException when executing
JdbcAggregate implement method
Yuri Au Yong created CALCITE-657:
------------------------------------
Summary: NullPointerException when executing JdbcAggregate implement method
Key: CALCITE-657
URL: https://issues.apache.org/jira/browse/CALCITE-657
Project: Calcite
Issue Type: Bug
Affects Versions: 1.0.0-incubating
Reporter: Yuri Au Yong
Assignee: Julian Hyde
When select with aggregations on identifiers, getting java.lang.NullPointerException during execution of JdbcAggregate implement method.
Cause:
rowtype=null instead of getRowType() is used as parameter for addSelect method
Test:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import org.hsqldb.jdbcDriver;
public class testJdbcAggregate {
public static void main(String[] args) {
try {
String hsqldbMemUrl = "jdbc:hsqldb:mem:.";
Connection baseConnection = DriverManager.getConnection(hsqldbMemUrl);
Statement baseStmt = baseConnection.createStatement();
baseStmt.execute("CREATE TABLE T1 (\n"
+ "ID INTEGER,\n"
+ "VALS INTEGER)");
baseStmt.execute("INSERT INTO T1 VALUES (1, 1)");
baseStmt.execute("INSERT INTO T1 VALUES (2, null)");
baseStmt.close();
baseConnection.commit();
Properties info = new Properties();
info.put("model",
"inline:"
+ "{\n"
+ " version: '1.0',\n"
+ " defaultSchema: 'BASEJDBC',\n"
+ " schemas: [\n"
+ " {\n"
+ " type: 'jdbc',\n"
+ " name: 'BASEJDBC',\n"
+ " jdbcDriver: '" + jdbcDriver.class.getName() + "',\n"
+ " jdbcUrl: '" + hsqldbMemUrl + "',\n"
+ " jdbcCatalog: null,\n"
+ " jdbcSchema: null\n"
+ " }\n"
+ " ]\n"
+ "}");
Connection calciteConnection = DriverManager.getConnection(
"jdbc:calcite:", info);
Integer n = 1;
ResultSet rs = calciteConnection.prepareStatement("select 10 * count(ID) from t1").executeQuery();
while (rs.next()){
System.out.println ("calciteRs agg_compute:" + (Long) rs.getObject(n));
n += 1;
}
rs.close();
calciteConnection.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)