[
https://issues.apache.org/jira/browse/DERBY-2334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mamta A. Satoor updated DERBY-2334:
-----------------------------------
Attachment: DERBY2334_AcceptCollationAttribute_diff_V01.txt
DERBY2334_AcceptCollationAttribute_stat_V01.txt
As a first step towards DERBY-1478 (Add built in language based ordering and
like processing to Derby), I have a patch
(DERBY2334_AcceptCollationAttribute_diff_V01.txt) which accepts the collation
attribute at database create time and saves it in services.properties file.
This value can later be retrieved using VALUES
SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('collation');
The files impacted by this patch are as follows (also attached as
DERBY2334_AcceptCollationAttribute_stat_V01.txt to this Jira entry).
M java\engine\org\apache\derby\impl\services\monitor\BaseMonitor.java
M java\engine\org\apache\derby\iapi\services\property\PropertyUtil.java
M java\engine\org\apache\derby\iapi\reference\Attribute.java
M java\engine\org\apache\derby\iapi\reference\Property.java
M java\engine\org\apache\derby\jdbc\Driver20.java
M java\engine\org\apache\derby\loc\messages.xml
M java\shared\org\apache\derby\shared\common\reference\SQLState.java
M java\shared\org\apache\derby\shared\common\reference\MessageId.java
M
java\testing\org\apache\derbyTesting\functionTests\master\GetPropertyInfoTest.out
Patch description is brief
1)Changes in BaseMonitor.java does the job of fetching and validating the
collation attribute from the url so that it can be saved in services.properties
file. If no collation attribute specified, then it gets initialized to
UCS_BASIC.
2)Added collation attribute to the list of properties that get saved in
services.properties file. This change went into PropertyUtil.java
3)All the JDBC attributes are defined in Attribute.java. Added collation to
that file.
4)The 2 valid values for collation attribute are defined in Property.java. They
are UCS_BASIC and TERRITORY_BASED_COLLATION
5)Changes in Driver20 class adds the new string attribute so it can be detected
by the generic GUI tools through getPropertyInfo method.***(question at the
bottom on this comment)
6)Added new SQLState and message id for new attribute in messages.xml,
SQLState.java and MessageId.java
7)Needed to update master GetPropertyInfoTest.out so it is aware of the new
collation attribute.
I ran Junit tests and derbyall on Windows XP with Sun's jdk14 and there were no
new failures.
***One question I have is that we don't populate choices for value based JDBC
url attributes in jdbc/Driver20.java's getPropertyInfo method). For boolean
attributes, we specify the choices as true and false (line 259). We don't
specify the valid list of choices for value based attributes. That might be
because for the existing value based attributes, there are no specific Derby
defined values. For instance, the existing territory attribute can accept many
different kinds of values which are defined by ISO-639 adn ISO-3166 and hence
we can't really give those choices out through getPropertyInfo method. I am
wondering if I should spend the time in specifying the
2 valid choices for the new collation attribute through getPropertyInfo method.
If we decide to do this, we will have to make sure that we maintain that
choices list for collation as and when Derby starts supporting new value for
collation in future.
> Accept the new collation attribute and store it in services.properties file.
> Will be used for language based collation ordering.
> --------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-2334
> URL: https://issues.apache.org/jira/browse/DERBY-2334
> Project: Derby
> Issue Type: Sub-task
> Components: JDBC
> Affects Versions: 10.3.0.0
> Reporter: Mamta A. Satoor
> Assigned To: Mamta A. Satoor
> Attachments: DERBY2334_AcceptCollationAttribute_diff_V01.txt,
> DERBY2334_AcceptCollationAttribute_stat_V01.txt
>
>
> A user would specify the collation desired (UCS_BASIC or
> TERRITORY_BASED_COLLATION) through the new jdbc url attribute - collation.
> This attribute will be used to determine collation ordering for character
> datatypes,
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.