Bug #49745 | deleteRow() for updatable result sets can cause full table scan | ||
---|---|---|---|
Submitted: | 16 Dec 2009 19:40 | Modified: | 8 Jan 2010 10:52 |
Reporter: | Harrison Fisk | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / J | Severity: | S2 (Serious) |
Version: | 5.1.9+ | OS: | Any |
Assigned to: | Mark Matthews | CPU Architecture: | Any |
[16 Dec 2009 19:40]
Harrison Fisk
[16 Dec 2009 19:41]
Harrison Fisk
Test case, look at the Handler_read_rnd_next stats. You could also disable the URL UTF8 setting to remove problem.
Attachment: testCase42456.java (text/x-java), 4.22 KiB.
[17 Dec 2009 0:08]
Todd Farmer
Patch needs testing and review tomorrow, but solves problem for provided test case. Need to ensure no regressions, as the patch also deals with decimal and float data types, plus NULLs, and addresses UPDATES as well as DELETES. Furthermore, logic branches exist for single-column primary and composite keys, need to test more fully.
[18 Dec 2009 20:20]
Todd Farmer
Correct final patch
Attachment: diff.txt (text/plain), 4.62 KiB.
[8 Jan 2010 10:52]
Tony Bedford
An entry has been added to the 5.1.11 changelog: The deleteRow method caused a full table scan, when using an updatable cursor and a multibyte character set.