1 | CREATE USER mythtv |
---|
2 | WITH PASSWORD 'mythtv' |
---|
3 | NOCREATEDB NOCREATEUSER; |
---|
4 | |
---|
5 | CREATE DATABASE mythconverg |
---|
6 | WITH OWNER = mythtv |
---|
7 | ENCODING = 'UNICODE' |
---|
8 | TABLESPACE = pg_default; |
---|
9 | |
---|
10 | \c mythconverg |
---|
11 | |
---|
12 | CREATE FUNCTION "plpgsql_call_handler" () RETURNS language_handler AS '$libdir/plpgsql' LANGUAGE C; |
---|
13 | |
---|
14 | CREATE TRUSTED LANGUAGE "plpgsql" HANDLER "plpgsql_call_handler"; |
---|
15 | |
---|
16 | \c mythconverg mythtv |
---|
17 | |
---|
18 | |
---|
19 | CREATE OR REPLACE FUNCTION drop_table_if_exists(text, bool) RETURNS bool AS ' |
---|
20 | DECLARE |
---|
21 | opt text; |
---|
22 | rec record; |
---|
23 | BEGIN |
---|
24 | IF $2 THEN |
---|
25 | opt := '' CASCADE''; |
---|
26 | ELSE |
---|
27 | opt := ''''; |
---|
28 | END IF; |
---|
29 | |
---|
30 | SELECT INTO rec oid FROM pg_class WHERE relname = $1::name; |
---|
31 | |
---|
32 | |
---|
33 | IF FOUND THEN |
---|
34 | EXECUTE ''DROP TABLE '' || $1 || opt; |
---|
35 | RETURN true; |
---|
36 | END IF; |
---|
37 | |
---|
38 | |
---|
39 | RETURN false; |
---|
40 | END; |
---|
41 | ' LANGUAGE plpgsql; |
---|
42 | |
---|
43 | CREATE OR REPLACE FUNCTION int4_to_bool(int4) |
---|
44 | RETURNS bool AS |
---|
45 | 'select case when $1 = 0 then false else true end' |
---|
46 | LANGUAGE 'sql' VOLATILE; |
---|
47 | ALTER FUNCTION int4_to_bool(int4) OWNER TO mythtv; |
---|
48 | |
---|
49 | CREATE OR REPLACE FUNCTION int2_to_bool(int2) |
---|
50 | RETURNS bool AS |
---|
51 | 'select case when $1 = 0 then false else true end' |
---|
52 | LANGUAGE 'sql' VOLATILE; |
---|
53 | ALTER FUNCTION int2_to_bool(int2) OWNER TO mythtv; |
---|
54 | |
---|
55 | CREATE OR REPLACE FUNCTION bool_to_int2(bool) |
---|
56 | RETURNS int2 AS |
---|
57 | 'select case when $1 then 1::int2 else 0::int2 end' |
---|
58 | LANGUAGE 'sql' VOLATILE; |
---|
59 | ALTER FUNCTION bool_to_int2(bool) OWNER TO mythtv; |
---|
60 | |
---|
61 | \c mythconverg postgres |
---|
62 | |
---|
63 | CREATE CAST (int4 AS bool) |
---|
64 | WITH FUNCTION int4_to_bool(int4) |
---|
65 | AS IMPLICIT; |
---|
66 | |
---|
67 | CREATE CAST (int2 AS bool) |
---|
68 | WITH FUNCTION int2_to_bool(int2) |
---|
69 | AS IMPLICIT; |
---|
70 | |
---|
71 | CREATE CAST (bool AS int2) |
---|
72 | WITH FUNCTION bool_to_int2(bool) |
---|
73 | AS IMPLICIT; |
---|