You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Rick Hillegas (JIRA)" <ji...@apache.org> on 2012/10/29 14:28:12 UTC

[jira] [Updated] (DERBY-5967) Create some type mapping functions for use in turning JDBC type information into human-readable strings.

     [ https://issues.apache.org/jira/browse/DERBY-5967?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rick Hillegas updated DERBY-5967:
---------------------------------

    Attachment: TypeMapper.java
    
> Create some type mapping functions for use in turning JDBC type information into human-readable strings.
> --------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5967
>                 URL: https://issues.apache.org/jira/browse/DERBY-5967
>             Project: Derby
>          Issue Type: Improvement
>          Components: Tools
>    Affects Versions: 10.10.0.0
>            Reporter: Rick Hillegas
>         Attachments: TypeMapper.java
>
>
> I will attach a set of type mapping functions which turn JDBC type information into human-readable type names. The two functions do the following:
> mapType() - This function turns the JDBC type info into an SQL type name suitable for use in a Derby CREATE TABLE statement.
> mapToJavaType() - This turns the JDBC type info into the corresponding Java type name given in table B-3 of the JDBC spec.
> I am posting these functions in response to the following discussion on derby-user: http://old.nabble.com/export-from-systables-to34607734.html#a34607734
> Here is an example of how to use these functions in conjunction with the DatabaseMetaData wrapper functions attached to DERBY-3973:
> connect 'jdbc:derby:memory:db;create=true';
> create procedure registerPublicStaticMethods( in connectionURL varchar( 200 ), in printSQL boolean )
> language java parameter style java modifies sql data
> external name 'DBMDWrapper.registerPublicStaticMethods';
> call registerPublicStaticMethods( 'jdbc:default:connection', false );
> create function mapType( jdbcType int, precision int, scale int, foreignTypeName varchar( 100 ) )
> returns varchar( 100 )
> language java parameter style java deterministic no sql
> external name 'TypeMapper.mapType';
> create function mapToJavaType( jdbcType int, foreignTypeName varchar( 100 ) )
> returns varchar( 100 )
> language java parameter style java deterministic no sql
> external name 'TypeMapper.mapToJavaType';
> select c.table_schem, c.table_name, c.column_name,
>        mapType( c.data_type, c.column_size, c.decimal_digits, c.type_name ),
>        mapToJavaType( c.data_type, c.type_name )
> from table( getColumns( null, null, '%', '%' ) ) c;

--
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