parent
65f30a07a1
commit
cf0ed665bf
|
@ -159,12 +159,11 @@ ERROR: sqlite-sql-error < sql-error n string ;
|
|||
dup sqlite-#columns [ sqlite-column ] with map ;
|
||||
|
||||
: sqlite-step-has-more-rows? ( prepared -- bool )
|
||||
dup SQLITE_ROW = [
|
||||
drop t
|
||||
] [
|
||||
dup SQLITE_DONE =
|
||||
[ drop ] [ sqlite-check-result ] if f
|
||||
] if ;
|
||||
{
|
||||
{ SQLITE_ROW [ t ] }
|
||||
{ SQLITE_DONE [ f ] }
|
||||
[ sqlite-check-result f ]
|
||||
} case ;
|
||||
|
||||
: sqlite-next ( prepared -- ? )
|
||||
sqlite3_step sqlite-step-has-more-rows? ;
|
||||
|
|
|
@ -16,7 +16,7 @@ M: sqlite-db make-db* ( path db -- db )
|
|||
swap >>path ;
|
||||
|
||||
M: sqlite-db db-open ( db -- db )
|
||||
[ path>> sqlite-open ] [ swap >>handle ] bi ;
|
||||
dup path>> sqlite-open >>handle ;
|
||||
|
||||
M: sqlite-db db-close ( handle -- ) sqlite-close ;
|
||||
M: sqlite-db dispose ( db -- ) dispose-db ;
|
||||
|
@ -197,4 +197,3 @@ M: sqlite-db compound ( str seq -- str' )
|
|||
{ "default" [ first number>string join-space ] }
|
||||
[ 2drop ]
|
||||
} case ;
|
||||
|
||||
|
|
|
@ -76,16 +76,16 @@ M: retryable execute-statement* ( statement type -- )
|
|||
[ regenerate-params bind-statement* f ] cleanup
|
||||
] curry 10 retry drop ;
|
||||
|
||||
: resulting-tuple ( row out-params -- tuple )
|
||||
dup peek class>> new [
|
||||
: resulting-tuple ( class row out-params -- tuple )
|
||||
rot class new [
|
||||
[
|
||||
>r slot-name>> r> set-slot-named
|
||||
] curry 2each
|
||||
] keep ;
|
||||
|
||||
: query-tuples ( statement -- seq )
|
||||
: query-tuples ( exemplar-tuple statement -- seq )
|
||||
[ out-params>> ] keep query-results [
|
||||
[ sql-row-typed swap resulting-tuple ] with query-map
|
||||
[ sql-row-typed swap resulting-tuple ] with with query-map
|
||||
] with-disposal ;
|
||||
|
||||
: query-modify-tuple ( tuple statement -- )
|
||||
|
@ -145,7 +145,7 @@ M: retryable execute-statement* ( statement type -- )
|
|||
|
||||
: select-tuples ( tuple -- tuples )
|
||||
dup dup class <select-by-slots-statement> [
|
||||
[ bind-tuple ] keep query-tuples
|
||||
[ bind-tuple ] [ query-tuples ] 2bi
|
||||
] with-disposal ;
|
||||
|
||||
: select-tuple ( tuple -- tuple/f ) select-tuples ?first ;
|
||||
|
|
Loading…
Reference in New Issue