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 Tue, 05 Jun 2007 06:56:49 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

------------------------------------------------------------------------------
  their store metadata. For any conglomerate created in a 10.3 new database or a 10.3 hard
  upgraded database a new version would be used in Store to include information about the
collation for each column's metadata stored. This means that during upgrade, store needs to
change the sturcture of column level metadata to include collate information.
  
- 2)Currently, store uses Monitor to create DVD template rows. The logic of creating DVDs
using formatids should be factored out from Monitor into DataValueFactory. Talking in terms
of code, RowUtil.newClassInfoTemplate should call DVF.classFromIdentifier rather than Monitor.classFromIdentifier.
There might be more apis in Monitor which can be/should be moved to DVF in order to keep all
data type related code in DVF. More discussion on this topic can be found at http://www.nabble.com/how-should-store-get-an-object-based-on-format-id-and-collation-id--tf3562574.html#a9950394
- 
- 3)This item is related to item 2. With Derby 10.3, collation type will be the additional
metadata in store for each column. When store will call DVF 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.
- 
- 4)This item is related to item 3. When DVF gets called by store to create right DVD for
given formatid and collation type, for formatids associated with character datatypes, it will
first create the base character datatype class which is say SQLChar. Then it will call getValue
method on the DVD with the RuleBasedCollator corresponding to the collation type as the parameter.
(This RuleBasedCollator will be null for UCS_BASIC collation). The getValue method will return
SQLChar or CollatorSQLChar depending on whether RuleBasedCollator is null or not. getValue
is the new method which needs to be added to the interface StringDataValue.
- 
- 5)Check if any code needs to go in for sorter. Not sure if this falls under Language or
Store section. Mike pointed out that Derby has some template code specific to sorter.
+ 2)Check if any code needs to go in for sorter. Not sure if this falls under Language or
Store section. Mike pointed out that Derby has some template code specific to sorter.
  
  '''[[GetText(Testing)]]'''
  
@@ -209, +203 @@

  
  1)DERBY-2534 Add new api "public StringDataValue getValue(RuleBasedCollator)" on StringDataValue.
This method will return either the base DVDs for char datatypes or it will return collation
sensitive DVD for char datatypes. As part of this Jira entry, added api which will allow Derby's
store code to construct the right character type DVD based on the collation type. The changes
for this went in as revision 526668.
  
+ '''[[GetText(Store)]]'''
+ 
+ 1)In Derby 10.2, store uses Monitor to create DVD template rows. The logic of creating DVDs
using formatids has been factored out from Monitor into DataValueFactory. This way, all data
type related code will go in DVF. More discussion on this topic can be found at http://www.nabble.com/how-should-store-get-an-object-based-on-format-id-and-collation-id--tf3562574.html#a9950394
+ 
+ 2)This item is related to item 1. With Derby 10.3, collation type will be the additional
metadata in store for each column. So, when store calls DVF to create DVD template row, it
passes the formatids and the collation types. DVF assoicates 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 is set on DVF using
a new method on DVF called void setLocale(Locale). This call is made by BasicDatabase after
DVF has finished booting and before store starts booting.
+ 
+ 3)This item is related to item 2. When DVF gets called by store to create right DVD for
given formatid and collation type, for formatids associated with character datatypes, it 
first creates the base character datatype class which is say SQLChar. Then it calls getValue
method on the DVD with the RuleBasedCollator corresponding to the collation type as the parameter.
(This RuleBasedCollator will be null for UCS_BASIC collation). The getValue method returns
SQLChar or CollatorSQLChar depending on whether RuleBasedCollator is null or not. getValue
is the new method which has been added to the interface StringDataValue.
+ 
  == Related Pages ==
  
  Until DERBY-1478 is implemented, ["LanguageBasedOrdering"] page provides an intermediate
solution to achieve language based ordering.

Mime
View raw message