diff --git a/src/main/java/com/samskivert/jdbc/HsqldbLiaison.java b/src/main/java/com/samskivert/jdbc/HsqldbLiaison.java index e605891f..3ab6cf57 100644 --- a/src/main/java/com/samskivert/jdbc/HsqldbLiaison.java +++ b/src/main/java/com/samskivert/jdbc/HsqldbLiaison.java @@ -16,9 +16,10 @@ import java.sql.ResultSet; import java.sql.Statement; import java.sql.SQLException; -import com.samskivert.jdbc.ColumnDefinition; import com.samskivert.util.ArrayUtil; +import static com.samskivert.Log.log; + /** * Handles liaison for HSQLDB. */ @@ -53,7 +54,19 @@ public class HsqldbLiaison extends BaseLiaison String columnName, int initValue) throws SQLException { - // HSQL's IDENTITY() does not create any database entities + if (initValue == 1) { + return; // that's the default! yay, do nothing + } + + Statement stmt = conn.createStatement(); + try { + stmt.execute("alter table " + tableSQL(tableName) + + " alter column " + columnSQL(columnName) + + " restart with " + initValue); + } finally { + JDBCUtil.close(stmt); + } + log.info("Initial value of " + tableName + ":" + columnName + " set to " + initValue + "."); } // from DatabaseLiaison