[
https://issues.apache.org/jira/browse/DERBY-728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tiago R. Espinha updated DERBY-728:
-----------------------------------
Attachment: DERBY-728_p2.diff
DERBY-728_p2-test.diff
Here are two refreshed patches after discussing the above issue with Kathey on
IRC. We agreed that the convertToUCS2 method should actually be called
convertToJavaString as we have no real requirement to have UCS2 Strings. As
long as they are Java Strings, it should be fine as they won't be sent over the
network (not in UCS2 anyway).
With this change, the conversion in the Utf8CcsidManager also changes slightly
in this patch.
I've also removed a leftover comment that shouldn't have stayed there.
It needs to be said that the naming change should also happen in the client's
CcsidManager classes, but I will keep this task for when I do the client
changes.
I'll be running regressions again tonight and post the results in the morning.
> Unable to create databases whose name containg Chinese characters through the
> client driver
> -------------------------------------------------------------------------------------------
>
> Key: DERBY-728
> URL: https://issues.apache.org/jira/browse/DERBY-728
> Project: Derby
> Issue Type: Bug
> Components: Network Client
> Affects Versions: 10.1.2.1
> Environment: Debian unstable, LInux 2.6.14.2, libc 2.3.5-6
> Reporter: Andrei Badea
> Assignee: Tiago R. Espinha
> Attachments: ACR7007.pdf, BigTableName.java,
> derby-728-startingpoint.diff, DERBY-728_p1.diff, DERBY-728_p2-test.diff,
> DERBY-728_p2-test.diff, DERBY-728_p2.diff, DERBY-728_p2.diff,
> DERBY-728_p2.diff, derby-728_proto_diff.txt
>
>
> Trying to create a database with the following URL (note the Chinese
> character in the database name):
> jdbc:derby://localhost:1527/\u4e10;create=true
> throws the following exception:
> -----%<-----
> Exception in thread "main" org.apache.derby.client.am.SqlException: Unicode
> string can't convert to Ebcdic string
> at
> org.apache.derby.client.net.EbcdicCcsidManager.convertFromUCS2(Unknown Source)
> at
> org.apache.derby.client.net.Request.writeScalarPaddedString(Unknown Source)
> at
> org.apache.derby.client.net.NetConnectionRequest.buildRDBNAM(Unknown Source)
> at
> org.apache.derby.client.net.NetConnectionRequest.buildACCSEC(Unknown Source)
> at
> org.apache.derby.client.net.NetConnectionRequest.writeAccessSecurity(Unknown
> Source)
> at
> org.apache.derby.client.net.NetConnection.writeServerAttributesAndKeyExchange(Unknown
> Source)
> at
> org.apache.derby.client.net.NetConnection.flowServerAttributesAndKeyExchange(Unknown
> Source)
> at
> org.apache.derby.client.net.NetConnection.flowUSRIDONLconnect(Unknown Source)
> at org.apache.derby.client.net.NetConnection.flowConnect(Unknown
> Source)
> at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
> at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
> at java.sql.DriverManager.getConnection(DriverManager.java:525)
> at java.sql.DriverManager.getConnection(DriverManager.java:193)
> at jdbctest.Main.main(Main.java:33)
> -----%<-----
> It's possible, however, to create databases using the embedded driver, using
> an URL like:
> jdbc:derby:\u4e10;create=true
> Tested with both 10.1.1.0 and 10.1.2.1 with the same result.
> Complete code to reproduce the bug:
> -----%<-----
> public static void main(String[] args) throws Exception {
> Class.forName("org.apache.derby.jdbc.ClientDriver");
> Connection conn =
> DriverManager.getConnection("jdbc:derby://localhost:1527/\u4e10;create=true");
> }
> -----%<-----
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.