Files
dolthub--doltgresql/testing/dumps/sql/tpolecat_cofree.sql
T
2026-07-13 12:32:25 +08:00

258 lines
5.0 KiB
PL/PgSQL

-- 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
--