From e903948eb1781d530574e172af73fbd199fe547a Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Fri, 29 Sep 2006 01:28:53 +0000 Subject: [PATCH] Always update then insert in case for whatever reason the zeroth schema version is not one (like for ItemRecord). --- .../com/samskivert/jdbc/depot/DepotMarshaller.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/java/com/samskivert/jdbc/depot/DepotMarshaller.java b/src/java/com/samskivert/jdbc/depot/DepotMarshaller.java index 5617b90..5aef6b2 100644 --- a/src/java/com/samskivert/jdbc/depot/DepotMarshaller.java +++ b/src/java/com/samskivert/jdbc/depot/DepotMarshaller.java @@ -540,14 +540,16 @@ public class DepotMarshaller protected void updateVersion (Connection conn, int version) throws SQLException { - String query = (version == 1) ? - "insert into " + SCHEMA_VERSION_TABLE + - " values('" + getTableName() + "', " + version + ")" : - "update " + SCHEMA_VERSION_TABLE + " set version = " + version + + String update = "update " + SCHEMA_VERSION_TABLE + + " set version = " + version + " where persistentClass = '" + getTableName() + "'"; + String insert = "insert into " + SCHEMA_VERSION_TABLE + + " values('" + getTableName() + "', " + version + ")"; Statement stmt = conn.createStatement(); try { - stmt.executeUpdate(query); + if (stmt.executeUpdate(update) == 0) { + stmt.executeUpdate(insert); + } } finally { stmt.close(); }