@@ -600,10 +600,7 @@ impl Statement {
600600 env. execute_tokio_future ( future, move |& mut _env, result| {
601601 let mut column_names = vec ! [ ] ;
602602 for i in 0 ..result. column_count ( ) {
603- let column_name = result. column_name ( i) . unwrap ( ) ;
604- let column_name = env. create_string ( column_name) ?;
605- let column_name = env. create_reference ( column_name) ?;
606- column_names. push ( column_name) ;
603+ column_names. push ( result. column_name ( i) . unwrap ( ) . to_string ( ) ) ;
607604 }
608605 let iter = RowsIterator :: new (
609606 Arc :: new ( tokio:: sync:: Mutex :: new ( result) ) ,
@@ -637,10 +634,7 @@ impl Statement {
637634 let rows = stmt. query ( params) . await . map_err ( Error :: from) ?;
638635 let mut column_names = vec ! [ ] ;
639636 for i in 0 ..rows. column_count ( ) {
640- let column_name = rows. column_name ( i) . unwrap ( ) ;
641- let column_name = env. create_string ( column_name) ?;
642- let column_name = env. create_reference ( column_name) ?;
643- column_names. push ( column_name) ;
637+ column_names. push ( rows. column_name ( i) . unwrap ( ) . to_string ( ) ) ;
644638 }
645639 Ok :: < _ , napi:: Error > ( ( rows, column_names) )
646640 } ;
@@ -731,12 +725,8 @@ impl Statement {
731725 let mut rows = stmt. query ( params) . await . map_err ( Error :: from) ?;
732726 let mut column_names = vec ! [ ] ;
733727 for i in 0 ..rows. column_count ( ) {
734- let column_name = rows. column_name ( i) . unwrap ( ) ;
735- let column_name = env. create_string ( column_name) ?;
736- let column_name = env. create_reference ( column_name) ?;
737- column_names. push ( column_name) ;
728+ column_names. push ( rows. column_name ( i) . unwrap ( ) . to_string ( ) ) ;
738729 }
739- let column_names = Arc :: new ( column_names) ;
740730 let row = rows. next ( ) . await . map_err ( Error :: from) ?;
741731 let duration = start. elapsed ( ) . as_secs_f64 ( ) ;
742732 let result = match row {
@@ -786,7 +776,7 @@ impl Statement {
786776#[ napi]
787777pub struct RowsIterator {
788778 rows : Arc < tokio:: sync:: Mutex < libsql:: Rows > > ,
789- column_names : Arc < Vec < napi :: Ref < ( ) > > > ,
779+ column_names : Vec < String > ,
790780 safe_ints : bool ,
791781 raw : bool ,
792782 pluck : bool ,
@@ -796,14 +786,14 @@ pub struct RowsIterator {
796786impl RowsIterator {
797787 pub fn new (
798788 rows : Arc < tokio:: sync:: Mutex < libsql:: Rows > > ,
799- column_names : Vec < napi :: Ref < ( ) > > ,
789+ column_names : Vec < String > ,
800790 safe_ints : bool ,
801791 raw : bool ,
802792 pluck : bool ,
803793 ) -> Result < Self > {
804794 let iter = RowsIterator {
805795 rows,
806- column_names : Arc :: new ( column_names ) ,
796+ column_names,
807797 safe_ints,
808798 raw,
809799 pluck,
@@ -841,7 +831,7 @@ impl RowsIterator {
841831
842832#[ napi]
843833pub struct Record {
844- column_names : Arc < Vec < napi :: Ref < ( ) > > > ,
834+ column_names : Vec < String > ,
845835 row : Option < libsql:: Row > ,
846836 safe_ints : bool ,
847837 raw : bool ,
@@ -874,7 +864,7 @@ fn runtime() -> Result<&'static Runtime> {
874864
875865fn map_row (
876866 env : & Env ,
877- column_names : & Arc < Vec < napi :: Ref < ( ) > > > ,
867+ column_names : & [ String ] ,
878868 row : & libsql:: Row ,
879869 safe_ints : bool ,
880870 raw : bool ,
@@ -910,7 +900,7 @@ fn convert_value_to_js(
910900
911901fn map_row_object (
912902 env : & Env ,
913- column_names : & Arc < Vec < napi :: Ref < ( ) > > > ,
903+ column_names : & [ String ] ,
914904 row : & libsql:: Row ,
915905 safe_ints : bool ,
916906 pluck : bool ,
@@ -935,9 +925,10 @@ fn map_row_object(
935925 Ok ( v) => v,
936926 Err ( e) => return Err ( napi:: Error :: from_reason ( e. to_string ( ) ) ) ,
937927 } ;
938- let column_name: JsString = env. get_reference_value ( & column_names[ idx] ) ?;
928+
929+ let column_name = column_names[ idx] . as_str ( ) ;
939930 let js_value = convert_value_to_js ( env, & value, safe_ints) ?;
940- result. set_property ( column_name, js_value) ?;
931+ result. set_named_property ( column_name, js_value) ?;
941932 }
942933 result. into_unknown ( )
943934 } ;
@@ -946,7 +937,7 @@ fn map_row_object(
946937
947938fn map_row_raw (
948939 env : & Env ,
949- column_names : & Arc < Vec < napi :: Ref < ( ) > > > ,
940+ column_names : & [ String ] ,
950941 row : & libsql:: Row ,
951942 safe_ints : bool ,
952943 pluck : bool ,
0 commit comments