|
'derby-4040-1a-SQLChar_length_and_test.diff' fixes the bug by always decoding the stream is the data value is stored as a stream, and it also adds a few more tests (adjusted existing test).
The bug was that the byte length was used as a character length. Since these two lengths are the same for ASCII data values, it wasn't detected earlier. The limited range of the length information in the header helped conceal the bug too. Ran regression tests without failures. I'll look at backporting the fix when it has made it into trunk. Patch ready for review. Committed patch 1a to trunk with revision 742357.
Attached the diff for the backport, 'derby-4040-2a-backport.diff'.
I had to do a manual merge, as the method InputStreamUtil.skipFully doesn't exist on the 10.4 and 10.3 branches. Instead of using that method, I simply chose to use InputStream.skip. Regression tests ran successfully. Committed to the 10.4 branch with revision 745571. Backported the fix from 10.4 to the 10.3 branch with revision 745811.
The tinderbox test for 10.4 ran cleanly. I'm resolving the issue, and will await the tinderbox results from 10.3 before I close. 10.3 tinderbox ran without any new failures (lang/subquery did fail).
Closing issue. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DERBY-3741.