fix stack effects in sqlite library
parent
86573e5f4a
commit
cd15e24ca7
|
|
@ -98,7 +98,7 @@ END-STRUCT
|
||||||
: sqlite3_open ( filename sqlite3-indirect -- result )
|
: sqlite3_open ( filename sqlite3-indirect -- result )
|
||||||
"int" "sqlite" "sqlite3_open" [ "char*" "sqlite3-indirect*" ] alien-invoke ;
|
"int" "sqlite" "sqlite3_open" [ "char*" "sqlite3-indirect*" ] alien-invoke ;
|
||||||
|
|
||||||
: sqlite3_close ( db -- )
|
: sqlite3_close ( db -- result )
|
||||||
"int" "sqlite" "sqlite3_close" [ "sqlite3*" ] alien-invoke ;
|
"int" "sqlite" "sqlite3_close" [ "sqlite3*" ] alien-invoke ;
|
||||||
|
|
||||||
: sqlite3_prepare ( db sql sql-len sqlite3-stmt-indirect tail -- result )
|
: sqlite3_prepare ( db sql sql-len sqlite3-stmt-indirect tail -- result )
|
||||||
|
|
@ -113,7 +113,7 @@ END-STRUCT
|
||||||
: sqlite3_step ( stmt -- result )
|
: sqlite3_step ( stmt -- result )
|
||||||
"int" "sqlite" "sqlite3_step" [ "sqlite3-stmt*" ] alien-invoke ;
|
"int" "sqlite" "sqlite3_step" [ "sqlite3-stmt*" ] alien-invoke ;
|
||||||
|
|
||||||
: sqlite3_last_insert_rowid ( stmt index int -- result )
|
: sqlite3_last_insert_rowid ( stmt -- result )
|
||||||
"int" "sqlite" "sqlite3_last_insert_rowid" [ "sqlite3*" ] alien-invoke ;
|
"int" "sqlite" "sqlite3_last_insert_rowid" [ "sqlite3*" ] alien-invoke ;
|
||||||
|
|
||||||
: sqlite3_bind_blob ( stmt index pointer len destructor -- result )
|
: sqlite3_bind_blob ( stmt index pointer len destructor -- result )
|
||||||
|
|
@ -249,12 +249,14 @@ END-STRUCT
|
||||||
! [ 2dup 2slip ]
|
! [ 2dup 2slip ]
|
||||||
! [ ] linrec ;
|
! [ ] linrec ;
|
||||||
|
|
||||||
|
DEFER: (sqlite-map)
|
||||||
|
|
||||||
: (sqlite-map) ( statement quot seq -- )
|
: (sqlite-map) ( statement quot seq -- )
|
||||||
pick sqlite3_step step-complete? [
|
pick sqlite3_step step-complete? [
|
||||||
2nip
|
2nip
|
||||||
] [
|
] [
|
||||||
>r 2dup call r> curry (sqlite-map)
|
>r 2dup call r> curry (sqlite-map)
|
||||||
] if ;
|
] if ;
|
||||||
|
|
||||||
: sqlite-map ( statement quot -- )
|
: sqlite-map ( statement quot -- seq )
|
||||||
[ ] (sqlite-map) ;
|
[ ] (sqlite-map) ;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue