Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 55126 invoked from network); 11 May 2007 22:50:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 May 2007 22:50:36 -0000 Received: (qmail 95039 invoked by uid 500); 11 May 2007 22:50:42 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 95000 invoked by uid 500); 11 May 2007 22:50:42 -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 94991 invoked by uid 99); 11 May 2007 22:50:42 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 May 2007 15:50:42 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 May 2007 15:50:35 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 790C1714065 for ; Fri, 11 May 2007 15:50:15 -0700 (PDT) Message-ID: <3352328.1178923815493.JavaMail.jira@brutus> Date: Fri, 11 May 2007 15:50:15 -0700 (PDT) From: "Mamta A. Satoor (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-2335) Compare character datatypes with different collation ordering. In-Reply-To: <11316854.1171484585505.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-2335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12495192 ] Mamta A. Satoor commented on DERBY-2335: ---------------------------------------- The change in DataTypeDescriptor.getNull method now has it throw a StandardException. This exception should be handled by the callers of this method and that's what the change in EmbedResultSet.java is doing. Please let me know if you or anyone else have any further questions. > Compare character datatypes with different collation ordering. > -------------------------------------------------------------- > > Key: DERBY-2335 > URL: https://issues.apache.org/jira/browse/DERBY-2335 > Project: Derby > Issue Type: Sub-task > Components: SQL > Affects Versions: 10.3.0.0 > Reporter: Mamta A. Satoor > Assigned To: Mamta A. Satoor > Attachments: DERBY2335_correct_collation_for_constants_persistent_column_v1_diff.txt, DERBY2335_correct_collation_for_constants_persistent_column_v1_stat.txt, DERBY2335_fix_stringCompare_Method_CollatorSQLxxx_classes_v1_diff.txt, DERBY2335_fix_stringCompare_Method_CollatorSQLxxx_classes_v1_stat.txt, DERBY2335_More_tests_And_Fix_getNull_v1_diff.txt, DERBY2335_More_tests_And_Fix_getNull_v1_stat.txt > > > The parent task DERBY-1478 will enable users to have a different collation order for user-defined character datatypes compared to UNICODE based collation, UCS_BASIC, used by system tables. This sub-task is added to handle the case where a comparison is made between character datatypes with different collation order. > For instance > Let's say, a database is created to use a territory based collation for character types. And say there is a userSchema schema in that database which has a table tableInfo with column tablename defined as VARCHAR. This tableInfo.tablename will have territory based collation assoicated with it. And say this column is then compared with a VARCHAR column in SYS schema, then how will the comparison happen, since the 2 columns being compared have different collation associated with them? > select * from sys.systables and userSchema.tableInfo where systables.tablename = tableInfo,tablename > Thanks to Rick for taking the time out on this issue. He had following suggestion > > "As I read part 2 of the SQL Standard, it looks like you need a CAST in order to compare 2 strings which have different collations bound to them. Both string operands must have the same collation--that is my reading of Syntax rule 3b in section 9.13. Sections 6.12 and 6.1 explain how to cast the operands so that you can compare them. I think you need to write an expression like this: > WHERE userStringCol = CAST ( systemStringCol AS VARCHAR COLLATE userStringColumnsCollation ) > Here's an example I googled up: http://docs.openlinksw.com/virtuoso/sqlrefDATATYPES.html. Hope this helps. > > When this task is taken up, it would be good to explore Rick's suggestion. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.