Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 66573 invoked from network); 7 Jun 2010 18:34:58 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 7 Jun 2010 18:34:58 -0000 Received: (qmail 50692 invoked by uid 500); 7 Jun 2010 18:34:58 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 50671 invoked by uid 500); 7 Jun 2010 18:34:58 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 50664 invoked by uid 99); 7 Jun 2010 18:34:58 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Jun 2010 18:34:58 +0000 X-ASF-Spam-Status: No, hits=-1503.5 required=10.0 tests=ALL_TRUSTED,AWL X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Jun 2010 18:34:57 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o57IYbJq016125 for ; Mon, 7 Jun 2010 18:34:37 GMT Message-ID: <16813247.7451275935677196.JavaMail.jira@thor> Date: Mon, 7 Jun 2010 14:34:37 -0400 (EDT) From: "Tiago R. Espinha (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-728) Unable to create databases whose name containg Chinese characters through the client driver In-Reply-To: <1823277866.1132849316146.JavaMail.jira@ajax.apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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_p1.diff This is my first patch for this issue. Kathey, we talked about putting in place that setDatabaseName() method as one functional patch. However, that has already been checked-in. As such, what this patch does is set the dbname and shortDbName fields to private. Being protected meant that there were classes that could bypass the setDatabaseName() and set the name directly to the attribute. This is usually a bad idea so I encapsulated the fields with getters and setters to enforce the setDatabaseName() method. I will be running regressions today. > 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_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.(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.