#!/bin/bash

INSTALL=~/install/postgres
PGDATA=~/junk/pgdata
TABLES=500
COLUMNS=500

rm -fr $PGDATA
$INSTALL/bin/initdb -D $PGDATA
cat >> $PGDATA/postgresql.conf << EOF
  max_locks_per_transaction = 600
EOF

$INSTALL/bin/pg_ctl -w start -D $PGDATA
(
  echo "CREATE TABLE base (id int, stripe int"
  for ((i=0;i<COLUMNS;i++)) ; do echo ", foo$i text" ; done
  echo ");"
  for ((i=0;i<TABLES;i++)) ; do
    echo "CREATE TABLE derived_$i (check (stripe = $i)) INHERITS (base);"
  done
  echo "EXPLAIN UPDATE base SET foo0 = 'foox' WHERE id = 42 AND stripe = 42;"
) | $INSTALL/bin/psql postgres
$INSTALL/bin/pg_ctl -w stop -D $PGDATA

