! Copyright (C) 2008 Chris Double, Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien.c-types arrays calendar.format
-combinators db2.connections db2.errors db2.result-sets
-db2.sqlite.errors db2.sqlite.ffi db2.sqlite.result-sets
+combinators db2.sqlite.errors
io.backend io.encodings.string io.encodings.utf8 kernel math
-namespaces present sequences serialize urls ;
+namespaces present sequences serialize urls db2.sqlite.ffi ;
IN: db2.sqlite.lib
: sqlite-check-result ( n -- )
} case ;
: sqlite-open ( path -- db )
- normalize-path
"void*" <c-object>
[ sqlite3_open sqlite-check-result ] keep *void* ;
: sqlite-next ( prepared -- ? )
sqlite3_step sqlite-step-has-more-rows? ;
-: >sqlite-result-set ( statement -- result-set )
- sqlite-result-set new-result-set dup advance-row ;
f >>handle drop ;
M: sqlite-statement statement>result-set*
- prepare-statement >sqlite-result-set ;
+ prepare-statement
+ sqlite-result-set new-result-set dup advance-row ;
M: sqlite-result-set advance-row ( result-set -- )
dup handle>> sqlite-next >>has-more? drop ;