#!/usr/bin/env bash

killall -9 postgres || true
rm -Rf data logs
rm pg.log

mkdir logs

pg_ctl -D data init
#pg_checksums --disable data
echo 'wal_level = minimal' >> data/postgresql.conf
echo 'max_wal_senders = 0' >> data/postgresql.conf
#echo 'full_page_writes = off' >> data/postgresql.conf
#echo 'wal_log_hints = off' >> data/postgresql.conf
pg_ctl -D data -l pg.log start

createdb test
psql test -c "create extension btree_gist"

createdb test2

#r=667
#r=490
r=411

                psql test <<EOF
CHECKPOINT;
SELECT pg_switch_wal();
DROP TABLE IF EXISTS spc_abort;
BEGIN;
CREATE TABLE spc_abort (id int, id2 int);
CREATE INDEX ON spc_abort USING gist (id2);
INSERT INTO spc_abort VALUES (1, generate_series(1,$r));
TRUNCATE spc_abort;
SAVEPOINT s;
ALTER TABLE spc_abort SET (FILLFACTOR=50);
ROLLBACK TO s;
--INSERT INTO spc_abort VALUES (1, generate_series(1,$r-1));
INSERT INTO spc_abort VALUES (1, generate_series(1,$r));
COMMIT;
EOF

psql test -c "select oid, relname from pg_class where oid in (17112, 17113, 17118)"

pg_ctl -D data -l pg.log stop
