#!/usr/bin/env bash
set -e

dropdb --if-exists demo1
dropdb --if-exists demo2
createdb demo1
createdb demo2

psql -X -v ON_ERROR_STOP=1 demo1 <<HERE
CREATE FUNCTION qux() RETURNS TRIGGER as 'BEGIN RETURN NEW; END;' LANGUAGE plpgsql;

CREATE TABLE foo (id int);
CREATE TABLE bar (id int);

CREATE TRIGGER a BEFORE INSERT ON foo FOR EACH ROW EXECUTE PROCEDURE qux();
CREATE POLICY a ON foo FOR SELECT USING (true);

CREATE TRIGGER a BEFORE INSERT ON bar FOR EACH ROW EXECUTE PROCEDURE qux();
CREATE POLICY a ON bar FOR SELECT USING (true);
HERE

psql -X -v ON_ERROR_STOP=1 demo2 <<HERE
CREATE FUNCTION qux() RETURNS TRIGGER as 'BEGIN RETURN NEW; END;' LANGUAGE plpgsql;

CREATE TABLE foo (id int);
CREATE TABLE bar (id int);

CREATE TRIGGER a BEFORE INSERT ON bar FOR EACH ROW EXECUTE PROCEDURE qux();
CREATE POLICY a ON bar FOR SELECT USING (true);

CREATE TRIGGER a BEFORE INSERT ON foo FOR EACH ROW EXECUTE PROCEDURE qux();
CREATE POLICY a ON foo FOR SELECT USING (true);
HERE

#PG_DUMP=./tmp_install/usr/local/pgsql/bin/pg_dump
PG_DUMP=pg_dump
diff -ru <($PG_DUMP demo1) <($PG_DUMP demo2)
