Merge pull request #1843 from xtuple/4_6_x
[xtuple] / lib / orm / source / xt / functions / create_schema.sql
1 create or replace function xt.create_schema(sch text) returns boolean volatile as $$
2 declare
3   count integer;
4   query text;
5 begin
6
7   /* Only create the schema if it hasn't been created already */
8   perform *
9   from information_schema.schemata
10   where schema_name = sch;
11
12   get diagnostics count = row_count;
13
14   if (count > 0) then
15     return false;
16   end if;
17
18   query = 'create schema ' || sch || ';' ||
19            'grant all on schema ' || sch || ' to group xtrole;';
20   execute query;
21
22   return true;
23
24 end;
25 $$ language 'plpgsql';