File: pg_rrule.sql.in

package info (click to toggle)
pg-rrule 0.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 172 kB
  • sloc: ansic: 431; sql: 33; makefile: 29; sh: 1
file content (167 lines) | stat: -rw-r--r-- 4,160 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
/*
 * Author: petropavel
 * Created at: 2014-09-14 23:36:11 +0600
 *
 */

--
-- This is a example code genereted automaticaly
-- by pgxn-utils.

SET client_min_messages = warning;


CREATE TYPE rrule;

CREATE OR REPLACE FUNCTION rrule_in(cstring)
    RETURNS rrule
    AS 'MODULE_PATHNAME', 'pg_rrule_in'
    LANGUAGE C IMMUTABLE STRICT;

CREATE OR REPLACE FUNCTION rrule_out(rrule)
    RETURNS cstring
    AS 'MODULE_PATHNAME', 'pg_rrule_out'
    LANGUAGE C IMMUTABLE STRICT;

CREATE TYPE rrule (
   input = rrule_in,
   output = rrule_out,
   internallength = 2896 -- CRITICAL: Must match the size of 'icalrecurrencetype' in the current version of libical. cf ASSERT in pg_rrule.c
);


CREATE CAST (text AS rrule)
    WITH INOUT;

CREATE CAST (varchar AS rrule)
    WITH INOUT;


CREATE OR REPLACE FUNCTION get_occurrences(rrule, timestamp with time zone)
    RETURNS timestamp with time zone[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_occurrences_dtstart_tz'
    LANGUAGE C IMMUTABLE STRICT;

CREATE OR REPLACE FUNCTION get_occurrences(rrule, timestamp with time zone, timestamp with time zone)
    RETURNS timestamp with time zone[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_occurrences_dtstart_until_tz'
    LANGUAGE C IMMUTABLE STRICT;


CREATE OR REPLACE FUNCTION get_occurrences(rrule, timestamp)
    RETURNS timestamp[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_occurrences_dtstart'
    LANGUAGE C IMMUTABLE STRICT;

CREATE OR REPLACE FUNCTION get_occurrences(rrule, timestamp, timestamp)
    RETURNS timestamp[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_occurrences_dtstart_until'
    LANGUAGE C IMMUTABLE STRICT;


/* FREQ */
CREATE OR REPLACE FUNCTION get_freq(rrule)
    RETURNS text
    AS 'MODULE_PATHNAME', 'pg_rrule_get_freq_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* UNTIL */
CREATE OR REPLACE FUNCTION get_until(rrule)
    RETURNS timestamp
    AS 'MODULE_PATHNAME', 'pg_rrule_get_until_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* UNTIL TZ */
CREATE OR REPLACE FUNCTION get_untiltz(rrule)
    RETURNS timestamp with time zone
    AS 'MODULE_PATHNAME', 'pg_rrule_get_untiltz_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* COUNT */
CREATE OR REPLACE FUNCTION get_count(rrule)
    RETURNS int4
    AS 'MODULE_PATHNAME', 'pg_rrule_get_count_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* INTERVAL */
CREATE OR REPLACE FUNCTION get_interval(rrule)
    RETURNS int2
    AS 'MODULE_PATHNAME', 'pg_rrule_get_interval_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* BYSECOND */
CREATE OR REPLACE FUNCTION get_bysecond(rrule)
    RETURNS int2[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_bysecond_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* BYMINUTE */
CREATE OR REPLACE FUNCTION get_byminute(rrule)
    RETURNS int2[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_byminute_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* BYHOUR */
CREATE OR REPLACE FUNCTION get_byhour(rrule)
    RETURNS int2[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_byhour_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* BYDAY */
CREATE OR REPLACE FUNCTION get_byday(rrule)
    RETURNS int2[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_byday_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* BYMONTHDAY */
CREATE OR REPLACE FUNCTION get_bymonthday(rrule)
    RETURNS int2[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_bymonthday_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* BYYEARDAY */
CREATE OR REPLACE FUNCTION get_byyearday(rrule)
    RETURNS int2[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_byyearday_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* BYWEEKNO */
CREATE OR REPLACE FUNCTION get_byweekno(rrule)
    RETURNS int2[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_byweekno_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* BYMONTH */
CREATE OR REPLACE FUNCTION get_bymonth(rrule)
    RETURNS int2[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_bymonth_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* BYSETPOS */
CREATE OR REPLACE FUNCTION get_bysetpos(rrule)
    RETURNS int2[]
    AS 'MODULE_PATHNAME', 'pg_rrule_get_bysetpos_rrule'
    LANGUAGE C IMMUTABLE STRICT;


/* WKST */
CREATE OR REPLACE FUNCTION get_wkst(rrule)
    RETURNS text
    AS 'MODULE_PATHNAME', 'pg_rrule_get_wkst_rrule'
    LANGUAGE C IMMUTABLE STRICT;