[hibernate-issues] [Hibernate-JIRA] Closed: (HHH-1629) SchemaUpdate/validator doesn't listen to quoting

Max Rydahl Andersen (JIRA) noreply at atlassian.com
Fri Nov 3 11:22:06 EST 2006


     [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1629?page=all ]
     
Max Rydahl Andersen closed HHH-1629:
------------------------------------

    Fix Version: 3.2.1
     Resolution: Fixed

it is also merged to trunk now. In any case, feedback on it working on "exotic" db/driver combos will be welcome!

> SchemaUpdate/validator doesn't listen to quoting
> ------------------------------------------------
>
>          Key: HHH-1629
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1629
>      Project: Hibernate3
>         Type: Bug

>     Versions: 3.1.2
>  Environment: Hibernate 3.1.2
> Postgres 8.0.4
> Linux
>     Reporter: Nicklas Nordborg
>     Priority: Trivial
>      Fix For: 3.2.1
>  Attachments: AffyFeatureData.hbm.xml, patch-HHH-1629.txt
>
>
> The SchemaUpdate only generates SQL with CREATE TABLE statements and can't update existing tables.
> With debugging turned on the SchemaUpdate reports:
> 11:25:22,599  INFO SchemaUpdate:114 - Running hbm2ddl schema update
> 11:25:22,599  INFO SchemaUpdate:126 - fetching database metadata
> .11:25:22,771  INFO SchemaUpdate:142 - updating schema
> 11:25:22,803  INFO DatabaseMetadata:91 - table not found: AffyFeatures
> 11:25:22,830  INFO DatabaseMetadata:91 - table not found: AnnotationSets
> 11:25:22,855  INFO DatabaseMetadata:91 - table not found: AnnotationTypeItems
> .... and so on for another 100+ tables 
> All tables except two exists in the database. The two new tables are created successfully by SchemaUpdate.
> I attach one of my mapping files (generated by XDoclet). 
> I had a quick look at the SchemaUpdate code (which calls DatabaseMetadata) and I think the problem is that it converts the table names to upper or lower case, even though I have quoted them in the mapping files. If the DatabaseMetadata.getTableMetadata could take a Table object as a parameter instead of the name, schema and catalog, it could check the Table.isQuoted() method before converting any names to upper or lower case. It seems like this method is only used by the Configuration class so it shouldn't be too hard to fix.
> I could do the fix myself, but I will only be able to validate it against Postgres and MySQL using quoted table names. So, others would probably have to validate it agains other databases and using unquoted table names.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira




More information about the hibernate-issues mailing list