Skip to content

Commit

Permalink
hsqldb no longer needs to query a resultsets metadata to see if a col…
Browse files Browse the repository at this point in the history
…umn is autoincrement
  • Loading branch information
chenson42 committed Oct 26, 2011
1 parent e730b1f commit d079240
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 27 deletions.
Expand Up @@ -237,8 +237,6 @@ public long insertWithGeneratedKey(JdbcTemplate jdbcTemplate, final String sql,

/*
* Get the string prepended to the Symmetric configuration tables.
*
* @return
*/
public String getTablePrefix();

Expand Down
Expand Up @@ -182,6 +182,7 @@ protected List<MetaDataColumnDescriptor> initColumnsForColumn()
result.add(new MetaDataColumnDescriptor("DECIMAL_DIGITS", Types.INTEGER, new Integer(0)));
result.add(new MetaDataColumnDescriptor("COLUMN_SIZE", Types.VARCHAR));
result.add(new MetaDataColumnDescriptor("IS_NULLABLE", Types.VARCHAR, "YES"));
result.add(new MetaDataColumnDescriptor("IS_AUTOINCREMENT", Types.VARCHAR, "YES"));
result.add(new MetaDataColumnDescriptor("REMARKS", Types.VARCHAR));

return result;
Expand Down Expand Up @@ -227,7 +228,6 @@ protected List<MetaDataColumnDescriptor> initColumnsForFK()
result.add(new MetaDataColumnDescriptor("FK_NAME", Types.VARCHAR));
result.add(new MetaDataColumnDescriptor("PKCOLUMN_NAME", Types.VARCHAR));
result.add(new MetaDataColumnDescriptor("FKCOLUMN_NAME", Types.VARCHAR));

return result;
}

Expand All @@ -250,7 +250,6 @@ protected List<MetaDataColumnDescriptor> initColumnsForIndex()
result.add(new MetaDataColumnDescriptor("ORDINAL_POSITION", Types.TINYINT, new Short((short)0)));
result.add(new MetaDataColumnDescriptor("COLUMN_NAME", Types.VARCHAR));
result.add(new MetaDataColumnDescriptor("TYPE", Types.TINYINT));

return result;
}

Expand Down Expand Up @@ -833,7 +832,9 @@ protected Column readColumn(DatabaseMetaDataWrapper metaData, Map<String, Object
column.setScale(scale);
}
column.setRequired("NO".equalsIgnoreCase(((String) values.get("IS_NULLABLE")).trim()));
column.setAutoIncrement("NO".equalsIgnoreCase(((String) values.get("IS_AUTOINCREMENT")).trim()));
column.setDescription((String) values.get("REMARKS"));

return column;
}

Expand Down Expand Up @@ -1027,9 +1028,8 @@ protected void readIndex(DatabaseMetaDataWrapper metaData, Map<String,Object> va
protected Map<String,Object> readColumns(ResultSet resultSet, List<MetaDataColumnDescriptor> columnDescriptors) throws SQLException
{
HashMap<String,Object> values = new HashMap<String,Object>();

for (Iterator<MetaDataColumnDescriptor> it = columnDescriptors.iterator(); it.hasNext();)
{
{
MetaDataColumnDescriptor descriptor = it.next();

values.put(descriptor.getName(), descriptor.readColumn(resultSet));
Expand Down
Expand Up @@ -34,8 +34,6 @@

/*
* Reads a database model from a HsqlDb database.
*
* @version $Revision: $
*/
public class HsqlDb2ModelReader extends JdbcModelReader
{
Expand All @@ -52,25 +50,7 @@ public HsqlDb2ModelReader(Platform platform)
}

@Override
protected Table readTable(Connection connection, DatabaseMetaDataWrapper metaData, Map values) throws SQLException
{
Table table = super.readTable(connection, metaData, values);

if (table != null)
{
// For at least version 1.7.2 we have to determine the auto-increment columns
// from a result set meta data because the database does not put this info
// into the database metadata
// Since Hsqldb only allows IDENTITY for primary key columns, we restrict
// our search to those columns
determineAutoIncrementFromResultSetMetaData(connection, table, table.getPrimaryKeyColumns());
}

return table;
}

@Override
protected Column readColumn(DatabaseMetaDataWrapper metaData, Map values) throws SQLException
protected Column readColumn(DatabaseMetaDataWrapper metaData, Map<String,Object> values) throws SQLException
{
Column column = super.readColumn(metaData, values);

Expand All @@ -97,4 +77,5 @@ protected boolean isInternalPrimaryKeyIndex(Connection connection,DatabaseMetaDa

return (name != null) && (name.startsWith("SYS_PK_") || name.startsWith("SYS_IDX_"));
}

}

0 comments on commit d079240

Please sign in to comment.