conn/DefaultLocale.java test relies on internal Derby api to determine the
database's territory
-----------------------------------------------------------------------------------------------
Key: DERBY-2396
URL: https://issues.apache.org/jira/browse/DERBY-2396
Project: Derby
Issue Type: Bug
Components: Test
Affects Versions: 10.3.0.0
Reporter: Mamta A. Satoor
I think Derby's testing philosphy is that the tests should be using the apis
that are available to an end user ie JDBC api. conn/DefaultLocale.java doesn't
follow this rule. It has a method called checkDatabaseLocale which uses
following internal api to determine the database's territory.
org.apache.derby.iapi.db.Factory.getDatabaseOfConnection().getLocale().toString();
The tests i18n/urlLocale and i18n/messageLocale rely on conn/DefaultLocale's
checkDatabaseLocale implementation.
Derby provides SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY function to determine the
value of a property. For instance, if I create a database with attribute
logDevice=c:/dellater1 then I can later find the location of database's
logDevice by following statement
VALUES SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('logDevice')
But for some reason, I can't use the same for the territory attribute.
I tried
VALUES SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('territory')
but it returned null.
I tried referencing the territory attribute by it's name in services.properties
and that didn't work either
VALUES SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.serviceLocale")
So, I guess there are 2 steps involved
1)Why isn't there a way to find the value of the territory attribute?
2)Once we know the answer to 1) and possibly fix it, then change the
conn/DefaultLocale.java test to use the documented way of getting the territory
rather than internal Derby api.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.