add some missing files, complete separation of templates, factor common page wrapper...
[buildfarm-server.git] / schema / bfwebdb.sql
1 --
2 -- PostgreSQL database dump
3 --
4
5 SET client_encoding = 'SQL_ASCII';
6 SET check_function_bodies = false;
7 SET client_min_messages = warning;
8
9 --
10 -- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: pgbuildfarm
11 --
12
13 COMMENT ON SCHEMA public IS 'Standard public schema';
14
15
16 SET search_path = public, pg_catalog;
17
18 --
19 -- Name: plperl_call_handler(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
20 --
21
22 CREATE FUNCTION plperl_call_handler() RETURNS language_handler
23     AS '$libdir/plperl', 'plperl_call_handler'
24     LANGUAGE c;
25
26
27 ALTER FUNCTION public.plperl_call_handler() OWNER TO pgbuildfarm;
28
29 --
30 -- Name: plperl; Type: PROCEDURAL LANGUAGE; Schema: public; Owner: 
31 --
32
33 CREATE TRUSTED PROCEDURAL LANGUAGE plperl HANDLER plperl_call_handler;
34
35
36 --
37 -- Name: plperlu; Type: PROCEDURAL LANGUAGE; Schema: public; Owner: 
38 --
39
40 CREATE PROCEDURAL LANGUAGE plperlu HANDLER plperl_call_handler;
41
42
43 --
44 -- Name: plpgsql_call_handler(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
45 --
46
47 CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler
48     AS '$libdir/plpgsql', 'plpgsql_call_handler'
49     LANGUAGE c;
50
51
52 ALTER FUNCTION public.plpgsql_call_handler() OWNER TO pgbuildfarm;
53
54 --
55 -- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: public; Owner: 
56 --
57
58 CREATE TRUSTED PROCEDURAL LANGUAGE plpgsql HANDLER plpgsql_call_handler;
59
60
61 --
62 -- Name: pending; Type: TYPE; Schema: public; Owner: pgbuildfarm
63 --
64
65 CREATE TYPE pending AS (
66         name text,
67         operating_system text,
68         os_version text,
69         compiler text,
70         compiler_version text,
71         architecture text,
72         owner_email text
73 );
74
75
76 ALTER TYPE public.pending OWNER TO pgbuildfarm;
77
78 --
79 -- Name: pending2; Type: TYPE; Schema: public; Owner: pgbuildfarm
80 --
81
82 CREATE TYPE pending2 AS (
83         name text,
84         operating_system text,
85         os_version text,
86         compiler text,
87         compiler_version text,
88         architecture text,
89         owner_email text,
90         "owner" text,
91         status_ts timestamp without time zone
92 );
93
94
95 ALTER TYPE public.pending2 OWNER TO pgbuildfarm;
96
97 --
98 -- Name: approve(text, text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
99 --
100
101 CREATE FUNCTION approve(text, text) RETURNS void
102     AS $_$update buildsystems set name = $2, status ='approved' where name = $1 and status = 'pending'$_$
103     LANGUAGE sql;
104
105
106 ALTER FUNCTION public.approve(text, text) OWNER TO pgbuildfarm;
107
108 --
109 -- Name: approve2(text, text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
110 --
111
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;$_$
114     LANGUAGE sql;
115
116
117 ALTER FUNCTION public.approve2(text, text) OWNER TO pgbuildfarm;
118
119 --
120 -- Name: pending(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
121 --
122
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 $$
125     LANGUAGE sql;
126
127
128 ALTER FUNCTION public.pending() OWNER TO pgbuildfarm;
129
130 --
131 -- Name: prevstat(text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
132 --
133
134 CREATE FUNCTION prevstat(text, text, timestamp without time zone) RETURNS text
135     AS $_$
136    select coalesce((select distinct on (snapshot) stage
137                   from build_status
138                   where sysname = $1 and branch = $2 and snapshot < $3
139                   order by snapshot desc
140                   limit 1), 'NEW') as prev_status
141 $_$
142     LANGUAGE sql;
143
144
145 ALTER FUNCTION public.prevstat(text, text, timestamp without time zone) OWNER TO pgbuildfarm;
146
147 --
148 -- Name: set_latest(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
149 --
150
151 CREATE FUNCTION set_latest() RETURNS "trigger"
152     AS $$
153
154         begin
155                 update latest_snapshot 
156                         set snapshot = 
157         (case when snapshot > NEW.snapshot then snapshot else NEW.snapshot end)
158                         where sysname = NEW.sysname and
159                                 branch = NEW.branch;
160                 if not found then
161                         insert into latest_snapshot
162                                 values(NEW.sysname, NEW.branch, NEW.snapshot);
163                 end if;
164                 return NEW;
165         end;
166 $$
167     LANGUAGE plpgsql;
168
169
170 ALTER FUNCTION public.set_latest() OWNER TO pgbuildfarm;
171
172 --
173 -- Name: target(text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
174 --
175
176 CREATE FUNCTION target(t text) RETURNS text
177     AS $_$ my $log = shift; $log =~ s/.*(Target:[^\n]*).*/$1/s; return $log; $_$
178     LANGUAGE plperl;
179
180
181 ALTER FUNCTION public.target(t text) OWNER TO pgbuildfarm;
182
183 --
184 -- Name: transitions(text, text, text, text, text, text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm
185 --
186
187 CREATE FUNCTION transitions(text, text, text, text, text, text) RETURNS integer
188     AS $_$
189
190 my ($os,$osv,$comp,$compv,$arch,$owner) = @_;
191 # count transitions to and from upper case
192 my $trans = 1;
193 my $counttrans = 0;
194 foreach (split "" ,"$os$osv$comp$compv$arch$owner")
195 {
196         if (/[A-Z]/)
197         {
198                 next if $trans;
199                 $trans = 1;
200                 $counttrans++;
201         }
202         else
203         {
204                 next unless $trans;
205                 $trans = 0;
206                 $counttrans++;
207         }
208 }
209
210 return $counttrans;
211
212 $_$
213     LANGUAGE plperl;
214
215
216 ALTER FUNCTION public.transitions(text, text, text, text, text, text) OWNER TO pgbuildfarm;
217
218 SET default_tablespace = '';
219
220 SET default_with_oids = true;
221
222 --
223 -- Name: alerts; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: 
224 --
225
226 CREATE TABLE alerts (
227     sysname text NOT NULL,
228     branch text NOT NULL,
229     first_alert timestamp without time zone,
230     last_notification timestamp without time zone
231 );
232
233
234 ALTER TABLE public.alerts OWNER TO pgbuildfarm;
235
236 --
237 -- Name: build_status; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: 
238 --
239
240 CREATE TABLE build_status (
241     sysname text NOT NULL,
242     snapshot timestamp without time zone NOT NULL,
243     status integer,
244     stage text,
245     log text,
246     conf_sum text,
247     branch text,
248     changed_this_run text,
249     changed_since_success text,
250     log_archive bytea,
251     log_archive_filenames text[],
252     build_flags text[],
253     report_time timestamp with time zone DEFAULT ('now'::text)::timestamp(6) with time zone,
254     scm text,
255     scmurl text
256 );
257
258
259 ALTER TABLE public.build_status OWNER TO pgbuildfarm;
260
261 --
262 -- Name: build_status_export; Type: VIEW; Schema: public; Owner: pgbuildfarm
263 --
264
265 CREATE VIEW build_status_export AS
266     SELECT build_status.sysname AS name, build_status.snapshot, build_status.stage, build_status.branch, build_status.build_flags FROM build_status;
267
268
269 ALTER TABLE public.build_status_export OWNER TO pgbuildfarm;
270
271 --
272 -- Name: build_status_log; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: 
273 --
274
275 CREATE TABLE build_status_log (
276     sysname text NOT NULL,
277     snapshot timestamp without time zone NOT NULL,
278     branch text NOT NULL,
279     log_stage text NOT NULL,
280     log_text text,
281     stage_duration interval
282 );
283
284
285 ALTER TABLE public.build_status_log OWNER TO pgbuildfarm;
286
287 --
288 -- Name: buildsystems; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: 
289 --
290
291 CREATE TABLE buildsystems (
292     name text NOT NULL,
293     secret text NOT NULL,
294     operating_system text NOT NULL,
295     os_version text NOT NULL,
296     compiler text NOT NULL,
297     compiler_version text NOT NULL,
298     architecture text NOT NULL,
299     status text NOT NULL,
300     sys_owner text NOT NULL,
301     owner_email text NOT NULL,
302     status_ts timestamp without time zone DEFAULT (('now'::text)::timestamp(6) with time zone)::timestamp without time zone,
303     no_alerts boolean DEFAULT false,
304     sys_notes text,
305     sys_notes_ts timestamp with time zone
306 );
307
308
309 ALTER TABLE public.buildsystems OWNER TO pgbuildfarm;
310
311 --
312 -- Name: buildsystems_export; Type: VIEW; Schema: public; Owner: pgbuildfarm
313 --
314
315 CREATE VIEW buildsystems_export AS
316     SELECT buildsystems.name, buildsystems.operating_system, buildsystems.os_version, buildsystems.compiler, buildsystems.compiler_version, buildsystems.architecture FROM buildsystems WHERE (buildsystems.status = 'approved'::text);
317
318
319 ALTER TABLE public.buildsystems_export OWNER TO pgbuildfarm;
320
321 --
322 -- Name: latest_snapshot; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: 
323 --
324
325 CREATE TABLE latest_snapshot (
326     sysname text NOT NULL,
327     branch text NOT NULL,
328     snapshot timestamp without time zone NOT NULL
329 );
330
331
332 ALTER TABLE public.latest_snapshot OWNER TO pgbuildfarm;
333
334 --
335 -- Name: personality; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: 
336 --
337
338 CREATE TABLE personality (
339     name text NOT NULL,
340     os_version text NOT NULL,
341     compiler_version text NOT NULL,
342     effective_date timestamp with time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL
343 );
344
345
346 ALTER TABLE public.personality OWNER TO pgbuildfarm;
347
348 --
349 -- Name: dashboard; Type: VIEW; Schema: public; Owner: pgbuildfarm
350 --
351
352 CREATE VIEW dashboard AS
353     SELECT ((timezone('GMT'::text, now()))::timestamp(0) without time zone - b.snapshot) AS when_ago, b.sysname, b.snapshot, b.status, b.stage, b.branch, b.build_flags, s.operating_system, COALESCE(b.os_version, s.os_version) AS os_version, s.compiler, COALESCE(b.compiler_version, s.compiler_version) AS compiler_version, s.architecture FROM buildsystems s, (SELECT DISTINCT ON (bs.sysname, bs.branch, bs.report_time) bs.sysname, bs.snapshot, bs.status, bs.stage, bs.branch, bs.build_flags, bs.report_time, p.compiler_version, p.os_version FROM ((build_status bs NATURAL JOIN latest_snapshot m) LEFT JOIN personality p ON (((p.name = bs.sysname) AND (p.effective_date <= bs.report_time)))) WHERE (m.snapshot > (now() - '30 days'::interval)) ORDER BY bs.sysname, bs.branch, bs.report_time, (p.effective_date IS NULL), p.effective_date DESC) b WHERE ((s.name = b.sysname) AND (s.status = 'approved'::text));
354
355
356 ALTER TABLE public.dashboard OWNER TO pgbuildfarm;
357
358 --
359 -- Name: dashboard_ex; Type: VIEW; Schema: public; Owner: pgbuildfarm
360 --
361
362 CREATE VIEW dashboard_ex AS
363     SELECT ((timezone('GMT'::text, now()))::timestamp(0) without time zone - b.snapshot) AS when_ago, b.sysname, b.snapshot, b.status, b.stage, b.branch, b.build_flags, s.operating_system, COALESCE(b.os_version, s.os_version) AS os_version, s.compiler, COALESCE(b.compiler_version, s.compiler_version) AS compiler_version, s.architecture, s.sys_notes, (s.sys_notes_ts)::date AS sys_notes_date FROM buildsystems s, (SELECT DISTINCT ON (bs.sysname, bs.branch, bs.report_time) bs.sysname, bs.snapshot, bs.status, bs.stage, bs.branch, bs.build_flags, bs.report_time, p.compiler_version, p.os_version FROM ((build_status bs NATURAL JOIN latest_snapshot m) LEFT JOIN personality p ON (((p.name = bs.sysname) AND (p.effective_date <= bs.report_time)))) WHERE (m.snapshot > (now() - '30 days'::interval)) ORDER BY bs.sysname, bs.branch, bs.report_time, (p.effective_date IS NULL), p.effective_date DESC) b WHERE ((s.name = b.sysname) AND (s.status = 'approved'::text));
364
365
366 ALTER TABLE public.dashboard_ex OWNER TO pgbuildfarm;
367
368 --
369 -- Name: dashboard_mat; Type: TABLE; Schema: public; Owner: pgbfweb; Tablespace: 
370 --
371
372 CREATE TABLE dashboard_mat (
373     sysname text,
374     snapshot timestamp without time zone,
375     status integer,
376     stage text,
377     branch text,
378     build_flags text[],
379     operating_system text,
380     os_version text,
381     compiler text,
382     compiler_version text,
383     architecture text
384 );
385
386
387 ALTER TABLE public.dashboard_mat OWNER TO pgbfweb;
388
389 --
390 -- Name: dashboard_mat_data; Type: VIEW; Schema: public; Owner: pgbuildfarm
391 --
392
393 CREATE VIEW dashboard_mat_data AS
394     SELECT b.sysname, b.snapshot, b.status, b.stage, b.branch, b.build_flags, s.operating_system, COALESCE(b.os_version, s.os_version) AS os_version, s.compiler, COALESCE(b.compiler_version, s.compiler_version) AS compiler_version, s.architecture FROM buildsystems s, (SELECT DISTINCT ON (bs.sysname, bs.branch, bs.report_time) bs.sysname, bs.snapshot, bs.status, bs.stage, bs.branch, bs.build_flags, bs.report_time, p.compiler_version, p.os_version FROM ((build_status bs NATURAL JOIN latest_snapshot m) LEFT JOIN personality p ON (((p.name = bs.sysname) AND (p.effective_date <= bs.report_time)))) WHERE (m.snapshot > (now() - '30 days'::interval)) ORDER BY bs.sysname, bs.branch, bs.report_time, (p.effective_date IS NULL), p.effective_date DESC) b WHERE ((s.name = b.sysname) AND (s.status = 'approved'::text));
395
396
397 ALTER TABLE public.dashboard_mat_data OWNER TO pgbuildfarm;
398
399 --
400 -- Name: dashboard_mat_data2; Type: VIEW; Schema: public; Owner: pgbuildfarm
401 --
402
403 CREATE VIEW dashboard_mat_data2 AS
404     SELECT b.sysname, b.snapshot, b.status, b.stage, b.branch, CASE WHEN ((b.conf_sum ~ 'use_vpath'::text) AND (b.conf_sum !~ '''use_vpath'' => undef'::text)) THEN (b.build_flags || 'vpath'::text) ELSE b.build_flags END AS build_flags, s.operating_system, COALESCE(b.os_version, s.os_version) AS os_version, s.compiler, COALESCE(b.compiler_version, s.compiler_version) AS compiler_version, s.architecture FROM buildsystems s, (SELECT DISTINCT ON (bs.sysname, bs.branch, bs.report_time) bs.sysname, bs.snapshot, bs.status, bs.stage, bs.branch, bs.build_flags, bs.conf_sum, bs.report_time, p.compiler_version, p.os_version FROM ((build_status bs NATURAL JOIN latest_snapshot m) LEFT JOIN personality p ON (((p.name = bs.sysname) AND (p.effective_date <= bs.report_time)))) WHERE (m.snapshot > (now() - '30 days'::interval)) ORDER BY bs.sysname, bs.branch, bs.report_time, (p.effective_date IS NULL), p.effective_date DESC) b WHERE ((s.name = b.sysname) AND (s.status = 'approved'::text));
405
406
407 ALTER TABLE public.dashboard_mat_data2 OWNER TO pgbuildfarm;
408
409 --
410 -- Name: failures; Type: VIEW; Schema: public; Owner: pgbuildfarm
411 --
412
413 CREATE VIEW failures AS
414     SELECT build_status.sysname, build_status.snapshot, build_status.stage, build_status.conf_sum, build_status.branch, build_status.changed_this_run, build_status.changed_since_success, build_status.log_archive_filenames, build_status.build_flags, build_status.report_time FROM build_status WHERE (((build_status.stage <> 'OK'::text) AND (build_status.stage !~~ 'CVS%'::text)) AND (build_status.report_time IS NOT NULL));
415
416
417 ALTER TABLE public.failures OWNER TO pgbuildfarm;
418
419 --
420 -- Name: list_subscriptions; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: 
421 --
422
423 CREATE TABLE list_subscriptions (
424     addr text
425 );
426
427
428 ALTER TABLE public.list_subscriptions OWNER TO pgbuildfarm;
429
430 --
431 -- Name: penguin_save; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: 
432 --
433
434 CREATE TABLE penguin_save (
435     branch text,
436     snapshot timestamp without time zone,
437     stage text
438 );
439
440
441 ALTER TABLE public.penguin_save OWNER TO pgbuildfarm;
442
443 --
444 -- Name: recent_failures; Type: VIEW; Schema: public; Owner: pgbuildfarm
445 --
446
447 CREATE VIEW recent_failures AS
448     SELECT build_status.sysname, build_status.snapshot, build_status.stage, build_status.conf_sum, build_status.branch, build_status.changed_this_run, build_status.changed_since_success, build_status.log_archive_filenames, build_status.build_flags, build_status.report_time, build_status.log FROM build_status WHERE ((((build_status.stage <> 'OK'::text) AND (build_status.stage !~~ 'CVS%'::text)) AND (build_status.report_time IS NOT NULL)) AND ((build_status.snapshot + '3 mons'::interval) > ('now'::text)::timestamp(6) with time zone));
449
450
451 ALTER TABLE public.recent_failures OWNER TO pgbuildfarm;
452
453 --
454 -- Name: alerts_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: 
455 --
456
457 ALTER TABLE ONLY alerts
458     ADD CONSTRAINT alerts_pkey PRIMARY KEY (sysname, branch);
459
460
461 ALTER INDEX public.alerts_pkey OWNER TO pgbuildfarm;
462
463 --
464 -- Name: build_status_log_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: 
465 --
466
467 ALTER TABLE ONLY build_status_log
468     ADD CONSTRAINT build_status_log_pkey PRIMARY KEY (sysname, snapshot, log_stage);
469
470
471 ALTER INDEX public.build_status_log_pkey OWNER TO pgbuildfarm;
472
473 --
474 -- Name: build_status_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: 
475 --
476
477 ALTER TABLE ONLY build_status
478     ADD CONSTRAINT build_status_pkey PRIMARY KEY (sysname, snapshot);
479
480
481 ALTER INDEX public.build_status_pkey OWNER TO pgbuildfarm;
482
483 --
484 -- Name: buildsystems_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: 
485 --
486
487 ALTER TABLE ONLY buildsystems
488     ADD CONSTRAINT buildsystems_pkey PRIMARY KEY (name);
489
490
491 ALTER INDEX public.buildsystems_pkey OWNER TO pgbuildfarm;
492
493 --
494 -- Name: latest_snapshot_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: 
495 --
496
497 ALTER TABLE ONLY latest_snapshot
498     ADD CONSTRAINT latest_snapshot_pkey PRIMARY KEY (sysname, branch);
499
500
501 ALTER INDEX public.latest_snapshot_pkey OWNER TO pgbuildfarm;
502
503 --
504 -- Name: personality_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: 
505 --
506
507 ALTER TABLE ONLY personality
508     ADD CONSTRAINT personality_pkey PRIMARY KEY (name, effective_date);
509
510
511 ALTER INDEX public.personality_pkey OWNER TO pgbuildfarm;
512
513 --
514 -- Name: bs_branch_snapshot_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: 
515 --
516
517 CREATE INDEX bs_branch_snapshot_idx ON build_status USING btree (branch, snapshot);
518
519
520 ALTER INDEX public.bs_branch_snapshot_idx OWNER TO pgbuildfarm;
521
522 --
523 -- Name: bs_status_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: 
524 --
525
526 CREATE INDEX bs_status_idx ON buildsystems USING btree (status);
527
528
529 ALTER INDEX public.bs_status_idx OWNER TO pgbuildfarm;
530
531 --
532 -- Name: bs_sysname_branch_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: 
533 --
534
535 CREATE INDEX bs_sysname_branch_idx ON build_status USING btree (sysname, branch);
536
537
538 ALTER INDEX public.bs_sysname_branch_idx OWNER TO pgbuildfarm;
539
540 --
541 -- Name: bs_sysname_branch_report_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: 
542 --
543
544 CREATE INDEX bs_sysname_branch_report_idx ON build_status USING btree (sysname, branch, report_time);
545
546
547 ALTER INDEX public.bs_sysname_branch_report_idx OWNER TO pgbuildfarm;
548
549 --
550 -- Name: build_status_log_snapshot_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: 
551 --
552
553 CREATE INDEX build_status_log_snapshot_idx ON build_status_log USING btree (snapshot);
554
555
556 ALTER INDEX public.build_status_log_snapshot_idx OWNER TO pgbuildfarm;
557
558 --
559 -- Name: set_latest_snapshot; Type: TRIGGER; Schema: public; Owner: pgbuildfarm
560 --
561
562 CREATE TRIGGER set_latest_snapshot
563     AFTER INSERT ON build_status
564     FOR EACH ROW
565     EXECUTE PROCEDURE set_latest();
566
567
568 --
569 -- Name: bs_fk; Type: FK CONSTRAINT; Schema: public; Owner: pgbuildfarm
570 --
571
572 ALTER TABLE ONLY build_status
573     ADD CONSTRAINT bs_fk FOREIGN KEY (sysname) REFERENCES buildsystems(name) ON UPDATE CASCADE ON DELETE CASCADE;
574
575
576 --
577 -- Name: build_status_log_sysname_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pgbuildfarm
578 --
579
580 ALTER TABLE ONLY build_status_log
581     ADD CONSTRAINT build_status_log_sysname_fkey FOREIGN KEY (sysname, snapshot) REFERENCES build_status(sysname, snapshot) ON UPDATE CASCADE ON DELETE CASCADE;
582
583
584 --
585 -- Name: personality_build_systems_name_fk; Type: FK CONSTRAINT; Schema: public; Owner: pgbuildfarm
586 --
587
588 ALTER TABLE ONLY personality
589     ADD CONSTRAINT personality_build_systems_name_fk FOREIGN KEY (name) REFERENCES buildsystems(name) ON UPDATE CASCADE ON DELETE CASCADE;
590
591
592 --
593 -- Name: public; Type: ACL; Schema: -; Owner: pgbuildfarm
594 --
595
596 REVOKE ALL ON SCHEMA public FROM PUBLIC;
597 REVOKE ALL ON SCHEMA public FROM pgbuildfarm;
598 GRANT ALL ON SCHEMA public TO pgbuildfarm;
599 GRANT ALL ON SCHEMA public TO PUBLIC;
600
601
602 --
603 -- Name: build_status; Type: ACL; Schema: public; Owner: pgbuildfarm
604 --
605
606 REVOKE ALL ON TABLE build_status FROM PUBLIC;
607 REVOKE ALL ON TABLE build_status FROM pgbuildfarm;
608 GRANT ALL ON TABLE build_status TO pgbuildfarm;
609 GRANT INSERT,SELECT ON TABLE build_status TO pgbfweb;
610 GRANT SELECT ON TABLE build_status TO rssfeed;
611
612
613 --
614 -- Name: build_status_log; Type: ACL; Schema: public; Owner: pgbuildfarm
615 --
616
617 REVOKE ALL ON TABLE build_status_log FROM PUBLIC;
618 REVOKE ALL ON TABLE build_status_log FROM pgbuildfarm;
619 GRANT ALL ON TABLE build_status_log TO pgbuildfarm;
620 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE build_status_log TO pgbfweb;
621 GRANT SELECT ON TABLE build_status_log TO rssfeed;
622
623
624 --
625 -- Name: buildsystems; Type: ACL; Schema: public; Owner: pgbuildfarm
626 --
627
628 REVOKE ALL ON TABLE buildsystems FROM PUBLIC;
629 REVOKE ALL ON TABLE buildsystems FROM pgbuildfarm;
630 GRANT ALL ON TABLE buildsystems TO pgbuildfarm;
631 GRANT INSERT,SELECT,UPDATE ON TABLE buildsystems TO pgbfweb;
632 GRANT SELECT ON TABLE buildsystems TO rssfeed;
633
634
635 --
636 -- Name: latest_snapshot; Type: ACL; Schema: public; Owner: pgbuildfarm
637 --
638
639 REVOKE ALL ON TABLE latest_snapshot FROM PUBLIC;
640 REVOKE ALL ON TABLE latest_snapshot FROM pgbuildfarm;
641 GRANT ALL ON TABLE latest_snapshot TO pgbuildfarm;
642 GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE latest_snapshot TO pgbfweb;
643
644
645 --
646 -- Name: personality; Type: ACL; Schema: public; Owner: pgbuildfarm
647 --
648
649 REVOKE ALL ON TABLE personality FROM PUBLIC;
650 REVOKE ALL ON TABLE personality FROM pgbuildfarm;
651 GRANT ALL ON TABLE personality TO pgbuildfarm;
652 GRANT INSERT,SELECT ON TABLE personality TO pgbfweb;
653 GRANT SELECT ON TABLE personality TO rssfeed;
654
655
656 --
657 -- Name: dashboard; Type: ACL; Schema: public; Owner: pgbuildfarm
658 --
659
660 REVOKE ALL ON TABLE dashboard FROM PUBLIC;
661 REVOKE ALL ON TABLE dashboard FROM pgbuildfarm;
662 GRANT ALL ON TABLE dashboard TO pgbuildfarm;
663 GRANT SELECT ON TABLE dashboard TO pgbfweb;
664
665
666 --
667 -- Name: dashboard_ex; Type: ACL; Schema: public; Owner: pgbuildfarm
668 --
669
670 REVOKE ALL ON TABLE dashboard_ex FROM PUBLIC;
671 REVOKE ALL ON TABLE dashboard_ex FROM pgbuildfarm;
672 GRANT ALL ON TABLE dashboard_ex TO pgbuildfarm;
673 GRANT SELECT ON TABLE dashboard_ex TO pgbfweb;
674
675
676 --
677 -- Name: dashboard_mat; Type: ACL; Schema: public; Owner: pgbfweb
678 --
679
680 REVOKE ALL ON TABLE dashboard_mat FROM PUBLIC;
681 REVOKE ALL ON TABLE dashboard_mat FROM pgbfweb;
682 GRANT ALL ON TABLE dashboard_mat TO pgbfweb;
683
684
685 --
686 -- Name: dashboard_mat_data; Type: ACL; Schema: public; Owner: pgbuildfarm
687 --
688
689 REVOKE ALL ON TABLE dashboard_mat_data FROM PUBLIC;
690 REVOKE ALL ON TABLE dashboard_mat_data FROM pgbuildfarm;
691 GRANT ALL ON TABLE dashboard_mat_data TO pgbuildfarm;
692 GRANT SELECT ON TABLE dashboard_mat_data TO pgbfweb;
693
694
695 --
696 -- Name: dashboard_mat_data2; Type: ACL; Schema: public; Owner: pgbuildfarm
697 --
698
699 REVOKE ALL ON TABLE dashboard_mat_data2 FROM PUBLIC;
700 REVOKE ALL ON TABLE dashboard_mat_data2 FROM pgbuildfarm;
701 GRANT ALL ON TABLE dashboard_mat_data2 TO pgbuildfarm;
702 GRANT SELECT ON TABLE dashboard_mat_data2 TO pgbfweb;
703
704
705 --
706 -- PostgreSQL database dump complete
707 --
708