Merge branch '4_7_x' of https://github.com/xtuple/xtuple into i24559_xtlocks
[xtuple] / enyo-client / database / source / wipe_views.sql
index 87ec0d3..b921575 100644 (file)
@@ -1,19 +1,16 @@
-DO $$
+do $$
  /* Copyright (c) 1999-2014 by OpenMFG LLC, d/b/a xTuple.
      See www.xm.ple.com/CPAL for the full text of the software license. */
-
-  var sql,
-    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;');
-  }
-
-$$ language plv8;
+declare
+  sqlstring text;
+begin
+  select string_agg('drop view ' || t.oid::regclass || ';', ' ') 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;
+end
+$$;