@@ -119,25 +119,23 @@ suite('prepared statements', () => {
119119 expect ( duckdb . parameter_name ( prepared , 1 ) ) . toBe ( 'x' ) ;
120120 expect ( duckdb . bind_parameter_index ( prepared , 'x' ) ) . toBe ( 1 ) ;
121121 duckdb . bind_int32 ( prepared , 1 , 11 ) ;
122- // param_type doesn't appear to work for named parameters
123- // expect(duckdb.param_type(prepared, 1)).toBe(duckdb.Type.INTEGER);
122+ expect ( duckdb . param_type ( prepared , 1 ) ) . toBe ( duckdb . Type . INTEGER ) ;
124123
125124 expect ( duckdb . parameter_name ( prepared , 2 ) ) . toBe ( 'y' ) ;
126125 expect ( duckdb . bind_parameter_index ( prepared , 'y' ) ) . toBe ( 2 ) ;
127- duckdb . bind_int32 ( prepared , 2 , 22 ) ;
128- // param_type doesn't appear to work for named parameters
129- // expect(duckdb.param_type(prepared, 2)).toBe(duckdb.Type.INTEGER);
126+ duckdb . bind_varchar ( prepared , 2 , 'a' ) ;
127+ // expect(duckdb.param_type(prepared, 2)).toBe(duckdb.Type.VARCHAR); // TODO 1.2.0 - param_type is returning INVALID for VARCHAR
130128
131129 const result = await duckdb . execute_prepared ( prepared ) ;
132130 await expectResult ( result , {
133131 chunkCount : 1 ,
134132 rowCount : 1 ,
135133 columns : [
136134 { name : 'a' , logicalType : INTEGER } ,
137- { name : 'b' , logicalType : INTEGER } ,
135+ { name : 'b' , logicalType : VARCHAR } ,
138136 ] ,
139137 chunks : [
140- { rowCount : 1 , vectors : [ data ( 4 , [ true ] , [ 11 ] ) , data ( 4 , [ true ] , [ 22 ] ) ] } ,
138+ { rowCount : 1 , vectors : [ data ( 4 , [ true ] , [ 11 ] ) , data ( 16 , [ true ] , [ 'a' ] ) ] } ,
141139 ] ,
142140 } ) ;
143141 } ) ;
@@ -258,8 +256,8 @@ suite('prepared statements', () => {
258256 duckdb . bind_interval ( prepared , 19 , { months : 999 , days : 999 , micros : 999999999n } ) ;
259257 expect ( duckdb . param_type ( prepared , 19 ) ) . toBe ( duckdb . Type . INTERVAL ) ;
260258
261- duckdb . bind_varchar ( prepared , 20 , '🦆🦆🦆🦆🦆🦆' ) ;
262- // expect(duckdb.param_type(prepared, 20)).toBe(duckdb.Type.VARCHAR); // TODO 1.2.0 - Why does this check fail?
259+ duckdb . bind_varchar ( prepared , 20 , '🦆🦆🦆\x00 🦆🦆🦆' ) ;
260+ // expect(duckdb.param_type(prepared, 20)).toBe(duckdb.Type.VARCHAR); // TODO 1.2.0 - param_type is returning INVALID for VARCHAR
263261
264262 duckdb . bind_blob ( prepared , 21 , Buffer . from ( 'thisisalongblob\x00withnullbytes' ) ) ;
265263 expect ( duckdb . param_type ( prepared , 21 ) ) . toBe ( duckdb . Type . BLOB ) ;
@@ -318,7 +316,7 @@ suite('prepared statements', () => {
318316 data ( 8 , [ true ] , [ 9223372036854775806n ] ) ,
319317 data ( 8 , [ true ] , [ 9223372036854775806n ] ) ,
320318 data ( 16 , [ true ] , [ { months : 999 , days : 999 , micros : 999999999n } ] ) ,
321- data ( 16 , [ true ] , [ '🦆🦆🦆🦆🦆🦆' ] ) ,
319+ data ( 16 , [ true ] , [ '🦆🦆🦆\x00 🦆🦆🦆' ] ) ,
322320 data ( 16 , [ true ] , [ Buffer . from ( 'thisisalongblob\x00withnullbytes' ) ] ) ,
323321 data ( 4 , [ false ] , [ null ] ) ,
324322 ]
0 commit comments