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 Wed, 21 Mar 2007 17:35:36 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

------------------------------------------------------------------------------
  
  7)Currently, store uses Monitor to create DVD template rows. The logic of creating DVDs
using formatids should be factored out from Monitor into DataValueFactory. 
  
- 8)This item is related to item 7. With Derby 10.3, collation type will be the additional
metadata in store for each column. When store will call DataValueFactory to create DVD template
row, it will pass the formatids and the collation types. DVF will need to be able to assoicate
the correct Collator with the DVD for Char datatypes depending on the collation type. And
in order to find the correct Collator, DVF needs to know the locale of the database. This
loclae information will be set on DVF using a new method on DVF called void setLocale(Locale).
This call will be made by BasicDatabase after DVF has finished booting and before store starts
booting.
+ 8)This item is related to item 7. With Derby 10.3, collation type will be the additional
metadata in store for each column. When store will call DataValueFactory to create DVD template
row, it will pass the formatids and the collation types. DVF will need to be able to assoicate
the correct Collator with the DVD for Char datatypes depending on the collation type. And
in order to find the correct Collator, DVF needs to know the locale of the database. This
locale information will be set on DVF using a new method on DVF called void setLocale(Locale).
This call will be made by BasicDatabase after DVF has finished booting and before store starts
booting.
  
- 7)Override all the collation related methods in the CollatorSQLChar. CollatorSQLChar is
a subclass of SQLChar.
+ 9)Override all the collation related methods in the CollatorSQLChar. CollatorSQLChar is
a subclass of SQLChar.
  
- 8)Add subclasses for SQLVarchar, SQLLongvarchar, SQLClob. These subclasses will override
the collation related methods in their superclasses.
+ 10)Add subclasses for SQLVarchar, SQLLongvarchar, SQLClob. These subclasses will override
the collation related methods in their superclasses.
  
- 9)CollatorSQLChar has a method called getCollationElementsForString which currently gets
called by like method. getCollationElementsForString gets the collation elements for the value
of CollatorSQLChar class. But say like method is looking for pattern 'A%' and the value of
CollatorSQLChar is 'BXXXXXXXXXXXXXXXXXXXXXXX'. This is eg of one case where it would have
been better to get collation element one character of CollatorSQLChar value at a time so we
don't go through the process of getting collation elements for the entire string when we don't
really need. This is a performance issue and could be taken up at the end of the implementation.
Comments on this from Dan and Dag can be found in DERBY-2416. 
+ 11)CollatorSQLChar has a method called getCollationElementsForString which currently gets
called by like method. getCollationElementsForString gets the collation elements for the value
of CollatorSQLChar class. But say like method is looking for pattern 'A%' and the value of
CollatorSQLChar is 'BXXXXXXXXXXXXXXXXXXXXXXX'. This is eg of one case where it would have
been better to get collation element one character of CollatorSQLChar value at a time so we
don't go through the process of getting collation elements for the entire string when we don't
really need. This is a performance issue and could be taken up at the end of the implementation.
Comments on this from Dan and Dag can be found in DERBY-2416. 
  
- 10)Add tests for this feature. This a broad umbrella task but I do want to mention 2 specific
tests that we should be testing
+ 12)Add tests for this feature. This a broad umbrella task but I do want to mention 2 specific
tests that we should be testing
  a)Make sure the scale of the character datatypes is always 0 and it didn't get impacted
negatively by the overloading of scale field as collation type in TypeDescriptor.
  b)Test case for recovery - have an outstanding transaction with insert/delete/updates that
affect one or more character indexes (all with a collation setting that is different from
default collation). Make sure those log records get to the log and then crash the server.
Restarting the server will then run through the recovery code and will ensure that we test
for correct collation usage at recovery time. Mike has put more info about this in DERBY-2336.
  

Mime
View raw message