db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Db-derby Wiki] Update of "BuiltInLanguageBasedOrderingDERBY-1478" by MamtaSatoor
Date Mon, 04 Jun 2007 23:46:48 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.

The following page has been changed by MamtaSatoor:
http://wiki.apache.org/db-derby/BuiltInLanguageBasedOrderingDERBY-1478

------------------------------------------------------------------------------
  }}}
  Note Derby does not actually support the CHARACTER SET clause.
   
- The character set specification for string literals in SQL specification is not as well
defined as for <column definitions>. SQL spec Section 5.3<literal>, Syntax Rule
14b says that if the character set is not specified for character string literal, then character
string literal's character set will be the character set of the SQL-client module. Derby does
not implement SQL-client module, but definition of SQL-client module in Section 13.1 says
that SQL-client module definition has mandatory <module name clause> which is defined
in Section 13.2 <module name clause>. The Syntax Rule 4 in this section says that if
a character set is not specified for the SQL-client module, then it's character set is "implementation-defined".
For Derby, this implementation-defined character set for SQL-client module will be USER. And
hence the string literals will have the USER character set associated with them.
+ The character set specification for string literals in SQL specification is not as well
defined as for <column definitions>. SQL spec Section 5.3<literal>, Syntax Rule
14b says that if the character set is not specified for character string literal, then character
string literal's character set will be the character set of the SQL-client module. Derby does
not implement SQL-client module, but definition of SQL-client module in Section 13.1 says
that SQL-client module definition has mandatory <module name clause> which is defined
in Section 13.2 <module name clause>. The Syntax Rule 4 in this section says that if
a character set is not specified for the SQL-client module, then it's character set is "implementation-defined".
For Derby, this implementation-defined character set for SQL-client module will be USER. And
hence the string literals will have the USER character set associated with them. June 4th
2007 The current code in Derby 10.3 uses the collation type of current c
 ompilation schema for string literals rather than using the collation type associated with
USER character set. There is a Jira entry DERBY-2731 and a thread http://www.nabble.com/Collation-and-string-literals-limitation-in-SQL-standard--tf3868448.html#a10959872
started by Dan to see what should be the correct collation type for string literals.
  
  Some other background information on collation derivation and collation type from SQL spec
: SQL spec talks about character string types having collation type and collation derivation
associated with them (SQL spec Section 4.2.2 Comparison of character strings). If collation
derivation says explicit or implicit, then it means that there is a valid collation type associated
with the charcter string type. If the collation derivation is none, then it means that collation
type can't be established for the character string type. 
  

Mime
View raw message