summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--[l---------]gentoobrowse-api/db/schema.sql908
1 files changed, 907 insertions, 1 deletions
diff --git a/gentoobrowse-api/db/schema.sql b/gentoobrowse-api/db/schema.sql
index 24c8cfd..119d5bc 120000..100644
--- a/gentoobrowse-api/db/schema.sql
+++ b/gentoobrowse-api/db/schema.sql
@@ -1 +1,907 @@
-../../gentoobrowse/datasources/schema.sql \ No newline at end of file
+-- PostgreSQL database dump
+SET statement_timeout = 0;
+SET lock_timeout = 0;
+SET client_encoding = 'UTF8';
+SET standard_conforming_strings = on;
+SET check_function_bodies = false;
+SET client_min_messages = warning;
+-- Name: gentoobrowse; Type: SCHEMA; Schema: -; Owner: gentoo
+CREATE SCHEMA gentoobrowse;
+ALTER SCHEMA gentoobrowse OWNER TO gentoo;
+SET search_path = gentoobrowse, pg_catalog;
+-- Name: ebuildversion; Type: TYPE; Schema: gentoobrowse; Owner: gentoo
+CREATE TYPE ebuildversion AS (
+ ver bigint[],
+ versuffix character(1),
+ suffix bigint,
+ suffixnum bigint,
+ revision bigint
+);
+ALTER TYPE ebuildversion OWNER TO gentoo;
+-- Name: filterspec; Type: TYPE; Schema: gentoobrowse; Owner: gentoo
+CREATE TYPE filterspec AS (
+ part integer,
+ pattern text
+);
+ALTER TYPE filterspec OWNER TO gentoo;
+SET default_tablespace = '';
+SET default_with_oids = false;
+-- Name: bugs; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE bugs (
+ bugid integer NOT NULL,
+ severity text NOT NULL,
+ status text NOT NULL,
+ summary text NOT NULL,
+ firstseen timestamp without time zone DEFAULT now() NOT NULL
+);
+ALTER TABLE bugs OWNER TO gentoo;
+-- Name: TABLE bugs; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE bugs IS 'Import of Gentoo Bugs bug list from snapshots';
+-- Name: bugfts(bugs); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION bugfts(b bugs) RETURNS tsvector
+ LANGUAGE plpgsql IMMUTABLE
+ AS $$
+BEGIN
+ RETURN TO_TSVECTOR('english', regexp_replace(b.summary, '-[0-9][^ ]*', '', 'g'));
+END
+$$;
+ALTER FUNCTION gentoobrowse.bugfts(b bugs) OWNER TO gentoo;
+-- Name: ebuildfilter(text); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION ebuildfilter(atomspec text) RETURNS SETOF integer
+ LANGUAGE plpgsql
+ AS $_$
+declare
+ op text;
+ cat text;
+ pkg text;
+ ver gentoobrowse.ebuildversion;
+begin
+if (atomspec like '=%*') then
+ atomspec = '~' || substr(atomspec, 2, length(atomspec) - 2);
+end if;
+op = (regexp_matches(atomspec, '^([^a-z]*)'))[1];
+cat = (regexp_matches(atomspec, '^[^a-z]*([^/]+)/'))[1];
+pkg = (regexp_matches(atomspec, '/(.+?)((-[0-9])|$)'))[1];
+ver = ebuildversion_constructor((regexp_matches(atomspec, '-([0-9]+.*)$'))[1]);
+return query select ebuildid
+from ebuilds e, packages p, categories c
+where e.packageid = p.packageid
+and p.categoryid = c.categoryid
+and p.name = pkg
+and c.name = cat
+and case
+ when op = '=' then e.versioninst = ver
+ when op = '>=' then e.versioninst >= ver
+ when op = '<=' then e.versioninst <= ver
+ when op = '<' then e.versioninst < ver
+ when op = '>' then e.versioninst > ver
+ when op = '~' then e.versioninst ~ ver
+ when op = '' then true
+ else false
+end
+;
+end;
+$_$;
+ALTER FUNCTION gentoobrowse.ebuildfilter(atomspec text) OWNER TO gentoo;
+-- Name: ebuildversion_constructor(text); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION ebuildversion_constructor(val text) RETURNS ebuildversion
+ LANGUAGE plpgsql IMMUTABLE
+ AS $_$
+declare
+ v ebuildversion;
+ s text;
+begin
+ v.ver = string_to_array((regexp_matches(val, '^([0-9.]+)'))[1], '.')::bigint[];
+ v.versuffix = (regexp_matches(val, '[0-9]([a-z])'))[1];
+ v.versuffix = coalesce(v.versuffix, '@');
+ s = (regexp_matches(val, '_([a-z]+)'))[1];
+ case
+ when s = 'alpha' then v.suffix = -4;
+ when s = 'beta' then v.suffix = -3;
+ when s = 'pre' then v.suffix = -2;
+ when s = 'rc' then v.suffix = -1;
+ when s = 'p' then v.suffix = 1;
+ else v.suffix = 0;
+ end case;
+ v.suffixnum = (regexp_matches(val, '_[a-z]+([0-9]+)'))[1];
+ v.suffixnum = coalesce(v.suffixnum, 0);
+ v.revision = (regexp_matches(val, '-r([0-9]+)$'))[1];
+ v.revision = coalesce(v.revision, 0);
+ return v;
+end;
+$_$;
+ALTER FUNCTION gentoobrowse.ebuildversion_constructor(val text) OWNER TO gentoo;
+-- Name: ebuildversionrange(ebuildversion, ebuildversion); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION ebuildversionrange(a ebuildversion, b ebuildversion) RETURNS boolean
+ LANGUAGE plpgsql
+ AS $$begin
+-- If spec if longer, can't match
+if (array_length(a.ver, 1) < array_length(b.ver, 1)) then
+ return false;
+end if;
+-- Otherwise, they have to start the same
+if (position(array_to_string(b.ver, '.') in array_to_string(a.ver, '.')) != 1) then
+ return false;
+end if;
+if (a.ver = b.ver) then
+ if (a.versuffix != b.versuffix and b.versuffix != '@') then
+ return false;
+ end if;
+ if (a.suffix != b.suffix and b.suffix != 0) then
+ return false;
+ end if;
+ if (a.suffixnum != b.suffixnum and b.suffixnum != 0) then
+ return false;
+ end if;
+ if (a.revision != b.revision and b.revision != 0) then
+ return false;
+ end if;
+ return true;
+else
+ return ((b.versuffix = '@'
+ and b.suffix = 0
+ and b.suffixnum = 0
+ and b.revision = 0) or b is null);
+end if;
+end
+$$;
+ALTER FUNCTION gentoobrowse.ebuildversionrange(a ebuildversion, b ebuildversion) OWNER TO gentoo;
+-- Name: ebuildversiontotext(ebuildversion); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION ebuildversiontotext(v ebuildversion) RETURNS text
+ LANGUAGE plpgsql
+ AS $_$
+declare
+str text;
+begin
+str = array_to_string($1.ver, '.');
+if ($1.versuffix != '@') then
+ str = str || $1.versuffix;
+end if;
+if ($1.suffix != 0) then
+str = str || (
+ case
+ when $1.suffix = -4 then '_alpha'
+ when $1.suffix = -3 then '_beta'
+ when $1.suffix = -2 then '_pre'
+ when $1.suffix = -1 then '_rc'
+ when $1.suffix = 1 then '_p'
+ end );
+ str = str || $1.suffixnum;
+end if;
+if ($1.revision != 0) then
+ str = str || '-r' || $1.revision;
+end if;
+return str;
+end;
+$_$;
+ALTER FUNCTION gentoobrowse.ebuildversiontotext(v ebuildversion) OWNER TO gentoo;
+-- Name: namedpackages(text); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION namedpackages(str text) RETURNS text[]
+ LANGUAGE plpgsql IMMUTABLE
+ AS $$
+declare
+ pkgs text[];
+ p record;
+begin
+ for p in select regexp_matches(str, '([[:alnum:]]+-[[:alnum:]]+/(?:-?[_[:alpha:]+][[:alnum:]+]+)+)', 'g') as p
+ loop
+ pkgs = array_append(pkgs, p.p[1]);
+ end loop;
+ return pkgs;
+end
+$$;
+ALTER FUNCTION gentoobrowse.namedpackages(str text) OWNER TO gentoo;
+-- Name: packages; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE packages (
+ packageid integer NOT NULL,
+ categoryid integer NOT NULL,
+ name text NOT NULL,
+ firstseen timestamp without time zone DEFAULT now() NOT NULL,
+ description text NOT NULL,
+ summary text,
+ maintainer text,
+ herd text,
+ image text,
+ maintainername text
+);
+ALTER TABLE packages OWNER TO gentoo;
+-- Name: TABLE packages; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE packages IS 'Packages as summarised from their ebuilds';
+-- Name: packagefts(packages); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION packagefts(p packages) RETURNS tsvector
+ LANGUAGE plpgsql IMMUTABLE
+ AS $$
+BEGIN
+ RETURN (SETWEIGHT(TO_TSVECTOR('english', p.name), 'A') ||
+ SETWEIGHT(TO_TSVECTOR('english', p.description), 'B') ||
+ SETWEIGHT(TO_TSVECTOR('english', COALESCE(p.summary, '')), 'C'));
+END
+$$;
+ALTER FUNCTION gentoobrowse.packagefts(p packages) OWNER TO gentoo;
+-- Name: pathpartsmatchesspecs(text[], filterspec[]); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION pathpartsmatchesspecs(pathparts text[], spec filterspec[]) RETURNS boolean
+ LANGUAGE plpgsql
+ AS $$
+DECLARE
+ i integer;
+ p integer;
+BEGIN
+ p := array_upper(pathparts, 1);
+ FOR i IN 1 .. array_upper(spec, 1) LOOP
+ IF (p < spec[i].part) THEN RETURN FALSE; END IF;
+ IF (spec[i].part <= 0) THEN
+ IF (pathparts[p - spec[i].part] NOT LIKE spec[i].pattern) THEN RETURN FALSE; END IF;
+ ELSE
+ IF (pathparts[spec[i].part] NOT LIKE spec[i].pattern) THEN RETURN FALSE; END IF;
+ END IF;
+ END LOOP;
+ RETURN TRUE;
+END;
+$$;
+ALTER FUNCTION gentoobrowse.pathpartsmatchesspecs(pathparts text[], spec filterspec[]) OWNER TO gentoo;
+-- Name: sum(tsvector); Type: AGGREGATE; Schema: gentoobrowse; Owner: postgres
+CREATE AGGREGATE sum(tsvector) (
+ SFUNC = tsvector_concat,
+ STYPE = tsvector
+);
+ALTER AGGREGATE gentoobrowse.sum(tsvector) OWNER TO postgres;
+-- Name: ~; Type: OPERATOR; Schema: gentoobrowse; Owner: gentoo
+CREATE OPERATOR ~ (
+ PROCEDURE = ebuildversionrange,
+ LEFTARG = ebuildversion,
+ RIGHTARG = ebuildversion
+);
+ALTER OPERATOR gentoobrowse.~ (ebuildversion, ebuildversion) OWNER TO gentoo;
+-- Name: ~; Type: OPERATOR; Schema: gentoobrowse; Owner: gentoo
+CREATE OPERATOR ~ (
+ PROCEDURE = pathpartsmatchesspecs,
+ LEFTARG = text[],
+ RIGHTARG = filterspec[]
+);
+ALTER OPERATOR gentoobrowse.~ (text[], filterspec[]) OWNER TO gentoo;
+-- Name: categories; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE categories (
+ categoryid integer NOT NULL,
+ name text,
+ summary text
+);
+ALTER TABLE categories OWNER TO gentoo;
+-- Name: TABLE categories; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE categories IS 'Gentoo defined package categories';
+-- Name: ebuild_archs; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE ebuild_archs (
+ ebuildid integer NOT NULL,
+ arch text NOT NULL
+);
+ALTER TABLE ebuild_archs OWNER TO gentoo;
+-- Name: TABLE ebuild_archs; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE ebuild_archs IS 'Architectures an ebuild is suitable for';
+-- Name: ebuild_deps; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE ebuild_deps (
+ ebuildid integer NOT NULL,
+ packageid integer NOT NULL,
+ versionspec text NOT NULL,
+ flags text NOT NULL,
+ op character varying(4) NOT NULL,
+ slot text NOT NULL
+);
+ALTER TABLE ebuild_deps OWNER TO gentoo;
+-- Name: TABLE ebuild_deps; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE ebuild_deps IS 'The dependencies of ebuilds (includes blocks, etc)';
+-- Name: ebuild_masks; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE ebuild_masks (
+ setno integer NOT NULL,
+ ebuildid integer NOT NULL
+);
+ALTER TABLE ebuild_masks OWNER TO gentoo;
+-- Name: ebuild_rdeps; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE ebuild_rdeps (
+ ebuildid integer NOT NULL,
+ packageid integer NOT NULL,
+ versionspec text NOT NULL,
+ flags text NOT NULL,
+ op character varying(4) NOT NULL,
+ slot text NOT NULL
+);
+ALTER TABLE ebuild_rdeps OWNER TO gentoo;
+-- Name: ebuild_uses; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE ebuild_uses (
+ ebuildid integer NOT NULL,
+ use text NOT NULL
+);
+ALTER TABLE ebuild_uses OWNER TO gentoo;
+-- Name: TABLE ebuild_uses; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE ebuild_uses IS 'Use flags affecting ebuilds';
+-- Name: ebuilds; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE ebuilds (
+ ebuildid integer NOT NULL,
+ packageid integer NOT NULL,
+ version text NOT NULL,
+ versioninst ebuildversion NOT NULL,
+ slot text NOT NULL,
+ license text,
+ firstseen timestamp without time zone NOT NULL,
+ moddate timestamp without time zone NOT NULL,
+ repoid integer NOT NULL
+);
+ALTER TABLE ebuilds OWNER TO gentoo;
+-- Name: TABLE ebuilds; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE ebuilds IS 'Ebuilds :-)';
+-- Name: files; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE files (
+ filename text NOT NULL,
+ fileid integer NOT NULL,
+ moddate timestamp without time zone NOT NULL,
+ firstseen timestamp without time zone DEFAULT now() NOT NULL,
+ cachedat timestamp without time zone,
+ filetypeid integer NOT NULL,
+ repoid integer NOT NULL,
+ filesize integer NOT NULL,
+ pathparts text[] NOT NULL,
+ encoding text
+);
+ALTER TABLE files OWNER TO gentoo;
+-- Name: filecontent(files); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION filecontent(f files) RETURNS text
+ LANGUAGE plpgsql IMMUTABLE
+ AS $$
+begin
+ return CONVERT_FROM(PG_READ_BINARY_FILE(f.filename), COALESCE(f.encoding, 'utf-8'));
+end
+$$;
+ALTER FUNCTION gentoobrowse.filecontent(f files) OWNER TO gentoo;
+-- Name: filetypes; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE filetypes (
+ filetypeid integer NOT NULL,
+ description text NOT NULL,
+ spec filterspec[] NOT NULL
+);
+ALTER TABLE filetypes OWNER TO gentoo;
+-- Name: TABLE filetypes; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE filetypes IS 'What kind of file is this?... metadata, changelog, etc';
+-- Name: license; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE license (
+ name text NOT NULL,
+ legalbumph text NOT NULL
+);
+ALTER TABLE license OWNER TO gentoo;
+-- Name: masksets; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE masksets (
+ setno integer NOT NULL,
+ person text,
+ email text NOT NULL,
+ dateadded date NOT NULL,
+ message text NOT NULL,
+ n smallint NOT NULL
+);
+ALTER TABLE masksets OWNER TO gentoo;
+-- Name: masksets_setno_seq; Type: SEQUENCE; Schema: gentoobrowse; Owner: gentoo
+CREATE SEQUENCE masksets_setno_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+ALTER TABLE masksets_setno_seq OWNER TO gentoo;
+-- Name: masksets_setno_seq; Type: SEQUENCE OWNED BY; Schema: gentoobrowse; Owner: gentoo
+ALTER SEQUENCE masksets_setno_seq OWNED BY masksets.setno;
+-- Name: news; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE news (
+ newsid text NOT NULL,
+ title text NOT NULL,
+ posted date NOT NULL,
+ authorname text,
+ authoremail text,
+ atomspec text[],
+ body text[] NOT NULL,
+ urls text[]
+);
+ALTER TABLE news OWNER TO gentoo;
+-- Name: newsfts(news); Type: FUNCTION; Schema: gentoobrowse; Owner: gentoo
+CREATE FUNCTION newsfts(n news) RETURNS tsvector
+ LANGUAGE plpgsql IMMUTABLE
+ AS $$
+BEGIN
+ RETURN SUM(t) FROM (SELECT TO_TSVECTOR('english', UNNEST(n.body)) t) a;
+END
+$$;
+ALTER FUNCTION gentoobrowse.newsfts(n news) OWNER TO gentoo;
+-- Name: package_bugs; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE package_bugs (
+ packageid integer NOT NULL,
+ bugid integer NOT NULL,
+ firstseen timestamp without time zone DEFAULT now() NOT NULL
+);
+ALTER TABLE package_bugs OWNER TO gentoo;
+-- Name: TABLE package_bugs; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE package_bugs IS 'Association of bugs to products by bug description';
+-- Name: package_changelogs; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE package_changelogs (
+ packageid integer NOT NULL,
+ date date NOT NULL,
+ n smallint NOT NULL,
+ person text,
+ email text,
+ comment text,
+ repoid integer NOT NULL
+);
+ALTER TABLE package_changelogs OWNER TO gentoo;
+-- Name: package_urls; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE package_urls (
+ packageid integer NOT NULL,
+ url text NOT NULL
+);
+ALTER TABLE package_urls OWNER TO gentoo;
+-- Name: TABLE package_urls; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE package_urls IS 'URLs associated with a given package';
+-- Name: repos; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE repos (
+ repoid integer NOT NULL,
+ name text NOT NULL
+);
+ALTER TABLE repos OWNER TO gentoo;
+-- Name: repos_repoid_seq; Type: SEQUENCE; Schema: gentoobrowse; Owner: gentoo
+CREATE SEQUENCE repos_repoid_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+ALTER TABLE repos_repoid_seq OWNER TO gentoo;
+-- Name: repos_repoid_seq; Type: SEQUENCE OWNED BY; Schema: gentoobrowse; Owner: gentoo
+ALTER SEQUENCE repos_repoid_seq OWNED BY repos.repoid;
+-- Name: seq_categoryid; Type: SEQUENCE; Schema: gentoobrowse; Owner: gentoo
+CREATE SEQUENCE seq_categoryid
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+ALTER TABLE seq_categoryid OWNER TO gentoo;
+-- Name: seq_categoryid; Type: SEQUENCE OWNED BY; Schema: gentoobrowse; Owner: gentoo
+ALTER SEQUENCE seq_categoryid OWNED BY categories.categoryid;
+-- Name: seq_fileid; Type: SEQUENCE; Schema: gentoobrowse; Owner: gentoo
+CREATE SEQUENCE seq_fileid
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+ALTER TABLE seq_fileid OWNER TO gentoo;
+-- Name: seq_fileid; Type: SEQUENCE OWNED BY; Schema: gentoobrowse; Owner: gentoo
+ALTER SEQUENCE seq_fileid OWNED BY files.fileid;
+-- Name: seq_packageid; Type: SEQUENCE; Schema: gentoobrowse; Owner: gentoo
+CREATE SEQUENCE seq_packageid
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+ALTER TABLE seq_packageid OWNER TO gentoo;
+-- Name: seq_packageid; Type: SEQUENCE OWNED BY; Schema: gentoobrowse; Owner: gentoo
+ALTER SEQUENCE seq_packageid OWNED BY packages.packageid;
+-- Name: use_global; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE use_global (
+ use text NOT NULL,
+ description text
+);
+ALTER TABLE use_global OWNER TO gentoo;
+-- Name: use_group; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE use_group (
+ usegroupid integer NOT NULL,
+ use text NOT NULL,
+ description text NOT NULL
+);
+ALTER TABLE use_group OWNER TO gentoo;
+-- Name: use_groups; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE use_groups (
+ usegroupid integer NOT NULL,
+ name text NOT NULL
+);
+ALTER TABLE use_groups OWNER TO gentoo;
+-- Name: use_groups_usegroupid_seq; Type: SEQUENCE; Schema: gentoobrowse; Owner: gentoo
+CREATE SEQUENCE use_groups_usegroupid_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+ALTER TABLE use_groups_usegroupid_seq OWNER TO gentoo;
+-- Name: use_groups_usegroupid_seq; Type: SEQUENCE OWNED BY; Schema: gentoobrowse; Owner: gentoo
+ALTER SEQUENCE use_groups_usegroupid_seq OWNED BY use_groups.usegroupid;
+-- Name: use_local; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE use_local (
+ packageid integer NOT NULL,
+ use text NOT NULL,
+ description text NOT NULL
+);
+ALTER TABLE use_local OWNER TO gentoo;
+-- Name: user_ebuild_emails; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE user_ebuild_emails (
+ userid integer NOT NULL,
+ ebuildid integer NOT NULL,
+ sentat timestamp without time zone NOT NULL
+);
+ALTER TABLE user_ebuild_emails OWNER TO gentoo;
+-- Name: user_packages; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE user_packages (
+ userid integer NOT NULL,
+ packageid integer NOT NULL,
+ trackedsince timestamp without time zone DEFAULT now() NOT NULL
+);
+ALTER TABLE user_packages OWNER TO gentoo;
+-- Name: TABLE user_packages; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE user_packages IS 'Lists packages that registered users are interested in';
+-- Name: users; Type: TABLE; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE TABLE users (
+ userid integer NOT NULL,
+ username text NOT NULL,
+ userrealname text NOT NULL,
+ userpassword text NOT NULL,
+ useremail text NOT NULL,
+ verifyguid uuid
+);
+ALTER TABLE users OWNER TO gentoo;
+-- Name: TABLE users; Type: COMMENT; Schema: gentoobrowse; Owner: gentoo
+COMMENT ON TABLE users IS 'Registered users';
+-- Name: users_userid_seq; Type: SEQUENCE; Schema: gentoobrowse; Owner: gentoo
+CREATE SEQUENCE users_userid_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+ALTER TABLE users_userid_seq OWNER TO gentoo;
+-- Name: users_userid_seq; Type: SEQUENCE OWNED BY; Schema: gentoobrowse; Owner: gentoo
+ALTER SEQUENCE users_userid_seq OWNED BY users.userid;
+-- Name: categoryid; Type: DEFAULT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY categories ALTER COLUMN categoryid SET DEFAULT nextval('seq_categoryid'::regclass);
+-- Name: fileid; Type: DEFAULT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY files ALTER COLUMN fileid SET DEFAULT nextval('seq_fileid'::regclass);
+-- Name: setno; Type: DEFAULT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY masksets ALTER COLUMN setno SET DEFAULT nextval('masksets_setno_seq'::regclass);
+-- Name: packageid; Type: DEFAULT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY packages ALTER COLUMN packageid SET DEFAULT nextval('seq_packageid'::regclass);
+-- Name: repoid; Type: DEFAULT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY repos ALTER COLUMN repoid SET DEFAULT nextval('repos_repoid_seq'::regclass);
+-- Name: usegroupid; Type: DEFAULT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY use_groups ALTER COLUMN usegroupid SET DEFAULT nextval('use_groups_usegroupid_seq'::regclass);
+-- Name: userid; Type: DEFAULT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY users ALTER COLUMN userid SET DEFAULT nextval('users_userid_seq'::regclass);
+-- Name: license_pkey; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY license
+ ADD CONSTRAINT license_pkey PRIMARY KEY (name);
+-- Name: pk_bugs; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY bugs
+ ADD CONSTRAINT pk_bugs PRIMARY KEY (bugid);
+-- Name: pk_ebuild; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY ebuilds
+ ADD CONSTRAINT pk_ebuild PRIMARY KEY (ebuildid);
+-- Name: pk_ebuildarch; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY ebuild_archs
+ ADD CONSTRAINT pk_ebuildarch PRIMARY KEY (ebuildid, arch);
+ALTER TABLE ebuild_archs CLUSTER ON pk_ebuildarch;
+-- Name: pk_ebuilddeps; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY ebuild_deps
+ ADD CONSTRAINT pk_ebuilddeps PRIMARY KEY (ebuildid, packageid, versionspec, flags, slot, op);
+ALTER TABLE ebuild_deps CLUSTER ON pk_ebuilddeps;
+-- Name: pk_ebuildmasks; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY ebuild_masks
+ ADD CONSTRAINT pk_ebuildmasks PRIMARY KEY (ebuildid, setno);
+-- Name: pk_ebuildrdeps; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY ebuild_rdeps
+ ADD CONSTRAINT pk_ebuildrdeps PRIMARY KEY (ebuildid, packageid, versionspec, flags, slot, op);
+ALTER TABLE ebuild_rdeps CLUSTER ON pk_ebuildrdeps;
+-- Name: pk_ebuilduses; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY ebuild_uses
+ ADD CONSTRAINT pk_ebuilduses PRIMARY KEY (ebuildid, use);
+ALTER TABLE ebuild_uses CLUSTER ON pk_ebuilduses;
+-- Name: pk_fileclass; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY filetypes
+ ADD CONSTRAINT pk_fileclass PRIMARY KEY (filetypeid);
+-- Name: pk_files; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY files
+ ADD CONSTRAINT pk_files PRIMARY KEY (fileid);
+-- Name: pk_news; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY news
+ ADD CONSTRAINT pk_news PRIMARY KEY (newsid);
+-- Name: pk_package_changelogs; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY package_changelogs
+ ADD CONSTRAINT pk_package_changelogs PRIMARY KEY (packageid, date, n, repoid);
+ALTER TABLE package_changelogs CLUSTER ON pk_package_changelogs;
+-- Name: pk_packagebugs; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY package_bugs
+ ADD CONSTRAINT pk_packagebugs PRIMARY KEY (packageid, bugid);
+ALTER TABLE package_bugs CLUSTER ON pk_packagebugs;
+-- Name: pk_packagemasksets; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY masksets
+ ADD CONSTRAINT pk_packagemasksets PRIMARY KEY (setno);
+-- Name: pk_packages; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY packages
+ ADD CONSTRAINT pk_packages PRIMARY KEY (packageid);
+-- Name: pk_pkggroup; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY categories
+ ADD CONSTRAINT pk_pkggroup PRIMARY KEY (categoryid);
+-- Name: pk_pkgurls; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY package_urls
+ ADD CONSTRAINT pk_pkgurls PRIMARY KEY (packageid, url);
+ALTER TABLE package_urls CLUSTER ON pk_pkgurls;
+-- Name: pk_usegroup; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY use_groups
+ ADD CONSTRAINT pk_usegroup PRIMARY KEY (usegroupid);
+-- Name: pk_userebuildemails; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY user_ebuild_emails
+ ADD CONSTRAINT pk_userebuildemails PRIMARY KEY (userid, ebuildid);
+-- Name: pk_userpackages; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY user_packages
+ ADD CONSTRAINT pk_userpackages PRIMARY KEY (userid, packageid);
+ALTER TABLE user_packages CLUSTER ON pk_userpackages;
+-- Name: pk_users; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY users
+ ADD CONSTRAINT pk_users PRIMARY KEY (userid);
+-- Name: repos_pkey; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY repos
+ ADD CONSTRAINT repos_pkey PRIMARY KEY (repoid);
+-- Name: uni_ebuild_pkgverrepo; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY ebuilds
+ ADD CONSTRAINT uni_ebuild_pkgverrepo UNIQUE (packageid, version, repoid);
+ALTER TABLE ebuilds CLUSTER ON uni_ebuild_pkgverrepo;
+-- Name: uni_files_filename; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY files
+ ADD CONSTRAINT uni_files_filename UNIQUE (filename);
+-- Name: uni_pkg_name; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY packages
+ ADD CONSTRAINT uni_pkg_name UNIQUE (categoryid, name);
+ALTER TABLE packages CLUSTER ON uni_pkg_name;
+-- Name: uni_pkggroup_group; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY categories
+ ADD CONSTRAINT uni_pkggroup_group UNIQUE (name);
+-- Name: uni_useremail; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY users
+ ADD CONSTRAINT uni_useremail UNIQUE (useremail);
+-- Name: uni_username; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY users
+ ADD CONSTRAINT uni_username UNIQUE (username);
+-- Name: use_global_pkey; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY use_global
+ ADD CONSTRAINT use_global_pkey PRIMARY KEY (use);
+-- Name: use_group_pkey; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY use_group
+ ADD CONSTRAINT use_group_pkey PRIMARY KEY (usegroupid, use);
+-- Name: use_local_pkey; Type: CONSTRAINT; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+ALTER TABLE ONLY use_local
+ ADD CONSTRAINT use_local_pkey PRIMARY KEY (packageid, use);
+ALTER TABLE use_local CLUSTER ON use_local_pkey;
+-- Name: idx_bug_fts; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_bug_fts ON bugs USING gin (bugfts(bugs.*));
+-- Name: idx_bugs_firstseen; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_bugs_firstseen ON bugs USING btree (firstseen DESC);
+-- Name: idx_bugs_summarypackages; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_bugs_summarypackages ON bugs USING gin (namedpackages(summary));
+-- Name: idx_ebuilddeps_package; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_ebuilddeps_package ON ebuild_deps USING btree (packageid);
+-- Name: idx_ebuildrdeps_package; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_ebuildrdeps_package ON ebuild_rdeps USING btree (packageid);
+-- Name: idx_ebuilds_firstseen; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_ebuilds_firstseen ON ebuilds USING btree (firstseen);
+-- Name: idx_ebuilduses_use; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_ebuilduses_use ON ebuild_uses USING btree (use);
+-- Name: idx_news_fts; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_news_fts ON news USING gin (newsfts(news.*));
+-- Name: idx_news_posted; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_news_posted ON news USING btree (posted);
+-- Name: idx_package_name; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_package_name ON packages USING btree (name);
+-- Name: idx_packagebugs_bug; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_packagebugs_bug ON package_bugs USING btree (bugid);
+-- Name: idx_packages_fts; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_packages_fts ON packages USING gin (packagefts(packages.*));
+-- Name: idx_packages_herd; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_packages_herd ON packages USING btree (herd);
+-- Name: idx_uselocal_use; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_uselocal_use ON use_local USING btree (use);
+-- Name: idx_userpackages_package; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX idx_userpackages_package ON user_packages USING btree (packageid);
+-- Name: uni_masksets_dateaddedn; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:
+CREATE INDEX uni_masksets_dateaddedn ON masksets USING btree (dateadded, n);
+-- Name: fk_ebuild_pkg; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuilds
+ ADD CONSTRAINT fk_ebuild_pkg FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_ebuild_repo; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuilds
+ ADD CONSTRAINT fk_ebuild_repo FOREIGN KEY (repoid) REFERENCES repos(repoid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_ebuildarch_file; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuild_archs
+ ADD CONSTRAINT fk_ebuildarch_file FOREIGN KEY (ebuildid) REFERENCES ebuilds(ebuildid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_ebuilddeps_ebuild; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuild_deps
+ ADD CONSTRAINT fk_ebuilddeps_ebuild FOREIGN KEY (ebuildid) REFERENCES ebuilds(ebuildid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_ebuilddeps_pkg; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuild_deps
+ ADD CONSTRAINT fk_ebuilddeps_pkg FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_ebuildmasks_ebuild; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuild_masks
+ ADD CONSTRAINT fk_ebuildmasks_ebuild FOREIGN KEY (ebuildid) REFERENCES ebuilds(ebuildid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_ebuildmasks_maskset; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuild_masks
+ ADD CONSTRAINT fk_ebuildmasks_maskset FOREIGN KEY (setno) REFERENCES masksets(setno) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_ebuildrdeps_ebuild; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuild_rdeps
+ ADD CONSTRAINT fk_ebuildrdeps_ebuild FOREIGN KEY (ebuildid) REFERENCES ebuilds(ebuildid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_ebuildrdeps_pkg; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuild_rdeps
+ ADD CONSTRAINT fk_ebuildrdeps_pkg FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_ebuilduses_file; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY ebuild_uses
+ ADD CONSTRAINT fk_ebuilduses_file FOREIGN KEY (ebuildid) REFERENCES ebuilds(ebuildid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_files_type; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY files
+ ADD CONSTRAINT fk_files_type FOREIGN KEY (filetypeid) REFERENCES filetypes(filetypeid) ON UPDATE CASCADE;
+-- Name: fk_packagebugs_bug; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY package_bugs
+ ADD CONSTRAINT fk_packagebugs_bug FOREIGN KEY (bugid) REFERENCES bugs(bugid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_packagebugs_package; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY package_bugs
+ ADD CONSTRAINT fk_packagebugs_package FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_packagechangelogs_package; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY package_changelogs
+ ADD CONSTRAINT fk_packagechangelogs_package FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_packagechangelogs_repo; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY package_changelogs
+ ADD CONSTRAINT fk_packagechangelogs_repo FOREIGN KEY (repoid) REFERENCES repos(repoid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_packageurls_package; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY package_urls
+ ADD CONSTRAINT fk_packageurls_package FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_pkg_grp; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY packages
+ ADD CONSTRAINT fk_pkg_grp FOREIGN KEY (categoryid) REFERENCES categories(categoryid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_pkgurls_pkg; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY package_urls
+ ADD CONSTRAINT fk_pkgurls_pkg FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_usegroup_groupid; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY use_group
+ ADD CONSTRAINT fk_usegroup_groupid FOREIGN KEY (usegroupid) REFERENCES use_groups(usegroupid) ON DELETE CASCADE;
+-- Name: fk_uselocal_package; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY use_local
+ ADD CONSTRAINT fk_uselocal_package FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_userebuildemails_ebuild; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY user_ebuild_emails
+ ADD CONSTRAINT fk_userebuildemails_ebuild FOREIGN KEY (ebuildid) REFERENCES ebuilds(ebuildid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_userebuildemails_user; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY user_ebuild_emails
+ ADD CONSTRAINT fk_userebuildemails_user FOREIGN KEY (userid) REFERENCES users(userid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_userpackage_package; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY user_packages
+ ADD CONSTRAINT fk_userpackage_package FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_userpackage_user; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY user_packages
+ ADD CONSTRAINT fk_userpackage_user FOREIGN KEY (userid) REFERENCES users(userid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: fk_userpackages_package; Type: FK CONSTRAINT; Schema: gentoobrowse; Owner: gentoo
+ALTER TABLE ONLY user_packages
+ ADD CONSTRAINT fk_userpackages_package FOREIGN KEY (packageid) REFERENCES packages(packageid) ON UPDATE CASCADE ON DELETE CASCADE;
+-- Name: gentoobrowse; Type: ACL; Schema: -; Owner: gentoo
+REVOKE ALL ON SCHEMA gentoobrowse FROM PUBLIC;
+REVOKE ALL ON SCHEMA gentoobrowse FROM gentoo;
+GRANT USAGE ON SCHEMA gentoobrowse TO apache;
+GRANT USAGE ON SCHEMA gentoobrowse TO gentoo;
+-- Name: bugs; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE bugs FROM PUBLIC;
+REVOKE ALL ON TABLE bugs FROM gentoo;
+GRANT ALL ON TABLE bugs TO gentoo;
+GRANT SELECT ON TABLE bugs TO apache;
+-- Name: packages; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE packages FROM PUBLIC;
+REVOKE ALL ON TABLE packages FROM gentoo;
+GRANT ALL ON TABLE packages TO gentoo;
+GRANT SELECT ON TABLE packages TO apache;
+-- Name: categories; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE categories FROM PUBLIC;
+REVOKE ALL ON TABLE categories FROM gentoo;
+GRANT ALL ON TABLE categories TO gentoo;
+GRANT SELECT ON TABLE categories TO apache;
+-- Name: ebuild_archs; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE ebuild_archs FROM PUBLIC;
+REVOKE ALL ON TABLE ebuild_archs FROM gentoo;
+GRANT ALL ON TABLE ebuild_archs TO gentoo;
+GRANT SELECT ON TABLE ebuild_archs TO apache;
+-- Name: ebuild_deps; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE ebuild_deps FROM PUBLIC;
+REVOKE ALL ON TABLE ebuild_deps FROM gentoo;
+GRANT ALL ON TABLE ebuild_deps TO gentoo;
+GRANT SELECT ON TABLE ebuild_deps TO apache;
+-- Name: ebuild_masks; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE ebuild_masks FROM PUBLIC;
+REVOKE ALL ON TABLE ebuild_masks FROM gentoo;
+GRANT ALL ON TABLE ebuild_masks TO gentoo;
+GRANT SELECT ON TABLE ebuild_masks TO apache;
+-- Name: ebuild_rdeps; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE ebuild_rdeps FROM PUBLIC;
+REVOKE ALL ON TABLE ebuild_rdeps FROM gentoo;
+GRANT ALL ON TABLE ebuild_rdeps TO gentoo;
+GRANT SELECT ON TABLE ebuild_rdeps TO apache;
+-- Name: ebuild_uses; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE ebuild_uses FROM PUBLIC;
+REVOKE ALL ON TABLE ebuild_uses FROM gentoo;
+GRANT ALL ON TABLE ebuild_uses TO gentoo;
+GRANT SELECT ON TABLE ebuild_uses TO apache;
+-- Name: ebuilds; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE ebuilds FROM PUBLIC;
+REVOKE ALL ON TABLE ebuilds FROM gentoo;
+GRANT ALL ON TABLE ebuilds TO gentoo;
+GRANT SELECT ON TABLE ebuilds TO apache;
+-- Name: files; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE files FROM PUBLIC;
+REVOKE ALL ON TABLE files FROM gentoo;
+GRANT ALL ON TABLE files TO gentoo;
+GRANT SELECT ON TABLE files TO apache;
+-- Name: filetypes; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE filetypes FROM PUBLIC;
+REVOKE ALL ON TABLE filetypes FROM gentoo;
+GRANT ALL ON TABLE filetypes TO gentoo;
+GRANT SELECT ON TABLE filetypes TO apache;
+-- Name: masksets; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE masksets FROM PUBLIC;
+REVOKE ALL ON TABLE masksets FROM gentoo;
+GRANT ALL ON TABLE masksets TO gentoo;
+GRANT SELECT ON TABLE masksets TO apache;
+-- Name: package_bugs; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE package_bugs FROM PUBLIC;
+REVOKE ALL ON TABLE package_bugs FROM gentoo;
+GRANT ALL ON TABLE package_bugs TO gentoo;
+GRANT SELECT ON TABLE package_bugs TO apache;
+-- Name: package_changelogs; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE package_changelogs FROM PUBLIC;
+REVOKE ALL ON TABLE package_changelogs FROM gentoo;
+GRANT ALL ON TABLE package_changelogs TO gentoo;
+GRANT SELECT ON TABLE package_changelogs TO apache;
+-- Name: package_urls; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE package_urls FROM PUBLIC;
+REVOKE ALL ON TABLE package_urls FROM gentoo;
+GRANT ALL ON TABLE package_urls TO gentoo;
+GRANT SELECT ON TABLE package_urls TO apache;
+-- Name: repos; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE repos FROM PUBLIC;
+REVOKE ALL ON TABLE repos FROM gentoo;
+GRANT ALL ON TABLE repos TO gentoo;
+GRANT SELECT ON TABLE repos TO apache;
+-- Name: use_global; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE use_global FROM PUBLIC;
+REVOKE ALL ON TABLE use_global FROM gentoo;
+GRANT ALL ON TABLE use_global TO gentoo;
+GRANT SELECT ON TABLE use_global TO apache;
+-- Name: use_group; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE use_group FROM PUBLIC;
+REVOKE ALL ON TABLE use_group FROM gentoo;
+GRANT ALL ON TABLE use_group TO gentoo;
+GRANT SELECT ON TABLE use_group TO apache;
+-- Name: use_groups; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE use_groups FROM PUBLIC;
+REVOKE ALL ON TABLE use_groups FROM gentoo;
+GRANT ALL ON TABLE use_groups TO gentoo;
+GRANT SELECT ON TABLE use_groups TO apache;
+-- Name: use_local; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE use_local FROM PUBLIC;
+REVOKE ALL ON TABLE use_local FROM gentoo;
+GRANT ALL ON TABLE use_local TO gentoo;
+GRANT SELECT ON TABLE use_local TO apache;
+-- Name: user_ebuild_emails; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE user_ebuild_emails FROM PUBLIC;
+REVOKE ALL ON TABLE user_ebuild_emails FROM gentoo;
+GRANT ALL ON TABLE user_ebuild_emails TO gentoo;
+GRANT SELECT ON TABLE user_ebuild_emails TO apache;
+-- Name: user_packages; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE user_packages FROM PUBLIC;
+REVOKE ALL ON TABLE user_packages FROM gentoo;
+GRANT ALL ON TABLE user_packages TO gentoo;
+GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE user_packages TO apache;
+-- Name: users; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON TABLE users FROM PUBLIC;
+REVOKE ALL ON TABLE users FROM gentoo;
+GRANT ALL ON TABLE users TO gentoo;
+GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE users TO apache;
+-- Name: users_userid_seq; Type: ACL; Schema: gentoobrowse; Owner: gentoo
+REVOKE ALL ON SEQUENCE users_userid_seq FROM PUBLIC;
+REVOKE ALL ON SEQUENCE users_userid_seq FROM gentoo;
+GRANT ALL ON SEQUENCE users_userid_seq TO gentoo;
+GRANT ALL ON SEQUENCE users_userid_seq TO apache;
+-- PostgreSQL database dump complete