@@ -1017,13 +1017,15 @@ impl DomainMetadata {
10171017mod tests {
10181018 use super :: * ;
10191019 use crate :: {
1020- arrow:: array:: {
1021- Array , BooleanArray , Int32Array , Int64Array , ListArray , ListBuilder , MapBuilder ,
1022- MapFieldNames , RecordBatch , StringArray , StringBuilder , StructArray ,
1020+ arrow:: {
1021+ array:: {
1022+ Array , BooleanArray , Int32Array , Int64Array , ListArray , ListBuilder , MapBuilder ,
1023+ MapFieldNames , RecordBatch , StringArray , StringBuilder , StructArray ,
1024+ } ,
1025+ datatypes:: { DataType as ArrowDataType , Field , Schema } ,
1026+ json:: ReaderBuilder ,
10231027 } ,
1024- arrow:: datatypes:: { DataType as ArrowDataType , Field , Schema } ,
1025- arrow:: json:: ReaderBuilder ,
1026- engine:: { arrow_data:: ArrowEngineData , arrow_expression:: ArrowEvaluationHandler } ,
1028+ engine:: { arrow_data:: EngineDataArrowExt as _, arrow_expression:: ArrowEvaluationHandler } ,
10271029 schema:: { ArrayType , DataType , MapType , StructField } ,
10281030 Engine , EvaluationHandler , JsonHandler , ParquetHandler , StorageHandler ,
10291031 } ;
@@ -1643,13 +1645,7 @@ mod tests {
16431645
16441646 let engine_data =
16451647 set_transaction. into_engine_data ( SetTransaction :: to_schema ( ) . into ( ) , & engine) ;
1646-
1647- let record_batch: RecordBatch = engine_data
1648- . unwrap ( )
1649- . into_any ( )
1650- . downcast :: < ArrowEngineData > ( )
1651- . unwrap ( )
1652- . into ( ) ;
1648+ let record_batch = engine_data. try_into_record_batch ( ) . unwrap ( ) ;
16531649
16541650 let schema = Arc :: new ( Schema :: new ( vec ! [
16551651 Field :: new( "appId" , ArrowDataType :: Utf8 , false ) ,
@@ -1678,13 +1674,7 @@ mod tests {
16781674 let commit_info_txn_id = commit_info. txn_id . clone ( ) ;
16791675
16801676 let engine_data = commit_info. into_engine_data ( CommitInfo :: to_schema ( ) . into ( ) , & engine) ;
1681-
1682- let record_batch: RecordBatch = engine_data
1683- . unwrap ( )
1684- . into_any ( )
1685- . downcast :: < ArrowEngineData > ( )
1686- . unwrap ( )
1687- . into ( ) ;
1677+ let record_batch = engine_data. try_into_record_batch ( ) . unwrap ( ) ;
16881678
16891679 let mut map_builder = create_string_map_builder ( false ) ;
16901680 map_builder. append ( true ) . unwrap ( ) ;
@@ -1719,13 +1709,7 @@ mod tests {
17191709
17201710 let engine_data =
17211711 domain_metadata. into_engine_data ( DomainMetadata :: to_schema ( ) . into ( ) , & engine) ;
1722-
1723- let record_batch: RecordBatch = engine_data
1724- . unwrap ( )
1725- . into_any ( )
1726- . downcast :: < ArrowEngineData > ( )
1727- . unwrap ( )
1728- . into ( ) ;
1712+ let record_batch = engine_data. try_into_record_batch ( ) . unwrap ( ) ;
17291713
17301714 let expected = RecordBatch :: try_new (
17311715 record_batch. schema ( ) ,
@@ -1878,14 +1862,11 @@ mod tests {
18781862
18791863 // have to get the id since it's random
18801864 let test_id = test_metadata. id . clone ( ) ;
1881-
1882- let actual: RecordBatch = test_metadata
1865+ let actual = test_metadata
18831866 . into_engine_data ( Metadata :: to_schema ( ) . into ( ) , & engine)
18841867 . unwrap ( )
1885- . into_any ( )
1886- . downcast :: < ArrowEngineData > ( )
1887- . unwrap ( )
1888- . into ( ) ;
1868+ . try_into_record_batch ( )
1869+ . unwrap ( ) ;
18891870
18901871 let expected_json = json ! ( {
18911872 "id" : test_id,
@@ -1931,13 +1912,11 @@ mod tests {
19311912
19321913 // test with the full log schema that wraps metadata in a "metaData" field
19331914 let commit_schema = get_commit_schema ( ) . project ( & [ METADATA_NAME ] ) . unwrap ( ) ;
1934- let actual: RecordBatch = metadata
1915+ let actual = metadata
19351916 . into_engine_data ( commit_schema, & engine)
19361917 . unwrap ( )
1937- . into_any ( )
1938- . downcast :: < ArrowEngineData > ( )
1939- . unwrap ( )
1940- . into ( ) ;
1918+ . try_into_record_batch ( )
1919+ . unwrap ( ) ;
19411920
19421921 let expected_json = json ! ( {
19431922 "metaData" : {
@@ -1977,12 +1956,7 @@ mod tests {
19771956 let engine_data = protocol
19781957 . clone ( )
19791958 . into_engine_data ( Protocol :: to_schema ( ) . into ( ) , & engine) ;
1980- let record_batch: RecordBatch = engine_data
1981- . unwrap ( )
1982- . into_any ( )
1983- . downcast :: < ArrowEngineData > ( )
1984- . unwrap ( )
1985- . into ( ) ;
1959+ let record_batch = engine_data. try_into_record_batch ( ) . unwrap ( ) ;
19861960
19871961 let list_field = Arc :: new ( Field :: new ( "element" , ArrowDataType :: Utf8 , false ) ) ;
19881962 let protocol_fields = vec ! [
@@ -2069,12 +2043,7 @@ mod tests {
20692043 )
20702044 . unwrap ( ) ;
20712045
2072- let record_batch: RecordBatch = engine_data
2073- . unwrap ( )
2074- . into_any ( )
2075- . downcast :: < ArrowEngineData > ( )
2076- . unwrap ( )
2077- . into ( ) ;
2046+ let record_batch = engine_data. try_into_record_batch ( ) . unwrap ( ) ;
20782047
20792048 assert_eq ! ( record_batch, expected) ;
20802049 }
@@ -2089,11 +2058,7 @@ mod tests {
20892058 let engine_data = protocol
20902059 . into_engine_data ( Protocol :: to_schema ( ) . into ( ) , & engine)
20912060 . unwrap ( ) ;
2092- let record_batch: RecordBatch = engine_data
2093- . into_any ( )
2094- . downcast :: < ArrowEngineData > ( )
2095- . unwrap ( )
2096- . into ( ) ;
2061+ let record_batch = engine_data. try_into_record_batch ( ) . unwrap ( ) ;
20972062
20982063 assert_eq ! ( record_batch. num_rows( ) , 1 ) ;
20992064 assert_eq ! ( record_batch. num_columns( ) , 4 ) ;
@@ -2123,11 +2088,7 @@ mod tests {
21232088 let engine_data = protocol
21242089 . into_engine_data ( Protocol :: to_schema ( ) . into ( ) , & engine)
21252090 . unwrap ( ) ;
2126- let record_batch: RecordBatch = engine_data
2127- . into_any ( )
2128- . downcast :: < ArrowEngineData > ( )
2129- . unwrap ( )
2130- . into ( ) ;
2091+ let record_batch = engine_data. try_into_record_batch ( ) . unwrap ( ) ;
21312092
21322093 assert_eq ! ( record_batch. num_rows( ) , 1 ) ;
21332094 assert_eq ! ( record_batch. num_columns( ) , 4 ) ;
0 commit comments