#!/bin/bash git reset --hard HEAD; git clean -dfx >/dev/null wget https://www.postgresql.org/message-id/attachment/159685/v1-0001-Avoid-orphaned-objects-dependencies.patch git apply v1-0001-Avoid-orphaned-objects-dependencies.patch || exit 1 CPPFLAGS="-Og" ./configure --enable-debug --enable-cassert -q && make -j8 -s && TESTS="test_setup" make -s check-tests PGROOT=`pwd`/tmp_install export PGDATA=`pwd`/tmpdb export PATH="$PGROOT/usr/local/pgsql/bin:$PATH" export LD_LIBRARY_PATH="$PGROOT/usr/local/pgsql/lib" initdb >initdb.log 2>&1 export PGPORT=55432 echo " port=$PGPORT fsync = off " > $PGDATA/postgresql.auto.conf pg_ctl -l server.log start export PGDATABASE=regression createdb regression for ((i=1;i<=300;i++)); do ( { for ((n=1;n<=20;n++)); do echo "DROP SCHEMA s;"; done } | psql ) >psql1.log 2>&1 & echo " CREATE SCHEMA s; CREATE FUNCTION s.func1() RETURNS int LANGUAGE SQL AS 'SELECT 1;'; CREATE FUNCTION s.func2() RETURNS int LANGUAGE SQL AS 'SELECT 2;'; CREATE FUNCTION s.func3() RETURNS int LANGUAGE SQL AS 'SELECT 3;'; CREATE FUNCTION s.func4() RETURNS int LANGUAGE SQL AS 'SELECT 4;'; CREATE FUNCTION s.func5() RETURNS int LANGUAGE SQL AS 'SELECT 5;'; " | psql >psql2.log 2>&1 & wait psql -c "DROP SCHEMA s CASCADE" >psql3.log done echo " SELECT pg_identify_object('pg_proc'::regclass, pp.oid, 0), pp.oid FROM pg_proc pp LEFT JOIN pg_namespace pn ON pp.pronamespace = pn.oid WHERE pn.oid IS NULL" | psql pg_ctl -w -t 5 -D "$PGDATA" stop