#!/bin/bash
# Copyright 2011-2016 Chad Lemmen http://www.lemmen.com
#
# Set the Informix environment variables
. /etc/profile.d/informix.sh
# Set the Postgres environment
#. /opt/stansoft/etc/postgres.sh


ndays=$1

if [ $# = 0 ]; then
  echo "Usage: $0 [number of days to keep]"
  exit 0
fi

if [ -z "$PGDATA" ] && [ -z "$INFORMIXDIR" ]; then
  echo "Either the Postgres or Informix environment must be set."
  echo ". /opt/stansoft/etc/postgres.sh (make sure to include the dot space)"
  echo "or"
  echo ". \$INFORMIXDIR/ol_informix.sh"
  exit 1
fi

if [[ $A4GL_SQLTYPE == pg* ]]; then
  # Postgres
  sqlcmd=psql
else
  # Informix
  sqlcmd=dbaccess
fi


today=`date +%D`
date=`date -d "$today -$ndays days" +%D`


"$sqlcmd" stansoft <<- SQLSTMT
  create temp table t1 (trans_lnk integer);
  -- Get a list of transaction links to be used for deleting related tables
  insert into t1 select trans_lnk from rs_pos_lnk where business_dt < '$date';

  -- Delete old data...
  delete from rs_pos_item where business_dt < '$date';
  delete from rs_pos_fuel where trans_lnk in (select trans_lnk from t1); 
  delete from rs_pos_tax where trans_lnk in (select trans_lnk from t1);
  delete from rs_pos_tender where trans_lnk in (select trans_lnk from t1);
  delete from rs_pos_promo where trans_lnk in (select trans_lnk from t1);
  delete from rs_pos_payout where trans_lnk in (select trans_lnk from t1);
  delete from rs_pos_lnk where trans_lnk in (select trans_lnk from t1);
  --update statistics;
SQLSTMT

