+++ /dev/null
-#!/bin/bash
-
-table=$1
-start_year=$2
-end_year=$3
-
-for year in `seq $start_year $end_year`
-do
- for qtr in "q1" "q2" "q3" "q4"
- do
- printf "CREATE TABLE IF NOT EXISTS xonstat.%s_%s%s ( \n" $table $year $qtr
- if [[ $qtr = "q1" ]]
- then
- printf "\tCHECK ( create_dt >= DATE '%s-01-01' AND create_dt < DATE '%s-04-01' ) \n" $year $year
- elif [[ $qtr = "q2" ]]
- then
- printf "\tCHECK ( create_dt >= DATE '%s-04-01' AND create_dt < DATE '%s-07-01' ) \n" $year $year
- elif [[ $qtr = "q3" ]]
- then
- printf "\tCHECK ( create_dt >= DATE '%s-07-01' AND create_dt < DATE '%s-10-01' ) \n" $year $year
- elif [[ $qtr = "q4" ]]
- then
- next_year=$[year + 1]
- printf "\tCHECK ( create_dt >= DATE '%s-10-01' AND create_dt < DATE '%s-01-01' ) \n" $year $next_year
- fi
-
- printf ") INHERITS (%s);\n\n" $table
- done
-done
-printf "\n"
-
-printf "CREATE OR REPLACE FUNCTION %s_ins()\n" $table
-printf "RETURNS TRIGGER AS \$\$\n"
-printf "BEGIN\n"
-
-for i in `seq $start_year $end_year`
-do
-
- if [[ start_year -eq i ]]
- then
- printf "\tIF (NEW.create_dt >= DATE '%s-01-01' AND NEW.create_dt < DATE '%s-04-01') THEN\n" $i $i
- else
- printf "\tELSIF (NEW.create_dt >= DATE '%s-01-01' AND NEW.create_dt < DATE '%s-04-01') THEN\n" $i $i
- fi
- printf "\t\tINSERT INTO %s_%sQ1 VALUES (NEW.*);\n" $table $i
-
- printf "\tELSIF (NEW.create_dt >= DATE '%s-04-01' AND NEW.create_dt < DATE '%s-07-01') THEN\n" $i $i
- printf "\t\tINSERT INTO %s_%sQ2 VALUES (NEW.*);\n" $table $i
-
- printf "\tELSIF (NEW.create_dt >= DATE '%s-07-01' AND NEW.create_dt < DATE '%s-10-01') THEN\n" $i $i
- printf "\t\tINSERT INTO %s_%sQ3 VALUES (NEW.*);\n" $table $i
-
- next_year=$[i + 1]
- printf "\tELSIF (NEW.create_dt >= DATE '%s-10-01' AND NEW.create_dt < DATE '%s-01-01') THEN\n" $i $next_year
- printf "\t\tINSERT INTO %s_%sQ4 VALUES (NEW.*);\n" $table $i
-
-done
-
-printf "\tELSE\n"
-printf "\t\tRAISE EXCEPTION 'Date out of range. Fix the %s_ins() trigger!';\n" $table
-printf "\tEND IF;\n"
-printf "\tRETURN NULL;\n"
-
-printf "END\n"
-printf "\$\$\n"
-printf "LANGUAGE plpgsql;\n\n"
-
-printf "DROP TRIGGER IF EXISTS %s_ins_trg ON xonstat.games;\n" $table
-printf "CREATE TRIGGER %s_ins_trg\n" $table
-printf "BEFORE INSERT on xonstat.%s\n" $table
-printf "FOR EACH ROW EXECUTE PROCEDURE %s_ins();\n" $table