Mike Matrigali wrote:
From the description in the bug this seems like the right change, but
it does seem like it may also be another incompatibility. Should it
be added to the wiki? What difference will an app that somehow depended
on the old (wrong) behavior see now?
I think the only difference is that where you previously inserted a
character outside US-ASCII and got a '?' back, you will now get the
actual character back.
A typical example is the three "extra" Norwegian/Danish letters.
So the patch might change what goes in and what comes back.
Personally I think people needing these characters are already using
setCharacterStream (or another mechanism handling the issue), and would
not be affected.
And people using only US-ASCII for input would not be affected either.
The only case where it can affect input/output is when the input is
something like ISO-8859-1, but as I said, I think this case is handled
differently by the users.
Just my thoughts. There is maybe a slight incompatibility, but due to
its nature I think it is acceptable.
So, what did I forget about? :)
regards,
--
Kristian
Kristian Waagan (JIRA) wrote:
[
https://issues.apache.org/jira/browse/DERBY-1519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kristian Waagan updated DERBY-1519:
-----------------------------------
Attachment: derby-1519-1a.stat
derby-1519-1a.diff
'derby-1519-1a.diff' changes all uses of US-ASCII on the client to
ISO-8859-1.
suites.All run without errors with Java 1.5, and I started a derbyall
now.
Please raise your concerns if you have any, I will commit if the
second test run goes well.
'setAsciiStream' uses different encodings for embedded and client
-----------------------------------------------------------------
Key: DERBY-1519
URL: https://issues.apache.org/jira/browse/DERBY-1519
Project: Derby
Issue Type: Bug
Components: JDBC, Network Client
Affects Versions: 10.1.3.1, 10.2.1.6
Reporter: Kristian Waagan
Priority: Minor
Attachments: derby-1519-1a.diff, derby-1519-1a.stat
The JDBC method 'setAsciiStream' uses different encodings for
embedded and client. In the embedded driver, "ISO-8859-1" is used, in
the client driver "US-ASCII" is used. The former is 8-bit, the latter
is 7-bit. According to JDBC, the 8-bit encoding should be used for
ASCII (see
http://db.apache.org/derby/papers/JDBCImplementation.html#GetAsciiStream%28%29
).
The method 'getAsciiStream' should also be made to match in the two
drivers.