You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by "Thomas Dudziak (JIRA)" <ji...@apache.org> on 2005/07/31 21:18:44 UTC
[jira] Resolved: (DDLUTILS-3) Column names are different case between getInstance and query in DynaSql
[ 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:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira