+# set -x
+#
+MATCH_DROP='^DROP.*([^-]...|.[^-]..|..[^M].|...[^F])$|^ALTER TABLE.* DROP .*([^-]...|.[^-]..|..[^M].|...[^F])$|^DELETE .*([^-]...|.[^-]..|..[^M].|...[^F])$|--MB$'
+
+DATECUR="$(date +%s)"
+
+# functions
+usage () {
+ local _v
+ echo " USAGE"
+ echo " $0 <command> [-c|--config <override_file>] [-d|--dryrun] [<-a|--allfiles>|<-p|--devfiles>] [-s|--short] ..."
+ echo " $0 [-c|--config <override_file>] <-h|--help|help>"
+ echo " commands are:"
+ echo " create"
+ echo " destroy"
+ echo " clean"
+ echo " build"
+ echo " rebuild"
+ echo " psql"
+ echo " piped"
+ echo " add <filesql> [<filesql2> [..]]"
+ echo " del <filesql> [<filesql2> [..]]"
+ echo " res <filesql> [<filesql2> [..]]"
+ echo " dump [dumpfile]"
+ echo " dumpall [dumpfile]"
+ echo " all"
+ echo
+ echo "The match rule for clean lines is:"
+ echo " [$MATCH_DROP]"
+ echo "NOTE: to invert normal 'del' rules add '--MF' (move forward) suffix to each line"
+ echo " to invert normal 'add' rules add '--MB' (move backward) suffix to each line"
+ echo
+ echo "ENVIRONMENT"
+ for _v in \
+apache_conf card_hand players_n tables_n tables_appr_n tables_auth_n tables_cert_n \
+brisk_auth_conf brisk_debug web_path ftok_path proxy_path legal_path prefix_path \
+brisk_conf usock_path sys_user web_only test_add \
+DBHOST DBUSER DBPORT DBBASE DBPASS PFX ; do
+ echo " $_v=${!_v}"
+ done
+
+ exit $1
+}
+
+sqlexe () {
+ local sht
+ sht=$1
+
+ if [ "$SHORT" = "y" ]; then
+ sed "s/#PFX#/$PFX/g;s/#NOW#/$DATECUR/g" | psql -a $pg_args 2>&1 | egrep 'ERROR|^-- MESG|^-- FILE '
+ else
+ sed "s/#PFX#/$PFX/g;s/#NOW#/$DATECUR/g" | psql -a $pg_args
+ fi
+
+ return 0
+}
+
+one_or_all() {
+ local old_ifs
+
+ old_ifs="$IFS"
+ IFS=" "
+ for fil in $(
+ if [ "$1" ]; then
+ echo "$1"
+ elif [ "$TYPE_FILES" = "a" ]; then
+ find sql.d/ -name '[0-9]*' -type f | sort -n | tr '\n' ' '
+ elif [ "$TYPE_FILES" = "d" ]; then
+ find sql.d/ -name '[0-9]*' | egrep '.*_devel.sql$|^[^_]+.sql$' | sort -n | tr '\n' ' '
+ else
+ find sql.d/ -name '[0-9]*' | egrep '^[^_]+.sql$' | sort -n | tr '\n' ' '
+ fi); do
+ echo "-- FILE BEG: $fil"
+ cat "$fil"
+ echo "-- FILE END: $fil"
+ done
+ IFS="$old_ifs"
+}