Bug #27412 | NullPointerException at Connection.initializeResultsMetadataFromCache | ||
---|---|---|---|
Submitted: | 24 Mar 2007 0:30 | Modified: | 8 Oct 2007 15:40 |
Reporter: | Gökhan Demir | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / J | Severity: | S3 (Non-critical) |
Version: | 5.0.5 | OS: | Linux (rhel4) |
Assigned to: | CPU Architecture: | Any |
[24 Mar 2007 0:30]
Gökhan Demir
[24 Mar 2007 0:34]
Gökhan Demir
I forgot to mention that, I have tested this against a 5.0.37 on rhel4 and against a 5.0.27 on fedora core 2. Outcome is the same.
[24 Mar 2007 17:24]
Tonci Grgin
Hi and thanks for your report. It is almost impossible to tell what went wrong just by looking at the stack trace. Please attach complete test case producing this error every time. What id your JDK/JRE version?
[27 Mar 2007 13:40]
Gökhan Demir
A very simple test case to produce the mentioned error.
Attachment: TestMysqlJdbc505Bug.java (application/octet-stream, text), 1.74 KiB.
[12 Apr 2007 7:08]
Tonci Grgin
Hi Demir. Verified as described with test case attached using latest SVN sources. We have two problems here, first one (ExecuteQuery vs Execute) you have found. The thing is that Execute tries to figure out wether or not statement returns resultset; obviously it guessed wrong as resultSet is NULL thus raising exception: java.lang.NullPointerException at com.mysql.jdbc.Connection.initializeResultsMetadataFromCache(Connection.java:5891) cachedMetaData.fields = resultSet.fields; This is due to problem 2. Putting props.put("useServerPrepStmts", "false"); you made driver guess about "preparability" of statement, and, in this case, driver correctly concludes that preparing this statement is waste of time: 10 Connect root@localhost on test 10 Query SHOW VARIABLES 070412 8:38:03 10 Query SHOW COLLATION 070412 8:38:04 10 Query SET character_set_results = NULL 10 Query SET autocommit=1 10 Query SET sql_mode='STRICT_TRANS_TABLES' 070412 8:38:31 10 Query SELECT 1 070412 8:41:38 10 Quit But, by putting props.put("useServerPrepStmts", "true");, you have another situation: 12 Connect root@localhost on test 12 Query SHOW VARIABLES 12 Query SHOW COLLATION 12 Query SET character_set_results = NULL 12 Query SET autocommit=1 12 Query SET sql_mode='STRICT_TRANS_TABLES' 12 Prepare [1] SELECT 1 12 Execute [1] SELECT 1 12 Quit and there's no error thrown: Connected to 5.0.38-log java.vm.version : 1.5.0_11-b03 java.vm.vendor : Sun Microsystems Inc. java.runtime.version : 1.5.0_11-b03 os.name : Windows XP os.version : null sun.management.compiler : HotSpot Client Compiler Time: 0,485 OK (1 test)
[12 Apr 2007 7:09]
Tonci Grgin
Test case
Attachment: TestBug27412.java (text/x-java), 3.92 KiB.
[2 Oct 2007 19:36]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34781
[2 Oct 2007 19:49]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34784
[2 Oct 2007 19:55]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34785
[3 Oct 2007 16:42]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34839
[3 Oct 2007 16:46]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34840
[3 Oct 2007 18:59]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34855
[4 Oct 2007 20:41]
Mark Matthews
Fixed for 5.0.8.
[5 Oct 2007 18:53]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/35011
[8 Oct 2007 15:40]
MC Brown
A note has been added to the 5.0.8 changelog: Cached metadata with PreparedStatement.execute() throws NullPointerException.
[11 Oct 2007 20:11]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/35407
[11 Oct 2007 20:24]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/35410
[11 Oct 2007 20:52]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/35414
[19 Nov 2007 0:57]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/38019
[19 Nov 2007 2:52]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/38024