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;
|
---|