2 -- PostgreSQL database dump
5 SET client_encoding = 'SQL_ASCII';
6 SET check_function_bodies = false;
7 SET client_min_messages = warning;
10 -- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: pgbuildfarm
13 COMMENT ON SCHEMA public IS 'Standard public schema';
16 SET search_path = public, pg_catalog;
19 -- Name: plperl_call_handler(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
22 CREATE FUNCTION plperl_call_handler() RETURNS language_handler
23 AS '$libdir/plperl', 'plperl_call_handler'
27 ALTER FUNCTION public.plperl_call_handler() OWNER TO pgbuildfarm;
30 -- Name: plperl; Type: PROCEDURAL LANGUAGE; Schema: public; Owner:
33 CREATE TRUSTED PROCEDURAL LANGUAGE plperl HANDLER plperl_call_handler;
37 -- Name: plperlu; Type: PROCEDURAL LANGUAGE; Schema: public; Owner:
40 CREATE PROCEDURAL LANGUAGE plperlu HANDLER plperl_call_handler;
44 -- Name: plpgsql_call_handler(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
47 CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler
48 AS '$libdir/plpgsql', 'plpgsql_call_handler'
52 ALTER FUNCTION public.plpgsql_call_handler() OWNER TO pgbuildfarm;
55 -- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: public; Owner:
58 CREATE TRUSTED PROCEDURAL LANGUAGE plpgsql HANDLER plpgsql_call_handler;
62 -- Name: pending; Type: TYPE; Schema: public; Owner: pgbuildfarm
65 CREATE TYPE pending AS (
67 operating_system text,
70 compiler_version text,
76 ALTER TYPE public.pending OWNER TO pgbuildfarm;
79 -- Name: pending2; Type: TYPE; Schema: public; Owner: pgbuildfarm
82 CREATE TYPE pending2 AS (
84 operating_system text,
87 compiler_version text,
91 status_ts timestamp without time zone
95 ALTER TYPE public.pending2 OWNER TO pgbuildfarm;
98 -- Name: approve(text, text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
101 CREATE FUNCTION approve(text, text) RETURNS void
102 AS $_$update buildsystems set name = $2, status ='approved' where name = $1 and status = 'pending'$_$
106 ALTER FUNCTION public.approve(text, text) OWNER TO pgbuildfarm;
109 -- Name: approve2(text, text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
112 CREATE FUNCTION approve2(text, text) RETURNS text
113 AS $_$ update buildsystems set name = $2, status = 'approved' where name = $1 and status = 'pending'; select owner_email || ':' || name || ':' || secret from buildsystems where name = $2;$_$
117 ALTER FUNCTION public.approve2(text, text) OWNER TO pgbuildfarm;
120 -- Name: pending(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
123 CREATE FUNCTION pending() RETURNS SETOF pending2
124 AS $$select name,operating_system,os_version,compiler,compiler_version,architecture,owner_email, sys_owner, status_ts from buildsystems where status = 'pending' order by status_ts $$
128 ALTER FUNCTION public.pending() OWNER TO pgbuildfarm;
131 -- Name: prevstat(text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
134 CREATE FUNCTION prevstat(text, text, timestamp without time zone) RETURNS text
136 select coalesce((select distinct on (snapshot) stage
138 where sysname = $1 and branch = $2 and snapshot < $3
139 order by snapshot desc
140 limit 1), 'NEW') as prev_status
145 ALTER FUNCTION public.prevstat(text, text, timestamp without time zone) OWNER TO pgbuildfarm;
147 SET default_tablespace = '';
149 SET default_with_oids = true;
152 -- Name: alerts; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace:
155 CREATE TABLE alerts (
156 sysname text NOT NULL,
157 branch text NOT NULL,
158 first_alert timestamp without time zone,
159 last_notification timestamp without time zone
163 ALTER TABLE public.alerts OWNER TO pgbuildfarm;
166 -- Name: build_status; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace:
169 CREATE TABLE build_status (
170 sysname text NOT NULL,
171 snapshot timestamp without time zone NOT NULL,
177 changed_this_run text,
178 changed_since_success text,
180 log_archive_filenames text[],
182 report_time timestamp with time zone DEFAULT ('now'::text)::timestamp(6) with time zone
186 ALTER TABLE public.build_status OWNER TO pgbuildfarm;
189 -- Name: build_status_export; Type: VIEW; Schema: public; Owner: pgbuildfarm
192 CREATE VIEW build_status_export AS
193 SELECT build_status.sysname AS name, build_status.snapshot, build_status.stage, build_status.branch, build_status.build_flags FROM build_status;
196 ALTER TABLE public.build_status_export OWNER TO pgbuildfarm;
199 -- Name: build_status_log; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace:
202 CREATE TABLE build_status_log (
203 sysname text NOT NULL,
204 snapshot timestamp without time zone NOT NULL,
205 branch text NOT NULL,
206 log_stage text NOT NULL,
208 stage_duration interval
212 ALTER TABLE public.build_status_log OWNER TO pgbuildfarm;
215 -- Name: buildsystems; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace:
218 CREATE TABLE buildsystems (
220 secret text NOT NULL,
221 operating_system text NOT NULL,
222 os_version text NOT NULL,
223 compiler text NOT NULL,
224 compiler_version text NOT NULL,
225 architecture text NOT NULL,
226 status text NOT NULL,
227 sys_owner text NOT NULL,
228 owner_email text NOT NULL,
229 status_ts timestamp without time zone DEFAULT (('now'::text)::timestamp(6) with time zone)::timestamp without time zone
233 ALTER TABLE public.buildsystems OWNER TO pgbuildfarm;
236 -- Name: buildsystems_export; Type: VIEW; Schema: public; Owner: pgbuildfarm
239 CREATE VIEW buildsystems_export AS
240 SELECT buildsystems.name, buildsystems.operating_system, buildsystems.os_version, buildsystems.compiler, buildsystems.compiler_version, buildsystems.architecture FROM buildsystems WHERE (buildsystems.status = 'approved'::text);
243 ALTER TABLE public.buildsystems_export OWNER TO pgbuildfarm;
246 -- Name: list_subscriptions; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace:
249 CREATE TABLE list_subscriptions (
254 ALTER TABLE public.list_subscriptions OWNER TO pgbuildfarm;
257 -- Name: penguin_save; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace:
260 CREATE TABLE penguin_save (
262 snapshot timestamp without time zone,
267 ALTER TABLE public.penguin_save OWNER TO pgbuildfarm;
270 -- Name: personality; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace:
273 CREATE TABLE personality (
275 os_version text NOT NULL,
276 compiler_version text NOT NULL,
277 effective_date timestamp with time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL
281 ALTER TABLE public.personality OWNER TO pgbuildfarm;
284 -- Name: alerts_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace:
287 ALTER TABLE ONLY alerts
288 ADD CONSTRAINT alerts_pkey PRIMARY KEY (sysname, branch);
291 ALTER INDEX public.alerts_pkey OWNER TO pgbuildfarm;
294 -- Name: build_status_log_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace:
297 ALTER TABLE ONLY build_status_log
298 ADD CONSTRAINT build_status_log_pkey PRIMARY KEY (sysname, snapshot, log_stage);
301 ALTER INDEX public.build_status_log_pkey OWNER TO pgbuildfarm;
304 -- Name: build_status_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace:
307 ALTER TABLE ONLY build_status
308 ADD CONSTRAINT build_status_pkey PRIMARY KEY (sysname, snapshot);
311 ALTER INDEX public.build_status_pkey OWNER TO pgbuildfarm;
314 -- Name: buildsystems_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace:
317 ALTER TABLE ONLY buildsystems
318 ADD CONSTRAINT buildsystems_pkey PRIMARY KEY (name);
321 ALTER INDEX public.buildsystems_pkey OWNER TO pgbuildfarm;
324 -- Name: personality_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace:
327 ALTER TABLE ONLY personality
328 ADD CONSTRAINT personality_pkey PRIMARY KEY (name, effective_date);
331 ALTER INDEX public.personality_pkey OWNER TO pgbuildfarm;
334 -- Name: bs_branch_snapshot_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace:
337 CREATE INDEX bs_branch_snapshot_idx ON build_status USING btree (branch, snapshot);
340 ALTER INDEX public.bs_branch_snapshot_idx OWNER TO pgbuildfarm;
343 -- Name: bs_status_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace:
346 CREATE INDEX bs_status_idx ON buildsystems USING btree (status);
349 ALTER INDEX public.bs_status_idx OWNER TO pgbuildfarm;
352 -- Name: bs_sysname_branch_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace:
355 CREATE INDEX bs_sysname_branch_idx ON build_status USING btree (sysname, branch);
358 ALTER INDEX public.bs_sysname_branch_idx OWNER TO pgbuildfarm;
361 -- Name: bs_sysname_branch_report_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace:
364 CREATE INDEX bs_sysname_branch_report_idx ON build_status USING btree (sysname, branch, report_time);
367 ALTER INDEX public.bs_sysname_branch_report_idx OWNER TO pgbuildfarm;
370 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: pgbuildfarm
373 ALTER TABLE ONLY personality
374 ADD CONSTRAINT "$1" FOREIGN KEY (name) REFERENCES buildsystems(name) ON DELETE CASCADE;
378 -- Name: bs_fk; Type: FK CONSTRAINT; Schema: public; Owner: pgbuildfarm
381 ALTER TABLE ONLY build_status
382 ADD CONSTRAINT bs_fk FOREIGN KEY (sysname) REFERENCES buildsystems(name) ON UPDATE CASCADE ON DELETE CASCADE;
386 -- Name: build_status_log_sysname_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pgbuildfarm
389 ALTER TABLE ONLY build_status_log
390 ADD CONSTRAINT build_status_log_sysname_fkey FOREIGN KEY (sysname, snapshot) REFERENCES build_status(sysname, snapshot) ON DELETE CASCADE;
394 -- Name: public; Type: ACL; Schema: -; Owner: pgbuildfarm
397 REVOKE ALL ON SCHEMA public FROM PUBLIC;
398 REVOKE ALL ON SCHEMA public FROM pgbuildfarm;
399 GRANT ALL ON SCHEMA public TO pgbuildfarm;
400 GRANT ALL ON SCHEMA public TO PUBLIC;
404 -- Name: build_status; Type: ACL; Schema: public; Owner: pgbuildfarm
407 REVOKE ALL ON TABLE build_status FROM PUBLIC;
408 REVOKE ALL ON TABLE build_status FROM pgbuildfarm;
409 GRANT ALL ON TABLE build_status TO pgbuildfarm;
410 GRANT INSERT,SELECT ON TABLE build_status TO pgbfweb;
411 GRANT SELECT ON TABLE build_status TO rssfeed;
415 -- Name: build_status_log; Type: ACL; Schema: public; Owner: pgbuildfarm
418 REVOKE ALL ON TABLE build_status_log FROM PUBLIC;
419 REVOKE ALL ON TABLE build_status_log FROM pgbuildfarm;
420 GRANT ALL ON TABLE build_status_log TO pgbuildfarm;
421 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE build_status_log TO pgbfweb;
422 GRANT SELECT ON TABLE build_status_log TO rssfeed;
426 -- Name: buildsystems; Type: ACL; Schema: public; Owner: pgbuildfarm
429 REVOKE ALL ON TABLE buildsystems FROM PUBLIC;
430 REVOKE ALL ON TABLE buildsystems FROM pgbuildfarm;
431 GRANT ALL ON TABLE buildsystems TO pgbuildfarm;
432 GRANT INSERT,SELECT ON TABLE buildsystems TO pgbfweb;
433 GRANT SELECT ON TABLE buildsystems TO rssfeed;
437 -- Name: personality; Type: ACL; Schema: public; Owner: pgbuildfarm
440 REVOKE ALL ON TABLE personality FROM PUBLIC;
441 REVOKE ALL ON TABLE personality FROM pgbuildfarm;
442 GRANT ALL ON TABLE personality TO pgbuildfarm;
443 GRANT INSERT,SELECT ON TABLE personality TO pgbfweb;
444 GRANT SELECT ON TABLE personality TO rssfeed;
448 -- PostgreSQL database dump complete