#!/usr/bin/bash

DIR=$(pwd)

for c in $(seq 5 5 30); do

	for rows in $(seq 1 10); do

		psql test > /dev/null 2>&1 <<EOF
DROP TABLE IF EXISTS to_table;
DROP TABLE IF EXISTS from_table;

SELECT create_table_cols ('to_table', $c);
SELECT create_table_cols ('from_table', $c);

INSERT INTO to_table SELECT FROM generate_series(1, $rows * 1000000);

COPY to_table TO '$DIR/test.data' WITH (FORMAT text);

ALTER TABLE from_table SET ACCESS METHOD blackhole_am;
EOF

		# run COPY TO 10x
		for r in $(seq 1 10); do

			s=$(psql test -t -A -c "SELECT EXTRACT(EPOCH FROM now())")
			psql test -c "COPY to_table TO '/dev/null' WITH (FORMAT text)" > /dev/null 2>&1
			d=$(psql test -t -A -c "SELECT 1000 * (EXTRACT(EPOCH FROM now()) - $s)")

			echo "COPY_TO" $c $rows $r $d

		done

		# run COPY FROM 10x
		for r in $(seq 1 10); do

			s=$(psql test -t -A -c "SELECT EXTRACT(EPOCH FROM now())")
			psql test -c "COPY from_table FROM '$DIR/test.data' WITH (FORMAT text)" > /dev/null 2>&1
			d=$(psql test -t -A -c "SELECT 1000 * (EXTRACT(EPOCH FROM now()) - $s)")

			echo "COPY_FROM" $c $rows $r $d

		done

	done

done
