[hibernate-commits] Hibernate SVN: r14072 - branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Tue Oct 9 13:58:42 EDT 2007
Author: dan.j.allen
Date: 2007-10-09 13:58:42 -0400 (Tue, 09 Oct 2007)
New Revision: 14072
Modified:
branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect/H2MetaDataDialect.java
Log:
HBX-965 - conditionally exclude catalog name in H2 if using builds < 55
HBX-961 - fix invalid column name in suggested primary key query
Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect/H2MetaDataDialect.java
===================================================================
--- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect/H2MetaDataDialect.java 2007-10-09 15:38:29 UTC (rev 14071)
+++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/dialect/H2MetaDataDialect.java 2007-10-09 17:58:42 UTC (rev 14072)
@@ -8,6 +8,7 @@
import java.util.Map;
import org.hibernate.util.StringHelper;
+import org.hibernate.util.ReflectHelper;
/**
@@ -18,16 +19,35 @@
*/
public class H2MetaDataDialect extends JDBCMetaDataDialect {
- /*protected void putTablePart(Map element, ResultSet tableRs) throws SQLException {
+ private static boolean understandsCatalogName = true;
+
+ public H2MetaDataDialect() {
+ super();
+ try {
+ Class constants = ReflectHelper.classForName( "org.h2.engine.Constants" );
+ Integer build = (Integer)constants.getDeclaredField( "BUILD_ID" ).get( null );
+ if ( build.intValue() < 55 ) {
+ understandsCatalogName = false;
+ }
+ }
+ catch( Throwable e ) {
+ // ignore (probably H2 not in the classpath)
+ }
+ }
+
+ protected void putTablePart(Map element, ResultSet tableRs) throws SQLException {
super.putTablePart( element, tableRs );
- element.put("TABLE_CAT", null);
+ if ( !understandsCatalogName ) {
+ element.put( "TABLE_CAT", null );
+ }
}
protected void putExportedKeysPart(Map element, ResultSet rs) throws SQLException {
super.putExportedKeysPart( element, rs );
- element.put( "PKTABLE_CAT", null);
- element.put( "FKTABLE_CAT", null);
- }*/
+ if ( !understandsCatalogName ) {
+ element.put( "PKTABLE_CAT", null );
+ }
+ }
public Iterator getSuggestedPrimaryKeyStrategyName(String catalog, String schema, String table) {
try {
@@ -46,7 +66,7 @@
"AND idx.PRIMARY_KEY = TRUE " +
"AND COLUMN_DEFAULT like '%NEXT VALUE FOR%' ";
if(catalog!=null) {
- sql += "AND idx.TABLE_CATNAME like '" + catalog + "' ";
+ sql += "AND idx.TABLE_CATALOG like '" + catalog + "' ";
}
if(schema!=null) {
sql += "AND idx.TABLE_SCHEMA like '" + schema + "' ";
More information about the hibernate-commits
mailing list