@@ -76,7 +76,7 @@ export class OfficialWasmDialect extends GenericSqliteDialect {
7676 if ( ! isSelect ) {
7777 throw new Error ( 'Only support select query' )
7878 }
79- return runWithStatement ( db , sql , parameters , iterator )
79+ return iterateWithStatement ( db , sql , parameters )
8080 } ,
8181 }
8282 } , config . onCreateConnection )
@@ -103,10 +103,22 @@ function runWithStatement<T>(
103103function * iterator (
104104 statement : import ( '@sqlite.org/sqlite-wasm' ) . PreparedStatement ,
105105) : IterableIterator < Record < string , import ( '@sqlite.org/sqlite-wasm' ) . SqlValue > > {
106+ while ( statement . step ( ) ) {
107+ yield statement . get ( { } )
108+ }
109+ }
110+
111+ function * iterateWithStatement (
112+ db : import ( '@sqlite.org/sqlite-wasm' ) . Database ,
113+ sql : string ,
114+ parameters : any [ ] | readonly any [ ] ,
115+ ) : IterableIterator < Record < string , import ( '@sqlite.org/sqlite-wasm' ) . SqlValue > > {
116+ const statement = db . prepare ( sql )
106117 try {
107- while ( statement . step ( ) ) {
108- yield statement . get ( { } )
118+ if ( parameters . length ) {
119+ statement . bind ( parameters as import ( '@sqlite.org/sqlite-wasm' ) . BindingSpec )
109120 }
121+ yield * iterator ( statement )
110122 } finally {
111123 statement . finalize ( )
112124 }
0 commit comments