[jOOQ/jOOQ#8993] NullPointerException when JDBC driver returns null on getGeneratedKeys call using ZDAL5 driver on MySQL
This commit is contained in:
parent
621ba842ed
commit
e2a761e8d2
@ -91,7 +91,7 @@ public class DefaultPreparedStatement extends DefaultStatement implements Prepar
|
||||
|
||||
@Override
|
||||
public ResultSet executeQuery() throws SQLException {
|
||||
return new DefaultResultSet(getDelegatePreparedStatement().executeQuery(), this);
|
||||
return wrap(getDelegatePreparedStatement().executeQuery());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -71,6 +71,18 @@ public class DefaultStatement extends JDBC41Statement implements Statement {
|
||||
return delegate;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// XXX Auxiliary methods
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
protected ResultSet wrap(ResultSet wrapped) {
|
||||
|
||||
// [#8993] Some JDBC drivers produce null ResultSets where they shouldn't.
|
||||
// This method allows for passing along this null result value
|
||||
// rather than wrapping it, leading to unrelated NPEs later.
|
||||
return wrapped == null ? null : new DefaultResultSet(wrapped, this);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// XXX Executing the statement
|
||||
// ------------------------------------------------------------------------
|
||||
@ -102,7 +114,7 @@ public class DefaultStatement extends JDBC41Statement implements Statement {
|
||||
|
||||
@Override
|
||||
public ResultSet executeQuery(String sql) throws SQLException {
|
||||
return new DefaultResultSet(getDelegateStatement().executeQuery(sql), this);
|
||||
return wrap(getDelegateStatement().executeQuery(sql));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -201,7 +213,7 @@ public class DefaultStatement extends JDBC41Statement implements Statement {
|
||||
|
||||
@Override
|
||||
public ResultSet getResultSet() throws SQLException {
|
||||
return new DefaultResultSet(getDelegateStatement().getResultSet(), this);
|
||||
return wrap(getDelegateStatement().getResultSet());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -266,7 +278,7 @@ public class DefaultStatement extends JDBC41Statement implements Statement {
|
||||
|
||||
@Override
|
||||
public ResultSet getGeneratedKeys() throws SQLException {
|
||||
return new DefaultResultSet(getDelegateStatement().getGeneratedKeys(), this);
|
||||
return wrap(getDelegateStatement().getGeneratedKeys());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
Reference in New Issue
Block a user