Always update then insert in case for whatever reason the zeroth schema version

is not one (like for ItemRecord).


git-svn-id: https://samskivert.googlecode.com/svn/trunk@1933 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2006-09-29 01:28:53 +00:00
parent 504cd21b7c
commit 09ac6097a6
@@ -540,14 +540,16 @@ public class DepotMarshaller<T>
protected void updateVersion (Connection conn, int version) protected void updateVersion (Connection conn, int version)
throws SQLException throws SQLException
{ {
String query = (version == 1) ? String update = "update " + SCHEMA_VERSION_TABLE +
"insert into " + SCHEMA_VERSION_TABLE + " set version = " + version +
" values('" + getTableName() + "', " + version + ")" :
"update " + SCHEMA_VERSION_TABLE + " set version = " + version +
" where persistentClass = '" + getTableName() + "'"; " where persistentClass = '" + getTableName() + "'";
String insert = "insert into " + SCHEMA_VERSION_TABLE +
" values('" + getTableName() + "', " + version + ")";
Statement stmt = conn.createStatement(); Statement stmt = conn.createStatement();
try { try {
stmt.executeUpdate(query); if (stmt.executeUpdate(update) == 0) {
stmt.executeUpdate(insert);
}
} finally { } finally {
stmt.close(); stmt.close();
} }