@@ -74,9 +74,11 @@ impl From<OdbcRow> for crate::any::AnyRow {
7474#[ cfg( test) ]
7575mod tests {
7676 use super :: * ;
77- use crate :: odbc:: { OdbcColumn , OdbcTypeInfo } ;
77+ use crate :: odbc:: { ColumnData , OdbcColumn , OdbcTypeInfo , OdbcValueVec } ;
7878 use crate :: type_info:: TypeInfo ;
79+ use crate :: value:: ValueRef ;
7980 use odbc_api:: DataType ;
81+ use std:: sync:: Arc ;
8082
8183 fn create_test_row ( ) -> OdbcRow {
8284 use crate :: odbc:: OdbcValue ;
@@ -100,29 +102,35 @@ mod tests {
100102 } ,
101103 ] ,
102104 values : vec ! [
103- OdbcValue {
104- type_info: OdbcTypeInfo :: new( DataType :: Integer ) ,
105- is_null: false ,
106- text: None ,
107- blob: None ,
108- int: Some ( 42 ) ,
109- float: None ,
105+ {
106+ let column = ColumnData {
107+ values: OdbcValueVec :: NullableBigInt ( vec![ Some ( 42 ) ] ) ,
108+ type_info: OdbcTypeInfo :: new( DataType :: Integer ) ,
109+ } ;
110+ OdbcValue {
111+ column_data: Arc :: new( column) ,
112+ row_index: 0 ,
113+ }
110114 } ,
111- OdbcValue {
112- type_info: OdbcTypeInfo :: new( DataType :: Varchar { length: None } ) ,
113- is_null: false ,
114- text: Some ( "test" . to_string( ) ) ,
115- blob: None ,
116- int: None ,
117- float: None ,
115+ {
116+ let column = ColumnData {
117+ values: OdbcValueVec :: Text ( vec![ Some ( "test" . to_string( ) ) ] ) ,
118+ type_info: OdbcTypeInfo :: new( DataType :: Varchar { length: None } ) ,
119+ } ;
120+ OdbcValue {
121+ column_data: Arc :: new( column) ,
122+ row_index: 0 ,
123+ }
118124 } ,
119- OdbcValue {
120- type_info: OdbcTypeInfo :: new( DataType :: Double ) ,
121- is_null: false ,
122- text: None ,
123- blob: None ,
124- int: None ,
125- float: Some ( std:: f64 :: consts:: PI ) ,
125+ {
126+ let column = ColumnData {
127+ values: OdbcValueVec :: NullableDouble ( vec![ Some ( std:: f64 :: consts:: PI ) ] ) ,
128+ type_info: OdbcTypeInfo :: new( DataType :: Double ) ,
129+ } ;
130+ OdbcValue {
131+ column_data: Arc :: new( column) ,
132+ row_index: 0 ,
133+ }
126134 } ,
127135 ] ,
128136 }
@@ -171,18 +179,18 @@ mod tests {
171179
172180 // Test accessing by exact name
173181 let value = row. try_get_raw ( "lowercase_col" ) . unwrap ( ) ;
174- assert ! ( !value. is_null) ;
175- assert_eq ! ( value. type_info. name( ) , "INTEGER" ) ;
182+ assert ! ( !value. is_null( ) ) ;
183+ assert_eq ! ( value. type_info( ) . name( ) , "INTEGER" ) ;
176184
177185 // Test accessing by case-insensitive name
178186 let value = row. try_get_raw ( "LOWERCASE_COL" ) . unwrap ( ) ;
179- assert ! ( !value. is_null) ;
180- assert_eq ! ( value. type_info. name( ) , "INTEGER" ) ;
187+ assert ! ( !value. is_null( ) ) ;
188+ assert_eq ! ( value. type_info( ) . name( ) , "INTEGER" ) ;
181189
182190 // Test accessing uppercase column with lowercase name
183191 let value = row. try_get_raw ( "uppercase_col" ) . unwrap ( ) ;
184- assert ! ( !value. is_null) ;
185- assert_eq ! ( value. type_info. name( ) , "VARCHAR" ) ;
192+ assert ! ( !value. is_null( ) ) ;
193+ assert_eq ! ( value. type_info( ) . name( ) , "VARCHAR" ) ;
186194 }
187195
188196 #[ test]
0 commit comments