[
https://issues.apache.org/jira/browse/DERBY-6264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13686691#comment-13686691
]
Rick Hillegas commented on DERBY-6264:
--------------------------------------
Concerning PropertyInfo: The header comment of this class uses the term
"SQL-J". That was the original name for the Cloudscape SQL dialect fifteen
years ago. That suggests that this code is very old indeed. According to the
header comment, the methods are meant to be called by user-written functions
and procedures.
At one point you could have registered these methods as functions. However, due
to DERBY-2330, you can't do that anymore. Nevertheless, you can subvert the
intent of DERBY-2330 by writing your own static methods which forward to the
PropertyInfo methods. E.g., you could write this class...
import java.sql.SQLException;
import java.util.Properties;
import org.apache.derby.iapi.db.PropertyInfo;
public class zz
{
public static Properties getTableProperties( String schemaName, String
tableName )
throws SQLException
{
return PropertyInfo.getTableProperties( schemaName, tableName );
}
}
...and then run this ij script...
connect 'jdbc:derby:memory:db;create=true';
create type Properties external name 'java.util.Properties' language java;
create function getTableProperties( schemaName varchar( 32672 ), tableName
varchar( 32672 ) )
returns Properties
language java parameter style java contains sql
external name 'zz.getTableProperties';
values getTableProperties( 'SYS', 'SYSTABLES' );
But PropertyInfo is not part of the public api. Whatever guarantees Cloudscape
might have given, Derby does not support the use of these methods by
customer-written code. I would be comfortable with either of the following
options:
i) Remove the unused methods.
ii) Write JUnit tests which register and exercise the wrapping functions, as
shown above.
Thanks,
-Rick
> Improve test coverage of org.apache.derby.iapi.db.PropertyInfo
> --------------------------------------------------------------
>
> Key: DERBY-6264
> URL: https://issues.apache.org/jira/browse/DERBY-6264
> Project: Derby
> Issue Type: Sub-task
> Components: Test
> Reporter: Bryan Pendleton
> Assignee: ahsan shamsudeen
> Priority: Minor
>
> According to the coverage reports, only 1 of the 5 methods in
> org.apache.derby.iapi.db.PropertyInfo is exercised by the Derby
> regression tests.
> This sub-task is to improve that test coverage.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira