disableSql = "ALTER TABLE " + tableName + " DISABLE TRIGGER ALL;";
-
insertSql = "insert into " + tableName + " (report_name, report_descrip, " +
"report_source, report_loaddate, report_grade) select " +
"'" + name + "'," +
tableName = defaultSchema ? defaultSchema + ".pkgscript" : "unknown",
notes = "", //"xtMfg package",
disableSql,
- deleteSql,
insertSql,
+ updateSql,
enableSql;
disableSql = "ALTER TABLE " + tableName + " DISABLE TRIGGER ALL;";
- deleteSql = "delete from " + tableName + " " +
- "where script_name = '" + name +
- "';";
-
insertSql = "insert into " + tableName + " (script_name, script_order, script_enabled, " +
- "script_source, script_notes) VALUES (" +
+ "script_source, script_notes) select " +
"'" + name + "', 0, TRUE, " +
"$$" + content + "$$," +
- "'" + notes + "');";
+ "'" + notes + "'" +
+ " where not exists (select c.script_id from " + tableName + " c " +
+ "where script_name = '" + name + "');";
+
+ updateSql = "update " + tableName + " set " +
+ "script_name = '" + name + "', script_order = 0, script_enabled = TRUE, " +
+ "script_source = $$" + content +
+ "$$, script_notes = '" + notes + "' " +
+ "where script_name = '" + name + "';";
enableSql = "ALTER TABLE " + tableName + " ENABLE TRIGGER ALL;";
- return disableSql + deleteSql + insertSql + enableSql;
+ return disableSql + insertSql + updateSql + enableSql;
};
var convertFromUiform = function (content, filename, defaultSchema) {
tableName = defaultSchema ? defaultSchema + ".pkguiform" : "unknown",
notes = "", //"xtMfg package",
disableSql,
- deleteSql,
insertSql,
+ updateSql,
enableSql;
disableSql = "ALTER TABLE " + tableName + " DISABLE TRIGGER ALL;";
- deleteSql = "delete from " + tableName + " " +
- "where uiform_name = '" + name +
- "';";
-
insertSql = "insert into " + tableName + " (uiform_name, uiform_order, uiform_enabled, " +
- "uiform_source, uiform_notes) VALUES (" +
+ "uiform_source, uiform_notes) select " +
"'" + name + "', 0, TRUE, " +
"$$" + content + "$$," +
- "'" + notes + "');";
+ "'" + notes + "' " +
+ " where not exists (select c.uiform_id from " + tableName + " c " +
+ "where uiform_name = '" + name + "');";
+
+ updateSql = "update " + tableName + " set uiform_name = '" +
+ name + "', uiform_order = 0, uiform_enabled = TRUE, " +
+ "uiform_source = $$" + content + "$$, uiform_notes = '" + notes + "' " +
+ "where uiform_name = '" + name + "';";
enableSql = "ALTER TABLE " + tableName + " ENABLE TRIGGER ALL;";
- return disableSql + deleteSql + insertSql + enableSql;
+ return disableSql + insertSql + updateSql + enableSql;
};
var conversionMap = {