Ticket #240: pg.sql

File pg.sql, 1.6 KB (added by fvilas@…, 19 years ago)

Needed to init the database, like database/mc.sql

Line 
1CREATE USER mythtv
2  WITH PASSWORD 'mythtv'
3  NOCREATEDB NOCREATEUSER;
4
5CREATE DATABASE mythconverg
6  WITH OWNER = mythtv
7       ENCODING = 'UNICODE'
8       TABLESPACE = pg_default;
9
10\c mythconverg
11
12CREATE FUNCTION "plpgsql_call_handler" () RETURNS language_handler AS '$libdir/plpgsql' LANGUAGE C;
13
14CREATE TRUSTED LANGUAGE "plpgsql" HANDLER "plpgsql_call_handler";
15
16\c mythconverg mythtv
17
18
19CREATE 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;
40END;
41' LANGUAGE plpgsql;
42
43CREATE 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;
47ALTER FUNCTION int4_to_bool(int4) OWNER TO mythtv;
48
49CREATE 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;
53ALTER FUNCTION int2_to_bool(int2) OWNER TO mythtv;
54
55CREATE 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;
59ALTER FUNCTION bool_to_int2(bool) OWNER TO mythtv;
60
61\c mythconverg postgres
62
63CREATE CAST (int4 AS bool)
64  WITH FUNCTION int4_to_bool(int4)
65  AS IMPLICIT;
66
67CREATE CAST (int2 AS bool)
68  WITH FUNCTION int2_to_bool(int2)
69  AS IMPLICIT;
70
71CREATE CAST (bool AS int2)
72  WITH FUNCTION bool_to_int2(bool)
73  AS IMPLICIT;