@@ -440,22 +440,19 @@ fn stmt_is_dml(sql: &str) -> bool {
440440fn convert_row ( py : Python , row : libsql_core:: Row , column_count : i32 ) -> PyResult < & PyTuple > {
441441 let mut elements: Vec < Py < PyAny > > = vec ! [ ] ;
442442 for col_idx in 0 ..column_count {
443- let col_type = row. column_type ( col_idx) . map_err ( to_py_err) ?;
444- let value = match col_type {
445- libsql :: ValueType :: Integer => {
446- let value = row . get :: < i32 > ( col_idx ) . map_err ( to_py_err ) ? ;
443+ let libsql_value = row. get_value ( col_idx) . map_err ( to_py_err) ?;
444+ let value = match libsql_value {
445+ libsql_core :: Value :: Integer ( v ) => {
446+ let value = v as i32 ;
447447 value. into_py ( py)
448448 }
449- libsql:: ValueType :: Real => {
450- let value = row. get :: < f64 > ( col_idx) . map_err ( to_py_err) ?;
449+ libsql_core:: Value :: Real ( v) => v. into_py ( py) ,
450+ libsql_core:: Value :: Text ( v) => v. into_py ( py) ,
451+ libsql_core:: Value :: Blob ( v) => {
452+ let value = v. as_slice ( ) ;
451453 value. into_py ( py)
452454 }
453- libsql:: ValueType :: Blob => todo ! ( "blobs not supported" ) ,
454- libsql:: ValueType :: Text => {
455- let value = row. get :: < String > ( col_idx) . map_err ( to_py_err) ?;
456- value. into_py ( py)
457- }
458- libsql:: ValueType :: Null => py. None ( ) ,
455+ libsql_core:: Value :: Null => py. None ( ) ,
459456 } ;
460457 elements. push ( value) ;
461458 }
0 commit comments