Skip to content

ResultSet.getTimestamp() throws NullPointerException on DATE column #537

@if6was9

Description

@if6was9

Using org.duckdb:duckdb_jdbc:jar:1.4.3.0 the following throws a NullPointerException unexpectedly.

    var c = db().getDataSource().getConnection();
    var st = c.prepareStatement("select cast(now() as DATE) as d");
    var rs = st.executeQuery();

    rs.next();

    System.out.println(rs.getString("d")); // OK
    System.out.println(rs.getDate("d")); // OK
    System.out.println(rs.getTimestamp("d")); // Throws NPE

The stack trace:

java.lang.NullPointerException: Cannot load from object array because "this.varlen_data" is null
	at org.duckdb.DuckDBVector.getLazyString(DuckDBVector.java:267)
	at org.duckdb.DuckDBVector.getTimestamp(DuckDBVector.java:643)
	at org.duckdb.DuckDBVector.getTimestamp(DuckDBVector.java:242)
	at org.duckdb.DuckDBResultSet.getTimestamp(DuckDBResultSet.java:418)
	at org.duckdb.DuckDBResultSet.getTimestamp(DuckDBResultSet.java:593)
	at bx.sql.ResultsTest.testDemonstrateBug(ResultsTest.java:757)

The stack trace is similar to #146

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions