IN: db
TUPLE: db
- disposed
handle
insert-statements
update-statements
: dispose-statements ( assoc -- ) values dispose-each ;
-: db-dispose ( db -- )
+M: db dispose ( db -- )
dup db [
[ dispose-statements H{ } clone ] change-insert-statements
[ dispose-statements H{ } clone ] change-update-statements
[ dispose-statements H{ } clone ] change-delete-statements
- handle>> db-close
+ [ db-close f ] change-handle
+ drop
] with-variable ;
TUPLE: result-set sql in-params out-params handle n max ;
[ password>> ]
} cleave connect-postgres >>handle ;
-M: postgresql-db dispose ( db -- )
- handle>> PQfinish ;
+M: postgresql-db db-close ( handle -- )
+ PQfinish ;
M: postgresql-statement bind-statement* ( statement -- ) drop ;
dup path>> sqlite-open >>handle ;
M: sqlite-db db-close ( handle -- ) sqlite-close ;
-M: sqlite-db dispose ( db -- ) db-dispose ;
TUPLE: sqlite-statement < statement ;