[ [ "select count(*) from " 0% 0% where-clause ] query-make ]
dip make-query ;
-: where-clause* ( tuple specs -- )
- dupd filter-slots [
- drop
- ] [
- \ where 0,
- [ 2dup slot-name>> swap get-slot-named where ] map 2array 0,
- drop
- ] if-empty ;
-
-: delete-tuple* ( tuple -- sql )
- dup
- [
- delete 0, from 0, dup class db-table 0,
- dup class db-columns where-clause*
- ] { { } { } { } } nmake
- >r >r parse-sql 4drop r> r>
- <simple-statement> maybe-make-retryable do-select ;
-
: create-index ( index-name table-name columns -- )
[
>r >r "create index " % % r> " on " % % r> "(" %