Skip to content

SQL: JDBC getDate() method fails with NPE for a CASTed NULL AS DATE query #50174

@astefan

Description

@astefan
Connection conn = DriverManager.getConnection(URL);
PreparedStatement statement = conn.prepareStatement("SELECT CAST(NULL AS DATE)");
ResultSet results = statement.executeQuery();
while (results.next()) {
	ResultSetMetaData resultSetMetaData = results.getMetaData();
	logger.log(resultSetMetaData.getColumnLabel(1) + ": " + results.getObject(1));
	logger.log(resultSetMetaData.getColumnLabel(1) + ": " + results.getDate(1, Calendar.getInstance()));
}

results in

CAST(NULL AS DATE): null
Exception in thread "main" java.lang.NullPointerException
	at org.elasticsearch.xpack.sql.jdbc.JdbcResultSet.dateTimeAsMillis(JdbcResultSet.java:276)
	at org.elasticsearch.xpack.sql.jdbc.JdbcResultSet.getDate(JdbcResultSet.java:360)

For SELECT CAST(NULL AS DATETIME) the query is successful.
For SELECT CAST(NULL AS TIME) the query fails again with NPE.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions