@@ -73,11 +73,14 @@ use std::str::FromStr;
7373use std:: sync:: Arc ;
7474
7575use crate :: variation_const:: {
76- DATE_32_TYPE_REF , DATE_64_TYPE_REF , DECIMAL_128_TYPE_REF , DECIMAL_256_TYPE_REF ,
77- DEFAULT_CONTAINER_TYPE_REF , DEFAULT_TYPE_REF , INTERVAL_DAY_TIME_TYPE_REF ,
78- INTERVAL_MONTH_DAY_NANO_TYPE_REF , INTERVAL_YEAR_MONTH_TYPE_REF ,
79- LARGE_CONTAINER_TYPE_REF , TIMESTAMP_MICRO_TYPE_REF , TIMESTAMP_MILLI_TYPE_REF ,
80- TIMESTAMP_NANO_TYPE_REF , TIMESTAMP_SECOND_TYPE_REF , UNSIGNED_INTEGER_TYPE_REF ,
76+ DATE_32_TYPE_VARIATION_REF , DATE_64_TYPE_VARIATION_REF ,
77+ DECIMAL_128_TYPE_VARIATION_REF , DECIMAL_256_TYPE_VARIATION_REF ,
78+ DEFAULT_CONTAINER_TYPE_VARIATION_REF , DEFAULT_TYPE_VARIATION_REF ,
79+ INTERVAL_DAY_TIME_TYPE_REF , INTERVAL_MONTH_DAY_NANO_TYPE_REF ,
80+ INTERVAL_YEAR_MONTH_TYPE_REF , LARGE_CONTAINER_TYPE_VARIATION_REF ,
81+ TIMESTAMP_MICRO_TYPE_VARIATION_REF , TIMESTAMP_MILLI_TYPE_VARIATION_REF ,
82+ TIMESTAMP_NANO_TYPE_VARIATION_REF , TIMESTAMP_SECOND_TYPE_VARIATION_REF ,
83+ UNSIGNED_INTEGER_TYPE_VARIATION_REF ,
8184} ;
8285
8386enum ScalarFunctionType {
@@ -1130,62 +1133,62 @@ fn from_substrait_type(
11301133 Some ( s_kind) => match s_kind {
11311134 r#type:: Kind :: Bool ( _) => Ok ( DataType :: Boolean ) ,
11321135 r#type:: Kind :: I8 ( integer) => match integer. type_variation_reference {
1133- DEFAULT_TYPE_REF => Ok ( DataType :: Int8 ) ,
1134- UNSIGNED_INTEGER_TYPE_REF => Ok ( DataType :: UInt8 ) ,
1136+ DEFAULT_TYPE_VARIATION_REF => Ok ( DataType :: Int8 ) ,
1137+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => Ok ( DataType :: UInt8 ) ,
11351138 v => not_impl_err ! (
11361139 "Unsupported Substrait type variation {v} of type {s_kind:?}"
11371140 ) ,
11381141 } ,
11391142 r#type:: Kind :: I16 ( integer) => match integer. type_variation_reference {
1140- DEFAULT_TYPE_REF => Ok ( DataType :: Int16 ) ,
1141- UNSIGNED_INTEGER_TYPE_REF => Ok ( DataType :: UInt16 ) ,
1143+ DEFAULT_TYPE_VARIATION_REF => Ok ( DataType :: Int16 ) ,
1144+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => Ok ( DataType :: UInt16 ) ,
11421145 v => not_impl_err ! (
11431146 "Unsupported Substrait type variation {v} of type {s_kind:?}"
11441147 ) ,
11451148 } ,
11461149 r#type:: Kind :: I32 ( integer) => match integer. type_variation_reference {
1147- DEFAULT_TYPE_REF => Ok ( DataType :: Int32 ) ,
1148- UNSIGNED_INTEGER_TYPE_REF => Ok ( DataType :: UInt32 ) ,
1150+ DEFAULT_TYPE_VARIATION_REF => Ok ( DataType :: Int32 ) ,
1151+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => Ok ( DataType :: UInt32 ) ,
11491152 v => not_impl_err ! (
11501153 "Unsupported Substrait type variation {v} of type {s_kind:?}"
11511154 ) ,
11521155 } ,
11531156 r#type:: Kind :: I64 ( integer) => match integer. type_variation_reference {
1154- DEFAULT_TYPE_REF => Ok ( DataType :: Int64 ) ,
1155- UNSIGNED_INTEGER_TYPE_REF => Ok ( DataType :: UInt64 ) ,
1157+ DEFAULT_TYPE_VARIATION_REF => Ok ( DataType :: Int64 ) ,
1158+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => Ok ( DataType :: UInt64 ) ,
11561159 v => not_impl_err ! (
11571160 "Unsupported Substrait type variation {v} of type {s_kind:?}"
11581161 ) ,
11591162 } ,
11601163 r#type:: Kind :: Fp32 ( _) => Ok ( DataType :: Float32 ) ,
11611164 r#type:: Kind :: Fp64 ( _) => Ok ( DataType :: Float64 ) ,
11621165 r#type:: Kind :: Timestamp ( ts) => match ts. type_variation_reference {
1163- TIMESTAMP_SECOND_TYPE_REF => {
1166+ TIMESTAMP_SECOND_TYPE_VARIATION_REF => {
11641167 Ok ( DataType :: Timestamp ( TimeUnit :: Second , None ) )
11651168 }
1166- TIMESTAMP_MILLI_TYPE_REF => {
1169+ TIMESTAMP_MILLI_TYPE_VARIATION_REF => {
11671170 Ok ( DataType :: Timestamp ( TimeUnit :: Millisecond , None ) )
11681171 }
1169- TIMESTAMP_MICRO_TYPE_REF => {
1172+ TIMESTAMP_MICRO_TYPE_VARIATION_REF => {
11701173 Ok ( DataType :: Timestamp ( TimeUnit :: Microsecond , None ) )
11711174 }
1172- TIMESTAMP_NANO_TYPE_REF => {
1175+ TIMESTAMP_NANO_TYPE_VARIATION_REF => {
11731176 Ok ( DataType :: Timestamp ( TimeUnit :: Nanosecond , None ) )
11741177 }
11751178 v => not_impl_err ! (
11761179 "Unsupported Substrait type variation {v} of type {s_kind:?}"
11771180 ) ,
11781181 } ,
11791182 r#type:: Kind :: Date ( date) => match date. type_variation_reference {
1180- DATE_32_TYPE_REF => Ok ( DataType :: Date32 ) ,
1181- DATE_64_TYPE_REF => Ok ( DataType :: Date64 ) ,
1183+ DATE_32_TYPE_VARIATION_REF => Ok ( DataType :: Date32 ) ,
1184+ DATE_64_TYPE_VARIATION_REF => Ok ( DataType :: Date64 ) ,
11821185 v => not_impl_err ! (
11831186 "Unsupported Substrait type variation {v} of type {s_kind:?}"
11841187 ) ,
11851188 } ,
11861189 r#type:: Kind :: Binary ( binary) => match binary. type_variation_reference {
1187- DEFAULT_CONTAINER_TYPE_REF => Ok ( DataType :: Binary ) ,
1188- LARGE_CONTAINER_TYPE_REF => Ok ( DataType :: LargeBinary ) ,
1190+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => Ok ( DataType :: Binary ) ,
1191+ LARGE_CONTAINER_TYPE_VARIATION_REF => Ok ( DataType :: LargeBinary ) ,
11891192 v => not_impl_err ! (
11901193 "Unsupported Substrait type variation {v} of type {s_kind:?}"
11911194 ) ,
@@ -1194,8 +1197,8 @@ fn from_substrait_type(
11941197 Ok ( DataType :: FixedSizeBinary ( fixed. length ) )
11951198 }
11961199 r#type:: Kind :: String ( string) => match string. type_variation_reference {
1197- DEFAULT_CONTAINER_TYPE_REF => Ok ( DataType :: Utf8 ) ,
1198- LARGE_CONTAINER_TYPE_REF => Ok ( DataType :: LargeUtf8 ) ,
1200+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => Ok ( DataType :: Utf8 ) ,
1201+ LARGE_CONTAINER_TYPE_VARIATION_REF => Ok ( DataType :: LargeUtf8 ) ,
11991202 v => not_impl_err ! (
12001203 "Unsupported Substrait type variation {v} of type {s_kind:?}"
12011204 ) ,
@@ -1209,18 +1212,18 @@ fn from_substrait_type(
12091212 is_substrait_type_nullable ( inner_type) ?,
12101213 ) ) ;
12111214 match list. type_variation_reference {
1212- DEFAULT_CONTAINER_TYPE_REF => Ok ( DataType :: List ( field) ) ,
1213- LARGE_CONTAINER_TYPE_REF => Ok ( DataType :: LargeList ( field) ) ,
1215+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => Ok ( DataType :: List ( field) ) ,
1216+ LARGE_CONTAINER_TYPE_VARIATION_REF => Ok ( DataType :: LargeList ( field) ) ,
12141217 v => not_impl_err ! (
12151218 "Unsupported Substrait type variation {v} of type {s_kind:?}"
12161219 ) ?,
12171220 }
12181221 }
12191222 r#type:: Kind :: Decimal ( d) => match d. type_variation_reference {
1220- DECIMAL_128_TYPE_REF => {
1223+ DECIMAL_128_TYPE_VARIATION_REF => {
12211224 Ok ( DataType :: Decimal128 ( d. precision as u8 , d. scale as i8 ) )
12221225 }
1223- DECIMAL_256_TYPE_REF => {
1226+ DECIMAL_256_TYPE_VARIATION_REF => {
12241227 Ok ( DataType :: Decimal256 ( d. precision as u8 , d. scale as i8 ) )
12251228 }
12261229 v => not_impl_err ! (
@@ -1397,55 +1400,65 @@ fn from_substrait_literal(
13971400 let scalar_value = match & lit. literal_type {
13981401 Some ( LiteralType :: Boolean ( b) ) => ScalarValue :: Boolean ( Some ( * b) ) ,
13991402 Some ( LiteralType :: I8 ( n) ) => match lit. type_variation_reference {
1400- DEFAULT_TYPE_REF => ScalarValue :: Int8 ( Some ( * n as i8 ) ) ,
1401- UNSIGNED_INTEGER_TYPE_REF => ScalarValue :: UInt8 ( Some ( * n as u8 ) ) ,
1403+ DEFAULT_TYPE_VARIATION_REF => ScalarValue :: Int8 ( Some ( * n as i8 ) ) ,
1404+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => ScalarValue :: UInt8 ( Some ( * n as u8 ) ) ,
14021405 others => {
14031406 return substrait_err ! ( "Unknown type variation reference {others}" ) ;
14041407 }
14051408 } ,
14061409 Some ( LiteralType :: I16 ( n) ) => match lit. type_variation_reference {
1407- DEFAULT_TYPE_REF => ScalarValue :: Int16 ( Some ( * n as i16 ) ) ,
1408- UNSIGNED_INTEGER_TYPE_REF => ScalarValue :: UInt16 ( Some ( * n as u16 ) ) ,
1410+ DEFAULT_TYPE_VARIATION_REF => ScalarValue :: Int16 ( Some ( * n as i16 ) ) ,
1411+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => ScalarValue :: UInt16 ( Some ( * n as u16 ) ) ,
14091412 others => {
14101413 return substrait_err ! ( "Unknown type variation reference {others}" ) ;
14111414 }
14121415 } ,
14131416 Some ( LiteralType :: I32 ( n) ) => match lit. type_variation_reference {
1414- DEFAULT_TYPE_REF => ScalarValue :: Int32 ( Some ( * n) ) ,
1415- UNSIGNED_INTEGER_TYPE_REF => ScalarValue :: UInt32 ( Some ( * n as u32 ) ) ,
1417+ DEFAULT_TYPE_VARIATION_REF => ScalarValue :: Int32 ( Some ( * n) ) ,
1418+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => ScalarValue :: UInt32 ( Some ( * n as u32 ) ) ,
14161419 others => {
14171420 return substrait_err ! ( "Unknown type variation reference {others}" ) ;
14181421 }
14191422 } ,
14201423 Some ( LiteralType :: I64 ( n) ) => match lit. type_variation_reference {
1421- DEFAULT_TYPE_REF => ScalarValue :: Int64 ( Some ( * n) ) ,
1422- UNSIGNED_INTEGER_TYPE_REF => ScalarValue :: UInt64 ( Some ( * n as u64 ) ) ,
1424+ DEFAULT_TYPE_VARIATION_REF => ScalarValue :: Int64 ( Some ( * n) ) ,
1425+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => ScalarValue :: UInt64 ( Some ( * n as u64 ) ) ,
14231426 others => {
14241427 return substrait_err ! ( "Unknown type variation reference {others}" ) ;
14251428 }
14261429 } ,
14271430 Some ( LiteralType :: Fp32 ( f) ) => ScalarValue :: Float32 ( Some ( * f) ) ,
14281431 Some ( LiteralType :: Fp64 ( f) ) => ScalarValue :: Float64 ( Some ( * f) ) ,
14291432 Some ( LiteralType :: Timestamp ( t) ) => match lit. type_variation_reference {
1430- TIMESTAMP_SECOND_TYPE_REF => ScalarValue :: TimestampSecond ( Some ( * t) , None ) ,
1431- TIMESTAMP_MILLI_TYPE_REF => ScalarValue :: TimestampMillisecond ( Some ( * t) , None ) ,
1432- TIMESTAMP_MICRO_TYPE_REF => ScalarValue :: TimestampMicrosecond ( Some ( * t) , None ) ,
1433- TIMESTAMP_NANO_TYPE_REF => ScalarValue :: TimestampNanosecond ( Some ( * t) , None ) ,
1433+ TIMESTAMP_SECOND_TYPE_VARIATION_REF => {
1434+ ScalarValue :: TimestampSecond ( Some ( * t) , None )
1435+ }
1436+ TIMESTAMP_MILLI_TYPE_VARIATION_REF => {
1437+ ScalarValue :: TimestampMillisecond ( Some ( * t) , None )
1438+ }
1439+ TIMESTAMP_MICRO_TYPE_VARIATION_REF => {
1440+ ScalarValue :: TimestampMicrosecond ( Some ( * t) , None )
1441+ }
1442+ TIMESTAMP_NANO_TYPE_VARIATION_REF => {
1443+ ScalarValue :: TimestampNanosecond ( Some ( * t) , None )
1444+ }
14341445 others => {
14351446 return substrait_err ! ( "Unknown type variation reference {others}" ) ;
14361447 }
14371448 } ,
14381449 Some ( LiteralType :: Date ( d) ) => ScalarValue :: Date32 ( Some ( * d) ) ,
14391450 Some ( LiteralType :: String ( s) ) => match lit. type_variation_reference {
1440- DEFAULT_CONTAINER_TYPE_REF => ScalarValue :: Utf8 ( Some ( s. clone ( ) ) ) ,
1441- LARGE_CONTAINER_TYPE_REF => ScalarValue :: LargeUtf8 ( Some ( s. clone ( ) ) ) ,
1451+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => ScalarValue :: Utf8 ( Some ( s. clone ( ) ) ) ,
1452+ LARGE_CONTAINER_TYPE_VARIATION_REF => ScalarValue :: LargeUtf8 ( Some ( s. clone ( ) ) ) ,
14421453 others => {
14431454 return substrait_err ! ( "Unknown type variation reference {others}" ) ;
14441455 }
14451456 } ,
14461457 Some ( LiteralType :: Binary ( b) ) => match lit. type_variation_reference {
1447- DEFAULT_CONTAINER_TYPE_REF => ScalarValue :: Binary ( Some ( b. clone ( ) ) ) ,
1448- LARGE_CONTAINER_TYPE_REF => ScalarValue :: LargeBinary ( Some ( b. clone ( ) ) ) ,
1458+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => ScalarValue :: Binary ( Some ( b. clone ( ) ) ) ,
1459+ LARGE_CONTAINER_TYPE_VARIATION_REF => {
1460+ ScalarValue :: LargeBinary ( Some ( b. clone ( ) ) )
1461+ }
14491462 others => {
14501463 return substrait_err ! ( "Unknown type variation reference {others}" ) ;
14511464 }
@@ -1484,11 +1497,10 @@ fn from_substrait_literal(
14841497 }
14851498 let element_type = elements[ 0 ] . data_type ( ) ;
14861499 match lit. type_variation_reference {
1487- DEFAULT_CONTAINER_TYPE_REF => ScalarValue :: List ( ScalarValue :: new_list (
1488- elements. as_slice ( ) ,
1489- & element_type,
1490- ) ) ,
1491- LARGE_CONTAINER_TYPE_REF => ScalarValue :: LargeList (
1500+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => ScalarValue :: List (
1501+ ScalarValue :: new_list ( elements. as_slice ( ) , & element_type) ,
1502+ ) ,
1503+ LARGE_CONTAINER_TYPE_VARIATION_REF => ScalarValue :: LargeList (
14921504 ScalarValue :: new_large_list ( elements. as_slice ( ) , & element_type) ,
14931505 ) ,
14941506 others => {
@@ -1503,10 +1515,10 @@ fn from_substrait_literal(
15031515 name_idx,
15041516 ) ?;
15051517 match lit. type_variation_reference {
1506- DEFAULT_CONTAINER_TYPE_REF => {
1518+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => {
15071519 ScalarValue :: List ( ScalarValue :: new_list ( & [ ] , & element_type) )
15081520 }
1509- LARGE_CONTAINER_TYPE_REF => ScalarValue :: LargeList (
1521+ LARGE_CONTAINER_TYPE_VARIATION_REF => ScalarValue :: LargeList (
15101522 ScalarValue :: new_large_list ( & [ ] , & element_type) ,
15111523 ) ,
15121524 others => {
@@ -1590,68 +1602,70 @@ fn from_substrait_null(
15901602 match kind {
15911603 r#type:: Kind :: Bool ( _) => Ok ( ScalarValue :: Boolean ( None ) ) ,
15921604 r#type:: Kind :: I8 ( integer) => match integer. type_variation_reference {
1593- DEFAULT_TYPE_REF => Ok ( ScalarValue :: Int8 ( None ) ) ,
1594- UNSIGNED_INTEGER_TYPE_REF => Ok ( ScalarValue :: UInt8 ( None ) ) ,
1605+ DEFAULT_TYPE_VARIATION_REF => Ok ( ScalarValue :: Int8 ( None ) ) ,
1606+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => Ok ( ScalarValue :: UInt8 ( None ) ) ,
15951607 v => not_impl_err ! (
15961608 "Unsupported Substrait type variation {v} of type {kind:?}"
15971609 ) ,
15981610 } ,
15991611 r#type:: Kind :: I16 ( integer) => match integer. type_variation_reference {
1600- DEFAULT_TYPE_REF => Ok ( ScalarValue :: Int16 ( None ) ) ,
1601- UNSIGNED_INTEGER_TYPE_REF => Ok ( ScalarValue :: UInt16 ( None ) ) ,
1612+ DEFAULT_TYPE_VARIATION_REF => Ok ( ScalarValue :: Int16 ( None ) ) ,
1613+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => Ok ( ScalarValue :: UInt16 ( None ) ) ,
16021614 v => not_impl_err ! (
16031615 "Unsupported Substrait type variation {v} of type {kind:?}"
16041616 ) ,
16051617 } ,
16061618 r#type:: Kind :: I32 ( integer) => match integer. type_variation_reference {
1607- DEFAULT_TYPE_REF => Ok ( ScalarValue :: Int32 ( None ) ) ,
1608- UNSIGNED_INTEGER_TYPE_REF => Ok ( ScalarValue :: UInt32 ( None ) ) ,
1619+ DEFAULT_TYPE_VARIATION_REF => Ok ( ScalarValue :: Int32 ( None ) ) ,
1620+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => Ok ( ScalarValue :: UInt32 ( None ) ) ,
16091621 v => not_impl_err ! (
16101622 "Unsupported Substrait type variation {v} of type {kind:?}"
16111623 ) ,
16121624 } ,
16131625 r#type:: Kind :: I64 ( integer) => match integer. type_variation_reference {
1614- DEFAULT_TYPE_REF => Ok ( ScalarValue :: Int64 ( None ) ) ,
1615- UNSIGNED_INTEGER_TYPE_REF => Ok ( ScalarValue :: UInt64 ( None ) ) ,
1626+ DEFAULT_TYPE_VARIATION_REF => Ok ( ScalarValue :: Int64 ( None ) ) ,
1627+ UNSIGNED_INTEGER_TYPE_VARIATION_REF => Ok ( ScalarValue :: UInt64 ( None ) ) ,
16161628 v => not_impl_err ! (
16171629 "Unsupported Substrait type variation {v} of type {kind:?}"
16181630 ) ,
16191631 } ,
16201632 r#type:: Kind :: Fp32 ( _) => Ok ( ScalarValue :: Float32 ( None ) ) ,
16211633 r#type:: Kind :: Fp64 ( _) => Ok ( ScalarValue :: Float64 ( None ) ) ,
16221634 r#type:: Kind :: Timestamp ( ts) => match ts. type_variation_reference {
1623- TIMESTAMP_SECOND_TYPE_REF => Ok ( ScalarValue :: TimestampSecond ( None , None ) ) ,
1624- TIMESTAMP_MILLI_TYPE_REF => {
1635+ TIMESTAMP_SECOND_TYPE_VARIATION_REF => {
1636+ Ok ( ScalarValue :: TimestampSecond ( None , None ) )
1637+ }
1638+ TIMESTAMP_MILLI_TYPE_VARIATION_REF => {
16251639 Ok ( ScalarValue :: TimestampMillisecond ( None , None ) )
16261640 }
1627- TIMESTAMP_MICRO_TYPE_REF => {
1641+ TIMESTAMP_MICRO_TYPE_VARIATION_REF => {
16281642 Ok ( ScalarValue :: TimestampMicrosecond ( None , None ) )
16291643 }
1630- TIMESTAMP_NANO_TYPE_REF => {
1644+ TIMESTAMP_NANO_TYPE_VARIATION_REF => {
16311645 Ok ( ScalarValue :: TimestampNanosecond ( None , None ) )
16321646 }
16331647 v => not_impl_err ! (
16341648 "Unsupported Substrait type variation {v} of type {kind:?}"
16351649 ) ,
16361650 } ,
16371651 r#type:: Kind :: Date ( date) => match date. type_variation_reference {
1638- DATE_32_TYPE_REF => Ok ( ScalarValue :: Date32 ( None ) ) ,
1639- DATE_64_TYPE_REF => Ok ( ScalarValue :: Date64 ( None ) ) ,
1652+ DATE_32_TYPE_VARIATION_REF => Ok ( ScalarValue :: Date32 ( None ) ) ,
1653+ DATE_64_TYPE_VARIATION_REF => Ok ( ScalarValue :: Date64 ( None ) ) ,
16401654 v => not_impl_err ! (
16411655 "Unsupported Substrait type variation {v} of type {kind:?}"
16421656 ) ,
16431657 } ,
16441658 r#type:: Kind :: Binary ( binary) => match binary. type_variation_reference {
1645- DEFAULT_CONTAINER_TYPE_REF => Ok ( ScalarValue :: Binary ( None ) ) ,
1646- LARGE_CONTAINER_TYPE_REF => Ok ( ScalarValue :: LargeBinary ( None ) ) ,
1659+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => Ok ( ScalarValue :: Binary ( None ) ) ,
1660+ LARGE_CONTAINER_TYPE_VARIATION_REF => Ok ( ScalarValue :: LargeBinary ( None ) ) ,
16471661 v => not_impl_err ! (
16481662 "Unsupported Substrait type variation {v} of type {kind:?}"
16491663 ) ,
16501664 } ,
16511665 // FixedBinary is not supported because `None` doesn't have length
16521666 r#type:: Kind :: String ( string) => match string. type_variation_reference {
1653- DEFAULT_CONTAINER_TYPE_REF => Ok ( ScalarValue :: Utf8 ( None ) ) ,
1654- LARGE_CONTAINER_TYPE_REF => Ok ( ScalarValue :: LargeUtf8 ( None ) ) ,
1667+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => Ok ( ScalarValue :: Utf8 ( None ) ) ,
1668+ LARGE_CONTAINER_TYPE_VARIATION_REF => Ok ( ScalarValue :: LargeUtf8 ( None ) ) ,
16551669 v => not_impl_err ! (
16561670 "Unsupported Substrait type variation {v} of type {kind:?}"
16571671 ) ,
@@ -1671,12 +1685,12 @@ fn from_substrait_null(
16711685 true ,
16721686 ) ;
16731687 match l. type_variation_reference {
1674- DEFAULT_CONTAINER_TYPE_REF => Ok ( ScalarValue :: List ( Arc :: new (
1675- GenericListArray :: new_null ( field. into ( ) , 1 ) ,
1676- ) ) ) ,
1677- LARGE_CONTAINER_TYPE_REF => Ok ( ScalarValue :: LargeList ( Arc :: new (
1678- GenericListArray :: new_null ( field. into ( ) , 1 ) ,
1679- ) ) ) ,
1688+ DEFAULT_CONTAINER_TYPE_VARIATION_REF => Ok ( ScalarValue :: List (
1689+ Arc :: new ( GenericListArray :: new_null ( field. into ( ) , 1 ) ) ,
1690+ ) ) ,
1691+ LARGE_CONTAINER_TYPE_VARIATION_REF => Ok ( ScalarValue :: LargeList (
1692+ Arc :: new ( GenericListArray :: new_null ( field. into ( ) , 1 ) ) ,
1693+ ) ) ,
16801694 v => not_impl_err ! (
16811695 "Unsupported Substrait type variation {v} of type {kind:?}"
16821696 ) ,
0 commit comments