1 /* contrib/tablefunc/tablefunc--1.0.sql */
3 -- complain if script is sourced in psql, rather than via CREATE EXTENSION
4 \echo Use "CREATE EXTENSION tablefunc" to load this file. \quit
6 CREATE FUNCTION normal_rand(int4, float8, float8)
8 AS 'MODULE_PATHNAME','normal_rand'
9 LANGUAGE C VOLATILE STRICT;
11 -- the generic crosstab function:
12 CREATE FUNCTION crosstab(text)
14 AS 'MODULE_PATHNAME','crosstab'
15 LANGUAGE C STABLE STRICT;
17 -- examples of building custom type-specific crosstab functions:
18 CREATE TYPE tablefunc_crosstab_2 AS
25 CREATE TYPE tablefunc_crosstab_3 AS
33 CREATE TYPE tablefunc_crosstab_4 AS
42 CREATE FUNCTION crosstab2(text)
43 RETURNS setof tablefunc_crosstab_2
44 AS 'MODULE_PATHNAME','crosstab'
45 LANGUAGE C STABLE STRICT;
47 CREATE FUNCTION crosstab3(text)
48 RETURNS setof tablefunc_crosstab_3
49 AS 'MODULE_PATHNAME','crosstab'
50 LANGUAGE C STABLE STRICT;
52 CREATE FUNCTION crosstab4(text)
53 RETURNS setof tablefunc_crosstab_4
54 AS 'MODULE_PATHNAME','crosstab'
55 LANGUAGE C STABLE STRICT;
58 CREATE FUNCTION crosstab(text,int)
60 AS 'MODULE_PATHNAME','crosstab'
61 LANGUAGE C STABLE STRICT;
63 CREATE FUNCTION crosstab(text,text)
65 AS 'MODULE_PATHNAME','crosstab_hash'
66 LANGUAGE C STABLE STRICT;
68 CREATE FUNCTION connectby(text,text,text,text,int,text)
70 AS 'MODULE_PATHNAME','connectby_text'
71 LANGUAGE C STABLE STRICT;
73 CREATE FUNCTION connectby(text,text,text,text,int)
75 AS 'MODULE_PATHNAME','connectby_text'
76 LANGUAGE C STABLE STRICT;
78 -- These 2 take the name of a field to ORDER BY as 4th arg (for sorting siblings)
80 CREATE FUNCTION connectby(text,text,text,text,text,int,text)
82 AS 'MODULE_PATHNAME','connectby_text_serial'
83 LANGUAGE C STABLE STRICT;
85 CREATE FUNCTION connectby(text,text,text,text,text,int)
87 AS 'MODULE_PATHNAME','connectby_text_serial'
88 LANGUAGE C STABLE STRICT;