File tree 2 files changed +7
-6
lines changed
2 files changed +7
-6
lines changed Original file line number Diff line number Diff line change @@ -69,6 +69,9 @@ test.serial("Statement.get() [named]", async (t) => {
69
69
70
70
var stmt = undefined ;
71
71
72
+ stmt = db . prepare ( "SELECT :b, :a" ) ;
73
+ t . deepEqual ( stmt . raw ( ) . get ( { a : 'a' , b : 'b' } ) , [ 'b' , 'a' ] ) ;
74
+
72
75
stmt = db . prepare ( "SELECT * FROM users WHERE id = :id" ) ;
73
76
t . is ( stmt . get ( { id : 0 } ) , undefined ) ;
74
77
t . is ( stmt . get ( { id : 1 } ) . name , "Alice" ) ;
Original file line number Diff line number Diff line change @@ -460,13 +460,11 @@ fn convert_params_object(
460
460
v : Handle < ' _ , JsObject > ,
461
461
) -> NeonResult < libsql:: Params > {
462
462
let mut params = vec ! [ ] ;
463
- let keys = v. get_own_property_names ( cx) ?;
464
- for i in 0 ..keys. len ( cx) {
465
- let key: Handle < ' _ , JsValue > = keys. get ( cx, i) ?;
466
- let key = key. downcast_or_throw :: < JsString , _ > ( cx) ?;
467
- let v = v. get ( cx, key) ?;
463
+ for idx in 0 ..stmt. stmt . parameter_count ( ) {
464
+ let name = stmt. stmt . parameter_name ( ( idx + 1 ) as i32 ) . unwrap ( ) ;
465
+ let name = name. to_string ( ) ;
466
+ let v = v. get ( cx, & name[ 1 ..] ) ?;
468
467
let v = js_value_to_value ( cx, v) ?;
469
- let name = stmt. stmt . parameter_name ( ( i + 1 ) as i32 ) . unwrap ( ) . to_string ( ) ;
470
468
params. push ( ( name, v) ) ;
471
469
}
472
470
Ok ( libsql:: Params :: Named ( params) )
You can’t perform that action at this time.
0 commit comments