[CONJ-519] Updatable result-set possible NPE when same field is repeated. Created: 2017-08-30  Updated: 2017-08-30  Resolved: 2017-08-30

Status: Closed
Project: MariaDB Connector/J
Component/s: metadata, Other
Affects Version/s: None
Fix Version/s: 2.1.1

Type: Bug Priority: Major
Reporter: Diego Dupin Assignee: Diego Dupin
Resolution: Fixed Votes: 0
Labels: 15497


 Description   

When using an updatable resultset (using ResultSet.CONCUR_UPDATABLE), If query concern only one table AND having same field repeat multiple time, getting a value using resultset.getXXX() from one of those repeated field will result in a NPE.

example :

        stmt.execute("CREATE TABLE TT ( t1 varchar(50) NOT NULL, t2 varchar(50), PRIMARY KEY (t1))");
        stmt.execute("insert into tt values ('a', 'b'), ('c', 'd')");
        PreparedStatement preparedStatement = sharedConnection.prepareStatement("SELECT t1, t2, t1 as t3 FROM TT", ResultSet.FETCH_FORWARD, ResultSet.CONCUR_UPDATABLE);
        ResultSet rs = preparedStatement.executeQuery();
        while (rs.next()) {
            rs.getObject(3); //will thow an NPE 
        }

resulting error is :

java.lang.NullPointerException
	at org.mariadb.jdbc.internal.com.read.resultset.SelectResultSet.getInternalObject(SelectResultSet.java:2099)
	at org.mariadb.jdbc.internal.com.read.resultset.SelectResultSet.getObject(SelectResultSet.java:1936)



 Comments   
Comment by Diego Dupin [ 2017-08-30 ]

This is corrected with commits 1 .

correction is on 2.1.1.

SNAPSHOT available though maven :

<repositories>
    <repository>
        <id>sonatype-nexus-snapshots</id>
        <name>Sonatype Nexus Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </repository>
</repositories>
 
<dependencies>
    <dependency>
        <groupId>org.mariadb.jdbc</groupId>
        <artifactId>mariadb-java-client</artifactId>
        <version>2.1.1-SNAPSHOT</version>
    </dependency>
</dependencies>

Generated at Thu Feb 08 03:16:16 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.