set -e
-SPOOL=${SPOOL:-/var/lib/admin/notes}
-DB=$SPOOL/.sequence.db
+ZPMSPOOL=${ZPMSPOOL:-/var/lib/admin/notes}
+DB=$ZPMSPOOL/.sequence.db
SQL="sqlite3 -bail $DB"
#rm -f $DB
test -f $DB || {
sqlite3 $DB <<EOS
create table sequence ( sequence text not null primary key, val integer not null default 0);
+insert into sequence (sequence) values ('default');
EOS
}
+# -c create named sequence
+# -d delete named sequence
+# -v current value
+# -l list all
+# -s set value
+# -n next (optional)
+# -p prepare db, but do nothing
case $1 in
-c)
- $SQL "insert into sequence (sequence) values ('$2')"
+ $SQL "insert into sequence (sequence) values ('${2:-default}')"
exit 0
;;
-d)
- $SQL "delete from sequence where sequence = '$2'"
+ $SQL "delete from sequence where sequence = '${2:-default}'"
exit 0
;;
-v)
- val=$($SQL "select val from sequence where sequence = '$2'")
+ val=$($SQL "select val from sequence where sequence = '${2:-default}'")
echo $val
exit 0
;;
exit 0
;;
-s)
- $SQL "begin;update sequence set val = $3 where sequence = '$seq'; commit;"
+ $SQL "begin;update sequence set val = $2 where sequence = '${3:-default}'; commit;"
exit 0
;;
-n)
shift
;;
+ -p)
+ exit 0
+ ;;
esac
-seq=$1
+seq=${1:-default}
num=$(sqlite3 $DB "begin; update sequence set val = val + 1 where sequence = '$seq'; commit;select val from sequence where sequence = '$seq';")