Grant 'ADMIN' role the ext and it's dependencies.
authorBen Thompson <ben@xtuple.com>
Wed, 11 Jun 2014 17:37:45 +0000 (13:37 -0400)
committerBen Thompson <ben@xtuple.com>
Wed, 11 Jun 2014 17:37:45 +0000 (13:37 -0400)
scripts/lib/build_database_util.js

index e2f85ec..0cbb145 100644 (file)
@@ -314,14 +314,23 @@ regexp:true, undef:true, strict:true, trailing:true, white:true */
           // register extension and dependencies
           extensionSql = 'do $$ plv8.elog(NOTICE, "About to register extension ' +
             extensionName + '"); $$ language plv8;\n' + extensionSql;
+
           registerSql = "select xt.register_extension('%@', '%@', '%@', '', %@);\n"
             .f(extensionName, extensionComment, options.extensionLocation, loadOrder);
 
+          var grantExtToAdmin = "select xt.grant_role_ext('ADMIN', '%@');\n"
+            .f(extensionName);
+
+          extensionSql = grantExtToAdmin + extensionSql;
+
           dependencies = manifest.dependencies || [];
           _.each(dependencies, function (dependency) {
             var dependencySql = "select xt.register_extension_dependency('%@', '%@');\n"
-              .f(extensionName, dependency);
-            extensionSql = dependencySql + extensionSql;
+                .f(extensionName, dependency),
+              grantDependToAdmin = "select xt.grant_role_ext('ADMIN', '%@');\n"
+                .f(dependency);
+
+            extensionSql = dependencySql + grantDependToAdmin + extensionSql;
           });
           extensionSql = registerSql + extensionSql;
         }