Merge pull request #3 from xtuple/master
[xtuple] / enyo-client / database / source / delete_system_orms.sql
1
2 DO $$
3  /* Copyright (c) 1999-2011 by OpenMFG LLC, d/b/a xTuple.
4      See www.xm.ple.com/CPAL for the full text of the software license. */
5
6   var sql = "select pkghead_version from pkghead where pkghead_name = 'xt';",
7     update = false,
8     updVersion = '1.3.4',
9     pkgVersion,
10     result,
11     viewname,
12     i;
13
14   result = plv8.execute(sql);
15   if (result.length) {
16     pkgVersion = result[0].pkghead_version.split();
17     updVersion = updVersion.split();
18     if (pkgVersion.length === updVersion.length) {
19       while (pkgVersion.length) {
20         if (pkgVersion.shift() < updVersion.shift()) {
21           update = true;
22           break;
23         }
24       }
25     }
26   }
27   if (update) {
28     sql = "select viewname from pg_views where schemaname = 'xm';"
29     result = plv8.execute(sql);
30     for (i = 0; i < result.length; i++) {
31       viewname = result[i].viewname;
32       plv8.execute('drop view if exists xm.' + viewname + ' cascade;');
33     }
34
35     plv8.execute("select xt.js_init()");
36     plv8.execute("delete from xt.orm where orm_json ~ '\"isSystem\":true';");
37   }
38
39 $$ language plv8;