chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,257 @@
|
||||
-- Downloaded from: https://github.com/tpolecat/cofree/blob/afe11f23ab5d11b94c180347b47ddfd3c59b6c85/create.sql
|
||||
--
|
||||
-- PostgreSQL database dump
|
||||
--
|
||||
|
||||
-- Dumped from database version 9.5.3
|
||||
-- Dumped by pg_dump version 9.5.3
|
||||
|
||||
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;
|
||||
SET row_security = off;
|
||||
|
||||
--
|
||||
-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner:
|
||||
--
|
||||
|
||||
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
|
||||
|
||||
|
||||
--
|
||||
-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner:
|
||||
--
|
||||
|
||||
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
|
||||
|
||||
|
||||
SET search_path = public, pg_catalog;
|
||||
|
||||
--
|
||||
-- Name: fn_array_agg_notnull(anyarray, anyelement); Type: FUNCTION; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
CREATE FUNCTION fn_array_agg_notnull(a anyarray, b anyelement) RETURNS anyarray
|
||||
LANGUAGE plpgsql IMMUTABLE
|
||||
AS $$
|
||||
BEGIN
|
||||
|
||||
IF b IS NOT NULL THEN
|
||||
a := array_append(a, b);
|
||||
END IF;
|
||||
|
||||
RETURN a;
|
||||
|
||||
END;
|
||||
$$;
|
||||
|
||||
|
||||
ALTER FUNCTION public.fn_array_agg_notnull(a anyarray, b anyelement) OWNER TO postgres;
|
||||
|
||||
--
|
||||
-- Name: array_agg_notnull(anyelement); Type: AGGREGATE; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
CREATE AGGREGATE array_agg_notnull(anyelement) (
|
||||
SFUNC = fn_array_agg_notnull,
|
||||
STYPE = anyarray,
|
||||
INITCOND = '{}'
|
||||
);
|
||||
|
||||
|
||||
ALTER AGGREGATE public.array_agg_notnull(anyelement) OWNER TO postgres;
|
||||
|
||||
SET default_tablespace = '';
|
||||
|
||||
SET default_with_oids = false;
|
||||
|
||||
--
|
||||
-- Name: prof; Type: TABLE; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
CREATE TABLE prof (
|
||||
id integer NOT NULL,
|
||||
parent integer,
|
||||
name character varying NOT NULL,
|
||||
year integer NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE prof OWNER TO postgres;
|
||||
|
||||
--
|
||||
-- Name: prof_closure; Type: TABLE; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
CREATE TABLE prof_closure (
|
||||
id integer,
|
||||
parent integer,
|
||||
name character varying,
|
||||
uni character varying,
|
||||
year integer,
|
||||
students integer[]
|
||||
);
|
||||
|
||||
ALTER TABLE ONLY prof_closure REPLICA IDENTITY NOTHING;
|
||||
|
||||
|
||||
ALTER TABLE prof_closure OWNER TO postgres;
|
||||
|
||||
--
|
||||
-- Name: prof_node; Type: TABLE; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
CREATE TABLE prof_node (
|
||||
id integer NOT NULL,
|
||||
parent integer,
|
||||
name character varying NOT NULL,
|
||||
uni character varying NOT NULL,
|
||||
year integer NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE prof_node OWNER TO postgres;
|
||||
|
||||
--
|
||||
-- Name: prof_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
CREATE SEQUENCE prof_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
ALTER TABLE prof_id_seq OWNER TO postgres;
|
||||
|
||||
--
|
||||
-- Name: prof_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
ALTER SEQUENCE prof_id_seq OWNED BY prof_node.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: prof_node_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
CREATE SEQUENCE prof_node_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
ALTER TABLE prof_node_id_seq OWNER TO postgres;
|
||||
|
||||
--
|
||||
-- Name: prof_node_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
ALTER SEQUENCE prof_node_id_seq OWNED BY prof.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY prof ALTER COLUMN id SET DEFAULT nextval('prof_node_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY prof_node ALTER COLUMN id SET DEFAULT nextval('prof_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Data for Name: prof; Type: TABLE DATA; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
COPY prof (id, parent, name, year) FROM stdin;
|
||||
\.
|
||||
|
||||
|
||||
--
|
||||
-- Name: prof_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
SELECT pg_catalog.setval('prof_id_seq', 537, true);
|
||||
|
||||
|
||||
--
|
||||
-- Data for Name: prof_node; Type: TABLE DATA; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
COPY prof_node (id, parent, name, uni, year) FROM stdin;
|
||||
\.
|
||||
|
||||
|
||||
--
|
||||
-- Name: prof_node_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
SELECT pg_catalog.setval('prof_node_id_seq', 23, true);
|
||||
|
||||
|
||||
--
|
||||
-- Name: prof_node_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY prof
|
||||
ADD CONSTRAINT prof_node_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: prof_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY prof_node
|
||||
ADD CONSTRAINT prof_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: _RETURN; Type: RULE; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
CREATE RULE "_RETURN" AS
|
||||
ON SELECT TO prof_closure DO INSTEAD SELECT p.id,
|
||||
p.parent,
|
||||
p.name,
|
||||
p.uni,
|
||||
p.year,
|
||||
array_agg_notnull(c.id) AS students
|
||||
FROM (prof_node p
|
||||
LEFT JOIN prof_node c ON ((c.parent = p.id)))
|
||||
GROUP BY p.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: prof_parent_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY prof_node
|
||||
ADD CONSTRAINT prof_parent_fkey FOREIGN KEY (parent) REFERENCES prof_node(id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: public; Type: ACL; Schema: -; Owner: postgres
|
||||
--
|
||||
|
||||
REVOKE ALL ON SCHEMA public FROM PUBLIC;
|
||||
REVOKE ALL ON SCHEMA public FROM postgres;
|
||||
GRANT ALL ON SCHEMA public TO postgres;
|
||||
GRANT ALL ON SCHEMA public TO PUBLIC;
|
||||
|
||||
|
||||
--
|
||||
-- PostgreSQL database dump complete
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user