X-Git-Url: https://git.exim.org/buildfarm-server.git/blobdiff_plain/951769e19786631c2773665ac3db90cadd1b453c..348b8be2a85897d72d726398c0ac76f2dff51111:/schema/bfwebdb.sql diff --git a/schema/bfwebdb.sql b/schema/bfwebdb.sql index 2e575b0..49b746d 100644 --- a/schema/bfwebdb.sql +++ b/schema/bfwebdb.sql @@ -2,64 +2,44 @@ -- PostgreSQL database dump -- +SET statement_timeout = 0; SET client_encoding = 'SQL_ASCII'; +SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; +SET escape_string_warning = off; -- --- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: pgbuildfarm +-- Name: plperl; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: eximbuild -- -COMMENT ON SCHEMA public IS 'Standard public schema'; +CREATE OR REPLACE PROCEDURAL LANGUAGE plperl; -SET search_path = public, pg_catalog; +ALTER PROCEDURAL LANGUAGE plperl OWNER TO eximbuild; -- --- Name: plperl_call_handler(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm +-- Name: plperlu; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: eximbuild -- -CREATE FUNCTION plperl_call_handler() RETURNS language_handler - AS '$libdir/plperl', 'plperl_call_handler' - LANGUAGE c; +CREATE OR REPLACE PROCEDURAL LANGUAGE plperlu; -ALTER FUNCTION public.plperl_call_handler() OWNER TO pgbuildfarm; +ALTER PROCEDURAL LANGUAGE plperlu OWNER TO eximbuild; -- --- Name: plperl; Type: PROCEDURAL LANGUAGE; Schema: public; Owner: +-- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: eximbuild -- -CREATE TRUSTED PROCEDURAL LANGUAGE plperl HANDLER plperl_call_handler; - - --- --- Name: plperlu; Type: PROCEDURAL LANGUAGE; Schema: public; Owner: --- +CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql; -CREATE PROCEDURAL LANGUAGE plperlu HANDLER plperl_call_handler; +ALTER PROCEDURAL LANGUAGE plpgsql OWNER TO eximbuild; --- --- Name: plpgsql_call_handler(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm --- - -CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler - AS '$libdir/plpgsql', 'plpgsql_call_handler' - LANGUAGE c; - - -ALTER FUNCTION public.plpgsql_call_handler() OWNER TO pgbuildfarm; - --- --- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: public; Owner: --- - -CREATE TRUSTED PROCEDURAL LANGUAGE plpgsql HANDLER plpgsql_call_handler; - +SET search_path = public, pg_catalog; -- --- Name: pending; Type: TYPE; Schema: public; Owner: pgbuildfarm +-- Name: pending; Type: TYPE; Schema: public; Owner: eximbuild -- CREATE TYPE pending AS ( @@ -73,10 +53,10 @@ CREATE TYPE pending AS ( ); -ALTER TYPE public.pending OWNER TO pgbuildfarm; +ALTER TYPE public.pending OWNER TO eximbuild; -- --- Name: pending2; Type: TYPE; Schema: public; Owner: pgbuildfarm +-- Name: pending2; Type: TYPE; Schema: public; Owner: eximbuild -- CREATE TYPE pending2 AS ( @@ -87,68 +67,122 @@ CREATE TYPE pending2 AS ( compiler_version text, architecture text, owner_email text, - "owner" text, + owner text, status_ts timestamp without time zone ); -ALTER TYPE public.pending2 OWNER TO pgbuildfarm; +ALTER TYPE public.pending2 OWNER TO eximbuild; -- --- Name: approve(text, text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm +-- Name: approve(text, text); Type: FUNCTION; Schema: public; Owner: eximbuild -- CREATE FUNCTION approve(text, text) RETURNS void - AS $_$update buildsystems set name = $2, status ='approved' where name = $1 and status = 'pending'$_$ - LANGUAGE sql; + LANGUAGE sql + AS $_$update buildsystems set name = $2, status ='approved' where name = $1 and status = 'pending'$_$; -ALTER FUNCTION public.approve(text, text) OWNER TO pgbuildfarm; +ALTER FUNCTION public.approve(text, text) OWNER TO eximbuild; -- --- Name: approve2(text, text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm +-- Name: approve2(text, text); Type: FUNCTION; Schema: public; Owner: eximbuild -- CREATE FUNCTION approve2(text, text) RETURNS text - AS $_$ update buildsystems set name = $2, status = 'approved' where name = $1 and status = 'pending'; select owner_email || ':' || name || ':' || secret from buildsystems where name = $2;$_$ - LANGUAGE sql; + LANGUAGE sql + AS $_$ update buildsystems set name = $2, status = 'approved' where name = $1 and status = 'pending'; select owner_email || ':' || name || ':' || secret from buildsystems where name = $2;$_$; -ALTER FUNCTION public.approve2(text, text) OWNER TO pgbuildfarm; +ALTER FUNCTION public.approve2(text, text) OWNER TO eximbuild; -- --- Name: pending(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm +-- Name: pending(); Type: FUNCTION; Schema: public; Owner: eximbuild -- CREATE FUNCTION pending() RETURNS SETOF pending2 - 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 $$ - LANGUAGE sql; + LANGUAGE sql + 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 $$; + + +ALTER FUNCTION public.pending() OWNER TO eximbuild; + +-- +-- Name: plperl_call_handler(); Type: FUNCTION; Schema: public; Owner: eximbuild +-- + +CREATE FUNCTION plperl_call_handler() RETURNS language_handler + LANGUAGE c + AS '$libdir/plperl', 'plperl_call_handler'; + + +ALTER FUNCTION public.plperl_call_handler() OWNER TO eximbuild; + +-- +-- Name: plpgsql_call_handler(); Type: FUNCTION; Schema: public; Owner: eximbuild +-- + +CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler + LANGUAGE c + AS '$libdir/plpgsql', 'plpgsql_call_handler'; -ALTER FUNCTION public.pending() OWNER TO pgbuildfarm; +ALTER FUNCTION public.plpgsql_call_handler() OWNER TO eximbuild; -- --- Name: prevstat(text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: pgbuildfarm +-- Name: pregex(text, text, text); Type: FUNCTION; Schema: public; Owner: eximbuild +-- + +CREATE FUNCTION pregex(text, text, text) RETURNS text + LANGUAGE plperl + AS $_$ my $source = shift; my $pattern = shift; my $repl = shift; my $regex = qr($pattern)i; $source =~ s/$regex/$repl/g; return $source; $_$; + + +ALTER FUNCTION public.pregex(text, text, text) OWNER TO eximbuild; + +-- +-- Name: prevstat(text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: eximbuild -- CREATE FUNCTION prevstat(text, text, timestamp without time zone) RETURNS text + LANGUAGE sql AS $_$ select coalesce((select distinct on (snapshot) stage from build_status where sysname = $1 and branch = $2 and snapshot < $3 order by snapshot desc limit 1), 'NEW') as prev_status -$_$ - LANGUAGE sql; +$_$; -ALTER FUNCTION public.prevstat(text, text, timestamp without time zone) OWNER TO pgbuildfarm; +ALTER FUNCTION public.prevstat(text, text, timestamp without time zone) OWNER TO eximbuild; -- --- Name: set_latest(); Type: FUNCTION; Schema: public; Owner: pgbuildfarm +-- Name: script_version(text); Type: FUNCTION; Schema: public; Owner: eximbuild -- -CREATE FUNCTION set_latest() RETURNS "trigger" +CREATE FUNCTION script_version(text) RETURNS text + LANGUAGE plperl + AS $_$ + + my $log = shift; + if ($log =~ /'script_version' => '(REL_)?(\d+)\.(\d+)'/) + { + return sprintf("%.03d%.03d",$2,$3); + } + return '-1'; + +$_$; + + +ALTER FUNCTION public.script_version(text) OWNER TO eximbuild; + +-- +-- Name: set_latest(); Type: FUNCTION; Schema: public; Owner: eximbuild +-- + +CREATE FUNCTION set_latest() RETURNS trigger + LANGUAGE plpgsql AS $$ begin @@ -163,28 +197,39 @@ CREATE FUNCTION set_latest() RETURNS "trigger" end if; return NEW; end; -$$ - LANGUAGE plpgsql; +$$; + + +ALTER FUNCTION public.set_latest() OWNER TO eximbuild; + +-- +-- Name: set_local_error_terse(); Type: FUNCTION; Schema: public; Owner: eximbuild +-- + +CREATE FUNCTION set_local_error_terse() RETURNS void + LANGUAGE sql SECURITY DEFINER + AS $$ set local log_error_verbosity = terse $$; -ALTER FUNCTION public.set_latest() OWNER TO pgbuildfarm; +ALTER FUNCTION public.set_local_error_terse() OWNER TO eximbuild; -- --- Name: target(text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm +-- Name: target(text); Type: FUNCTION; Schema: public; Owner: eximbuild -- CREATE FUNCTION target(t text) RETURNS text - AS $_$ my $log = shift; $log =~ s/.*(Target:[^\n]*).*/$1/s; return $log; $_$ - LANGUAGE plperl; + LANGUAGE plperl + AS $_$ my $log = shift; $log =~ s/.*(Target:[^\n]*).*/$1/s; return $log; $_$; -ALTER FUNCTION public.target(t text) OWNER TO pgbuildfarm; +ALTER FUNCTION public.target(t text) OWNER TO eximbuild; -- --- Name: transitions(text, text, text, text, text, text); Type: FUNCTION; Schema: public; Owner: pgbuildfarm +-- Name: transitions(text, text, text, text, text, text); Type: FUNCTION; Schema: public; Owner: eximbuild -- CREATE FUNCTION transitions(text, text, text, text, text, text) RETURNS integer + LANGUAGE plperl AS $_$ my ($os,$osv,$comp,$compv,$arch,$owner) = @_; @@ -209,18 +254,37 @@ foreach (split "" ,"$os$osv$comp$compv$arch$owner") return $counttrans; -$_$ - LANGUAGE plperl; +$_$; -ALTER FUNCTION public.transitions(text, text, text, text, text, text) OWNER TO pgbuildfarm; +ALTER FUNCTION public.transitions(text, text, text, text, text, text) OWNER TO eximbuild; + +-- +-- Name: web_script_version(text); Type: FUNCTION; Schema: public; Owner: eximbuild +-- + +CREATE FUNCTION web_script_version(text) RETURNS text + LANGUAGE plperl + AS $_$ + + my $log = shift; + if ($log =~ /'web_script_version' => '(REL_)?(\d+)\.(\d+)'/) + { + return sprintf("%0.3d%0.3d",$2,$3); + } + return '-1'; + +$_$; + + +ALTER FUNCTION public.web_script_version(text) OWNER TO eximbuild; SET default_tablespace = ''; SET default_with_oids = true; -- --- Name: alerts; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: alerts; Type: TABLE; Schema: public; Owner: eximbuild; Tablespace: -- CREATE TABLE alerts ( @@ -231,10 +295,10 @@ CREATE TABLE alerts ( ); -ALTER TABLE public.alerts OWNER TO pgbuildfarm; +ALTER TABLE public.alerts OWNER TO eximbuild; -- --- Name: build_status; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: build_status; Type: TABLE; Schema: public; Owner: eximbuild; Tablespace: -- CREATE TABLE build_status ( @@ -252,24 +316,26 @@ CREATE TABLE build_status ( build_flags text[], report_time timestamp with time zone DEFAULT ('now'::text)::timestamp(6) with time zone, scm text, - scmurl text + scmurl text, + frozen_conf bytea, + git_head_ref text ); -ALTER TABLE public.build_status OWNER TO pgbuildfarm; +ALTER TABLE public.build_status OWNER TO eximbuild; -- --- Name: build_status_export; Type: VIEW; Schema: public; Owner: pgbuildfarm +-- Name: build_status_export; Type: VIEW; Schema: public; Owner: eximbuild -- CREATE VIEW build_status_export AS SELECT build_status.sysname AS name, build_status.snapshot, build_status.stage, build_status.branch, build_status.build_flags FROM build_status; -ALTER TABLE public.build_status_export OWNER TO pgbuildfarm; +ALTER TABLE public.build_status_export OWNER TO eximbuild; -- --- Name: build_status_log; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: build_status_log; Type: TABLE; Schema: public; Owner: eximbuild; Tablespace: -- CREATE TABLE build_status_log ( @@ -282,10 +348,10 @@ CREATE TABLE build_status_log ( ); -ALTER TABLE public.build_status_log OWNER TO pgbuildfarm; +ALTER TABLE public.build_status_log OWNER TO eximbuild; -- --- Name: buildsystems; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: buildsystems; Type: TABLE; Schema: public; Owner: eximbuild; Tablespace: -- CREATE TABLE buildsystems ( @@ -306,118 +372,90 @@ CREATE TABLE buildsystems ( ); -ALTER TABLE public.buildsystems OWNER TO pgbuildfarm; +ALTER TABLE public.buildsystems OWNER TO eximbuild; -- --- Name: buildsystems_export; Type: VIEW; Schema: public; Owner: pgbuildfarm +-- Name: buildsystems_export; Type: VIEW; Schema: public; Owner: eximbuild -- CREATE VIEW buildsystems_export AS SELECT buildsystems.name, buildsystems.operating_system, buildsystems.os_version, buildsystems.compiler, buildsystems.compiler_version, buildsystems.architecture FROM buildsystems WHERE (buildsystems.status = 'approved'::text); -ALTER TABLE public.buildsystems_export OWNER TO pgbuildfarm; +ALTER TABLE public.buildsystems_export OWNER TO eximbuild; -- --- Name: latest_snapshot; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: dashboard_mat; Type: TABLE; Schema: public; Owner: eximbuild; Tablespace: -- -CREATE TABLE latest_snapshot ( +CREATE TABLE dashboard_mat ( sysname text NOT NULL, + snapshot timestamp without time zone NOT NULL, + status integer, + stage text, branch text NOT NULL, - snapshot timestamp without time zone NOT NULL + build_flags text[], + operating_system text, + os_version text, + compiler text, + compiler_version text, + architecture text, + sys_notes_ts timestamp with time zone, + sys_notes text ); -ALTER TABLE public.latest_snapshot OWNER TO pgbuildfarm; +ALTER TABLE public.dashboard_mat OWNER TO eximbuild; -- --- Name: personality; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: latest_snapshot; Type: TABLE; Schema: public; Owner: eximbuild; Tablespace: -- -CREATE TABLE personality ( - name text NOT NULL, - os_version text NOT NULL, - compiler_version text NOT NULL, - effective_date timestamp with time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL +CREATE TABLE latest_snapshot ( + sysname text NOT NULL, + branch text NOT NULL, + snapshot timestamp without time zone NOT NULL ); -ALTER TABLE public.personality OWNER TO pgbuildfarm; +ALTER TABLE public.latest_snapshot OWNER TO eximbuild; -- --- Name: dashboard; Type: VIEW; Schema: public; Owner: pgbuildfarm +-- Name: personality; Type: TABLE; Schema: public; Owner: eximbuild; Tablespace: -- -CREATE VIEW dashboard AS - 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)); - - -ALTER TABLE public.dashboard OWNER TO pgbuildfarm; - --- --- Name: dashboard_ex; Type: VIEW; Schema: public; Owner: pgbuildfarm --- - -CREATE VIEW dashboard_ex AS - 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)); - - -ALTER TABLE public.dashboard_ex OWNER TO pgbuildfarm; - --- --- Name: dashboard_mat; Type: TABLE; Schema: public; Owner: pgbfweb; Tablespace: --- - -CREATE TABLE dashboard_mat ( - sysname text, - snapshot timestamp without time zone, - status integer, - stage text, - branch text, - build_flags text[], - operating_system text, - os_version text, - compiler text, - compiler_version text, - architecture text +CREATE TABLE personality ( + name text NOT NULL, + os_version text NOT NULL, + compiler_version text NOT NULL, + effective_date timestamp with time zone DEFAULT ('now'::text)::timestamp(6) with time zone NOT NULL ); -ALTER TABLE public.dashboard_mat OWNER TO pgbfweb; +ALTER TABLE public.personality OWNER TO eximbuild; -- --- Name: dashboard_mat_data; Type: VIEW; Schema: public; Owner: pgbuildfarm +-- Name: dashboard_mat_data; Type: VIEW; Schema: public; Owner: eximbuild -- CREATE VIEW dashboard_mat_data AS - 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)); - - -ALTER TABLE public.dashboard_mat_data OWNER TO pgbuildfarm; - --- --- Name: dashboard_mat_data2; Type: VIEW; Schema: public; Owner: pgbuildfarm --- + 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, s.sys_notes_ts, s.sys_notes 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)); -CREATE VIEW dashboard_mat_data2 AS - 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)); - -ALTER TABLE public.dashboard_mat_data2 OWNER TO pgbuildfarm; +ALTER TABLE public.dashboard_mat_data OWNER TO eximbuild; -- --- Name: failures; Type: VIEW; Schema: public; Owner: pgbuildfarm +-- Name: failures; Type: VIEW; Schema: public; Owner: eximbuild -- CREATE VIEW failures AS 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)); -ALTER TABLE public.failures OWNER TO pgbuildfarm; +ALTER TABLE public.failures OWNER TO eximbuild; -- --- Name: list_subscriptions; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: list_subscriptions; Type: TABLE; Schema: public; Owner: eximbuild; Tablespace: -- CREATE TABLE list_subscriptions ( @@ -425,10 +463,10 @@ CREATE TABLE list_subscriptions ( ); -ALTER TABLE public.list_subscriptions OWNER TO pgbuildfarm; +ALTER TABLE public.list_subscriptions OWNER TO eximbuild; -- --- Name: penguin_save; Type: TABLE; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: penguin_save; Type: TABLE; Schema: public; Owner: eximbuild; Tablespace: -- CREATE TABLE penguin_save ( @@ -438,135 +476,140 @@ CREATE TABLE penguin_save ( ); -ALTER TABLE public.penguin_save OWNER TO pgbuildfarm; +ALTER TABLE public.penguin_save OWNER TO eximbuild; -- --- Name: recent_failures; Type: VIEW; Schema: public; Owner: pgbuildfarm +-- Name: recent_failures; Type: VIEW; Schema: public; Owner: eximbuild -- CREATE VIEW recent_failures AS 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)); -ALTER TABLE public.recent_failures OWNER TO pgbuildfarm; +ALTER TABLE public.recent_failures OWNER TO eximbuild; + +-- +-- Name: script_versions; Type: VIEW; Schema: public; Owner: eximbuild +-- + +CREATE VIEW script_versions AS + SELECT b.sysname, b.snapshot, b.branch, (script_version(b.conf_sum))::numeric AS script_version, (web_script_version(b.conf_sum))::numeric AS web_script_version FROM (build_status b JOIN dashboard_mat d ON (((b.sysname = d.sysname) AND (b.snapshot = d.snapshot)))); + + +ALTER TABLE public.script_versions OWNER TO eximbuild; + +-- +-- Name: script_versions2; Type: VIEW; Schema: public; Owner: eximbuild +-- + +CREATE VIEW script_versions2 AS + SELECT b.sysname, b.snapshot, b.branch, script_version(b.conf_sum) AS script_version, web_script_version(b.conf_sum) AS web_script_version FROM (build_status b JOIN dashboard_mat d ON (((b.sysname = d.sysname) AND (b.snapshot = d.snapshot)))); + + +ALTER TABLE public.script_versions2 OWNER TO eximbuild; -- --- Name: alerts_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: alerts_pkey; Type: CONSTRAINT; Schema: public; Owner: eximbuild; Tablespace: -- ALTER TABLE ONLY alerts ADD CONSTRAINT alerts_pkey PRIMARY KEY (sysname, branch); -ALTER INDEX public.alerts_pkey OWNER TO pgbuildfarm; - -- --- Name: build_status_log_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: build_status_log_pkey; Type: CONSTRAINT; Schema: public; Owner: eximbuild; Tablespace: -- ALTER TABLE ONLY build_status_log ADD CONSTRAINT build_status_log_pkey PRIMARY KEY (sysname, snapshot, log_stage); -ALTER INDEX public.build_status_log_pkey OWNER TO pgbuildfarm; - -- --- Name: build_status_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: build_status_pkey; Type: CONSTRAINT; Schema: public; Owner: eximbuild; Tablespace: -- ALTER TABLE ONLY build_status ADD CONSTRAINT build_status_pkey PRIMARY KEY (sysname, snapshot); -ALTER INDEX public.build_status_pkey OWNER TO pgbuildfarm; - -- --- Name: buildsystems_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: buildsystems_pkey; Type: CONSTRAINT; Schema: public; Owner: eximbuild; Tablespace: -- ALTER TABLE ONLY buildsystems ADD CONSTRAINT buildsystems_pkey PRIMARY KEY (name); -ALTER INDEX public.buildsystems_pkey OWNER TO pgbuildfarm; +-- +-- Name: dashboard_mat_pk; Type: CONSTRAINT; Schema: public; Owner: eximbuild; Tablespace: +-- + +ALTER TABLE ONLY dashboard_mat + ADD CONSTRAINT dashboard_mat_pk PRIMARY KEY (branch, sysname, snapshot); + +ALTER TABLE dashboard_mat CLUSTER ON dashboard_mat_pk; + -- --- Name: latest_snapshot_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: latest_snapshot_pkey; Type: CONSTRAINT; Schema: public; Owner: eximbuild; Tablespace: -- ALTER TABLE ONLY latest_snapshot ADD CONSTRAINT latest_snapshot_pkey PRIMARY KEY (sysname, branch); -ALTER INDEX public.latest_snapshot_pkey OWNER TO pgbuildfarm; - -- --- Name: personality_pkey; Type: CONSTRAINT; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: personality_pkey; Type: CONSTRAINT; Schema: public; Owner: eximbuild; Tablespace: -- ALTER TABLE ONLY personality ADD CONSTRAINT personality_pkey PRIMARY KEY (name, effective_date); -ALTER INDEX public.personality_pkey OWNER TO pgbuildfarm; - -- --- Name: bs_branch_snapshot_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: bs_branch_snapshot_idx; Type: INDEX; Schema: public; Owner: eximbuild; Tablespace: -- CREATE INDEX bs_branch_snapshot_idx ON build_status USING btree (branch, snapshot); -ALTER INDEX public.bs_branch_snapshot_idx OWNER TO pgbuildfarm; - -- --- Name: bs_status_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: bs_status_idx; Type: INDEX; Schema: public; Owner: eximbuild; Tablespace: -- CREATE INDEX bs_status_idx ON buildsystems USING btree (status); -ALTER INDEX public.bs_status_idx OWNER TO pgbuildfarm; - -- --- Name: bs_sysname_branch_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: bs_sysname_branch_idx; Type: INDEX; Schema: public; Owner: eximbuild; Tablespace: -- CREATE INDEX bs_sysname_branch_idx ON build_status USING btree (sysname, branch); -ALTER INDEX public.bs_sysname_branch_idx OWNER TO pgbuildfarm; - -- --- Name: bs_sysname_branch_report_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: bs_sysname_branch_report_idx; Type: INDEX; Schema: public; Owner: eximbuild; Tablespace: -- CREATE INDEX bs_sysname_branch_report_idx ON build_status USING btree (sysname, branch, report_time); -ALTER INDEX public.bs_sysname_branch_report_idx OWNER TO pgbuildfarm; - -- --- Name: build_status_log_snapshot_idx; Type: INDEX; Schema: public; Owner: pgbuildfarm; Tablespace: +-- Name: build_status_log_snapshot_idx; Type: INDEX; Schema: public; Owner: eximbuild; Tablespace: -- CREATE INDEX build_status_log_snapshot_idx ON build_status_log USING btree (snapshot); -ALTER INDEX public.build_status_log_snapshot_idx OWNER TO pgbuildfarm; - -- --- Name: set_latest_snapshot; Type: TRIGGER; Schema: public; Owner: pgbuildfarm +-- Name: set_latest_snapshot; Type: TRIGGER; Schema: public; Owner: eximbuild -- -CREATE TRIGGER set_latest_snapshot - AFTER INSERT ON build_status - FOR EACH ROW - EXECUTE PROCEDURE set_latest(); +CREATE TRIGGER set_latest_snapshot AFTER INSERT ON build_status FOR EACH ROW EXECUTE PROCEDURE set_latest(); -- --- Name: bs_fk; Type: FK CONSTRAINT; Schema: public; Owner: pgbuildfarm +-- Name: bs_fk; Type: FK CONSTRAINT; Schema: public; Owner: eximbuild -- ALTER TABLE ONLY build_status @@ -574,7 +617,7 @@ ALTER TABLE ONLY build_status -- --- Name: build_status_log_sysname_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pgbuildfarm +-- Name: build_status_log_sysname_fkey; Type: FK CONSTRAINT; Schema: public; Owner: eximbuild -- ALTER TABLE ONLY build_status_log @@ -582,7 +625,7 @@ ALTER TABLE ONLY build_status_log -- --- Name: personality_build_systems_name_fk; Type: FK CONSTRAINT; Schema: public; Owner: pgbuildfarm +-- Name: personality_build_systems_name_fk; Type: FK CONSTRAINT; Schema: public; Owner: eximbuild -- ALTER TABLE ONLY personality @@ -590,116 +633,88 @@ ALTER TABLE ONLY personality -- --- Name: public; Type: ACL; Schema: -; Owner: pgbuildfarm +-- Name: public; Type: ACL; Schema: -; Owner: postgres -- REVOKE ALL ON SCHEMA public FROM PUBLIC; -REVOKE ALL ON SCHEMA public FROM pgbuildfarm; -GRANT ALL ON SCHEMA public TO pgbuildfarm; +REVOKE ALL ON SCHEMA public FROM postgres; +GRANT ALL ON SCHEMA public TO postgres; +GRANT ALL ON SCHEMA public TO eximbuild; GRANT ALL ON SCHEMA public TO PUBLIC; -- --- Name: build_status; Type: ACL; Schema: public; Owner: pgbuildfarm +-- Name: build_status; Type: ACL; Schema: public; Owner: eximbuild -- REVOKE ALL ON TABLE build_status FROM PUBLIC; -REVOKE ALL ON TABLE build_status FROM pgbuildfarm; -GRANT ALL ON TABLE build_status TO pgbuildfarm; -GRANT INSERT,SELECT ON TABLE build_status TO pgbfweb; +REVOKE ALL ON TABLE build_status FROM eximbuild; +GRANT ALL ON TABLE build_status TO eximbuild; +GRANT SELECT,INSERT ON TABLE build_status TO apache; GRANT SELECT ON TABLE build_status TO rssfeed; -- --- Name: build_status_log; Type: ACL; Schema: public; Owner: pgbuildfarm +-- Name: build_status_log; Type: ACL; Schema: public; Owner: eximbuild -- REVOKE ALL ON TABLE build_status_log FROM PUBLIC; -REVOKE ALL ON TABLE build_status_log FROM pgbuildfarm; -GRANT ALL ON TABLE build_status_log TO pgbuildfarm; -GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE build_status_log TO pgbfweb; +REVOKE ALL ON TABLE build_status_log FROM eximbuild; +GRANT ALL ON TABLE build_status_log TO eximbuild; +GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE build_status_log TO apache; GRANT SELECT ON TABLE build_status_log TO rssfeed; -- --- Name: buildsystems; Type: ACL; Schema: public; Owner: pgbuildfarm +-- Name: buildsystems; Type: ACL; Schema: public; Owner: eximbuild -- REVOKE ALL ON TABLE buildsystems FROM PUBLIC; -REVOKE ALL ON TABLE buildsystems FROM pgbuildfarm; -GRANT ALL ON TABLE buildsystems TO pgbuildfarm; -GRANT INSERT,SELECT,UPDATE ON TABLE buildsystems TO pgbfweb; +REVOKE ALL ON TABLE buildsystems FROM eximbuild; +GRANT ALL ON TABLE buildsystems TO eximbuild; +GRANT SELECT,INSERT,UPDATE ON TABLE buildsystems TO apache; GRANT SELECT ON TABLE buildsystems TO rssfeed; -- --- Name: latest_snapshot; Type: ACL; Schema: public; Owner: pgbuildfarm +-- Name: dashboard_mat; Type: ACL; Schema: public; Owner: eximbuild -- -REVOKE ALL ON TABLE latest_snapshot FROM PUBLIC; -REVOKE ALL ON TABLE latest_snapshot FROM pgbuildfarm; -GRANT ALL ON TABLE latest_snapshot TO pgbuildfarm; -GRANT INSERT,SELECT,UPDATE,DELETE ON TABLE latest_snapshot TO pgbfweb; - - --- --- Name: personality; Type: ACL; Schema: public; Owner: pgbuildfarm --- - -REVOKE ALL ON TABLE personality FROM PUBLIC; -REVOKE ALL ON TABLE personality FROM pgbuildfarm; -GRANT ALL ON TABLE personality TO pgbuildfarm; -GRANT INSERT,SELECT ON TABLE personality TO pgbfweb; -GRANT SELECT ON TABLE personality TO rssfeed; - - --- --- Name: dashboard; Type: ACL; Schema: public; Owner: pgbuildfarm --- - -REVOKE ALL ON TABLE dashboard FROM PUBLIC; -REVOKE ALL ON TABLE dashboard FROM pgbuildfarm; -GRANT ALL ON TABLE dashboard TO pgbuildfarm; -GRANT SELECT ON TABLE dashboard TO pgbfweb; +REVOKE ALL ON TABLE dashboard_mat FROM PUBLIC; +REVOKE ALL ON TABLE dashboard_mat FROM eximbuild; +GRANT ALL ON TABLE dashboard_mat TO eximbuild; +GRANT SELECT,INSERT,DELETE ON TABLE dashboard_mat TO apache; -- --- Name: dashboard_ex; Type: ACL; Schema: public; Owner: pgbuildfarm +-- Name: latest_snapshot; Type: ACL; Schema: public; Owner: eximbuild -- -REVOKE ALL ON TABLE dashboard_ex FROM PUBLIC; -REVOKE ALL ON TABLE dashboard_ex FROM pgbuildfarm; -GRANT ALL ON TABLE dashboard_ex TO pgbuildfarm; -GRANT SELECT ON TABLE dashboard_ex TO pgbfweb; +REVOKE ALL ON TABLE latest_snapshot FROM PUBLIC; +REVOKE ALL ON TABLE latest_snapshot FROM eximbuild; +GRANT ALL ON TABLE latest_snapshot TO eximbuild; +GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE latest_snapshot TO apache; -- --- Name: dashboard_mat; Type: ACL; Schema: public; Owner: pgbfweb +-- Name: personality; Type: ACL; Schema: public; Owner: eximbuild -- -REVOKE ALL ON TABLE dashboard_mat FROM PUBLIC; -REVOKE ALL ON TABLE dashboard_mat FROM pgbfweb; -GRANT ALL ON TABLE dashboard_mat TO pgbfweb; +REVOKE ALL ON TABLE personality FROM PUBLIC; +REVOKE ALL ON TABLE personality FROM eximbuild; +GRANT ALL ON TABLE personality TO eximbuild; +GRANT SELECT,INSERT ON TABLE personality TO apache; +GRANT SELECT ON TABLE personality TO rssfeed; -- --- Name: dashboard_mat_data; Type: ACL; Schema: public; Owner: pgbuildfarm +-- Name: dashboard_mat_data; Type: ACL; Schema: public; Owner: eximbuild -- REVOKE ALL ON TABLE dashboard_mat_data FROM PUBLIC; -REVOKE ALL ON TABLE dashboard_mat_data FROM pgbuildfarm; -GRANT ALL ON TABLE dashboard_mat_data TO pgbuildfarm; -GRANT SELECT ON TABLE dashboard_mat_data TO pgbfweb; - - --- --- Name: dashboard_mat_data2; Type: ACL; Schema: public; Owner: pgbuildfarm --- - -REVOKE ALL ON TABLE dashboard_mat_data2 FROM PUBLIC; -REVOKE ALL ON TABLE dashboard_mat_data2 FROM pgbuildfarm; -GRANT ALL ON TABLE dashboard_mat_data2 TO pgbuildfarm; -GRANT SELECT ON TABLE dashboard_mat_data2 TO pgbfweb; +REVOKE ALL ON TABLE dashboard_mat_data FROM eximbuild; +GRANT ALL ON TABLE dashboard_mat_data TO eximbuild; +GRANT SELECT ON TABLE dashboard_mat_data TO apache; --