From bc926822dddd05d55678696999e3b8b0fd415570 Mon Sep 17 00:00:00 2001 From: Dennis Kao <ulysseskao@gmail.com> Date: Mon, 10 Mar 2014 12:28:24 +0800 Subject: [PATCH] update for increment and theme jobs --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java index 974237e..93b1a89 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java @@ -1346,7 +1346,7 @@ values[0] = rs.getString("vptname"); values[1] = rs.getShort("vptstatus"); tmpTablenames.add(values); - if ((((Short) values[1]) & DataReposVersionManager.VSSTATUS_USING) != 0) { + if (((Short) values[1]) >= DataReposVersionManager.VSSTATUS_LINKVIEW) { current = i; } i++; @@ -1923,11 +1923,23 @@ Statement stmt = connection.createStatement(); ResultSet rs = null; try { - stmt.execute("CREATE TABLE " + tableName +" AS SELECT * FROM " + tempTable); + boolean found = false; rs = connection.getMetaData().getTables(null, _pgSchema, tableName, new String[]{"TABLE"}); if (rs.next()) { - stmt.execute("ALTER TABLE " + encodeSchemaTableName(_pgSchema, tableName) + - " ADD PRIMARY KEY (tid, oid)"); + found = true; + } + JDBCUtils.close(rs); + + if (!found) { + stmt.execute("CREATE TABLE " + tableName +" AS SELECT * FROM " + tempTable); + rs = connection.getMetaData().getTables(null, _pgSchema, tableName, new String[]{"TABLE"}); + if (rs.next()) { + stmt.execute("ALTER TABLE " + encodeSchemaTableName(_pgSchema, tableName) + + " ADD PRIMARY KEY (tid, oid)"); + } + } else { + stmt.execute("TRUNCATE "+ tableName + " CASCADE"); + stmt.execute("SELECT * INTO " + tableName + " FROM " + tempTable); } stmt.execute("DROP TABLE " + tempTable); } finally { -- Gitblit v0.0.0-SNAPSHOT