db-ddlutils-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Dudziak (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (DDLUTILS-3) Column names are different case between getInstance and query in DynaSql
Date Sun, 31 Jul 2005 19:18:44 GMT
     [ http://issues.apache.org/jira/browse/DDLUTILS-3?page=all ]
Thomas Dudziak resolved DDLUTILS-3:

    Resolution: Fixed

The fix for DDLUTILS-2 includes the matching of columns to properties. This however depends
upon the jdbc driver which must return the table names in the result set meta data. Eg. for
PostgreSQL this doesn't work because the driver does not return any info.
I don't think I'll add a query parser. If need be I could however add the ability to provide
hints as to which tables are queried against (as additional arguments to query/fetch).

> Column names are different case between getInstance and query in DynaSql
> ------------------------------------------------------------------------
>          Key: DDLUTILS-3
>          URL: http://issues.apache.org/jira/browse/DDLUTILS-3
>      Project: DdlUtils
>         Type: Bug
>  Environment: HSQLDB
>     Reporter: Dave Sunerton-Burl
>     Assignee: Thomas Dudziak

> When getting a DynaBean using getInstance("TABLE_NAME") the property names are uppercase.
When getting a DynaBean from an Iterator using query("SELECT * FROM TABLE_NAME") the properties
are lowercase. This means that the copy() method returns a DynaBean where all the properties
are null, which makes doing updates difficult.
> I have a test method in my code which shows this problem;
>     public void testColumnNames() throws Exception {
>         JdbcModelReader reader = new JdbcModelReader(loaderDb.getDataSource()
>                 .getConnection());
>         Database database = reader.getDatabase();
>         DynaSql dynaSql = new DynaSql(
>                 SqlBuilderFactory.newSqlBuilder("hsqldb"), loaderDb
>                         .getDataSource(), database);
>         DynaBean beanFromSchema = dynaSql.newInstance("TEST");
>         Iterator iter = dynaSql.query("SELECT * FROM TEST");
>         DynaBean beanFromQuery = (DynaBean) iter.next();
>         assertEquals(beanFromSchema.getDynaClass().getDynaProperties()[0]
>                 .getName(), beanFromQuery.getDynaClass().getDynaProperties()[0]
>                 .getName());
>     }

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message