#!/bin/sh

t=tmm
power=9

table_count=$( echo "select count(*) from information_schema.tables where table_schema = 'public' and table_name = '$t'" | psql -qtAX );

if [[ 1 -eq 1 || $table_count -eq 0 ]]; then

echo "
  drop table if exists $t ;
  create table $t 
  as
    select i,
         cast(random() *  10^${power} as integer) as r
    from generate_series(1,  10000 ) as f(i) ;
--  from generate_series(1,  100000000 ) as f(i) ;
    analyze $t;
    table $t limit 5;
    create index ${t}_minmax_idx on $t using minmax (r);
    analyze $t;
  " | psql -a
else
  echo "table_count [$table_count] ( $t )"
fi

i1=$( echo "select cast(random() * 10^${power} as integer) " | psql -qtAX )
i2=$( echo "select cast(random() * 10^${power} as integer) " | psql -qtAX )

echo -ne "$i1\n$i2\n" | perl -MTie::Comma -ne 'print $comma{ $_ }';

echo "                           explain analyze select * from $t where r between symmetric $i1 and $i2; 
      set enable_bitmapscan = 0; explain analyze select * from $t where r between symmetric $i1 and $i2; " | psql -qa





