back out incorrect view deletion change - probably don't need it anyway
authorGil Moskowitz <gilmoskowitz@acm.org>
Fri, 3 Oct 2014 18:57:23 +0000 (14:57 -0400)
committerGil Moskowitz <gilmoskowitz@acm.org>
Fri, 3 Oct 2014 18:57:23 +0000 (14:57 -0400)
enyo-client/database/source/delete_system_orms.sql

index 8748439..dc1cfbc 100644 (file)
@@ -1,21 +1,23 @@
-do $$
+DO $$
  /* Copyright (c) 1999-2014 by OpenMFG LLC, d/b/a xTuple.
-    See www.xtuple.com/CPAL for the full text of the software license. */
-  declare
-    sqlstring text;
-  begin
-  select string_agg('drop view if exists ' || t.oid::regclass || ' cascade;', ' ') into sqlstring
-    from pg_class t
-    join pg_namespace n on n.oid = relnamespace
-   where relkind = 'v'
-     and nspname in ('xm','sys', 'xt');
-  if length(sqlstring) > 0 then
-    execute sqlstring;
-  end if;
+     See www.xm.ple.com/CPAL for the full text of the software license. */
 
-  plv8.execute("select xt.js_init();");
-  plv8.execute("alter table xt.orm disable trigger orm_did_change;");
+  var result,
+    viewname,
+    schemaname,
+    i;
+
+  sql = "select schemaname, viewname from pg_views where schemaname in ('xm','sys', 'xt');"
+  result = plv8.execute(sql);
+  for (i = 0; i < result.length; i++) {
+    viewname = result[i].viewname;
+    schemaname = result[i].schemaname;
+    plv8.execute('drop view if exists ' + schemaname + '.' + viewname + ' cascade;');
+  }
+
+  plv8.execute("select xt.js_init()");
+  plv8.execute("alter table xt.orm disable trigger orm_did_change");
   plv8.execute("delete from xt.orm where orm_json ~ '\"isSystem\":true';");
-  plv8.execute("alter table xt.orm enable trigger orm_did_change;");
+  plv8.execute("alter table xt.orm enable trigger orm_did_change");
 
 $$ language plv8;