@@ -2180,6 +2180,7 @@ mod tests {
21802180 use datafusion_functions_window_common:: field:: WindowUDFFieldArgs ;
21812181 use datafusion_functions_window_common:: partition:: PartitionEvaluatorArgs ;
21822182 use std:: hash:: Hash ;
2183+ use std:: sync:: LazyLock ;
21832184 use std:: {
21842185 collections:: HashMap ,
21852186 ops:: { BitAnd , BitOr , BitXor } ,
@@ -2220,12 +2221,15 @@ mod tests {
22202221 }
22212222
22222223 fn test_schema ( ) -> DFSchemaRef {
2223- Schema :: new ( vec ! [
2224- Field :: new( "i" , DataType :: Int64 , false ) ,
2225- Field :: new( "b" , DataType :: Boolean , true ) ,
2226- ] )
2227- . to_dfschema_ref ( )
2228- . unwrap ( )
2224+ static TEST_SCHEMA : LazyLock < DFSchemaRef > = LazyLock :: new ( || {
2225+ Schema :: new ( vec ! [
2226+ Field :: new( "i" , DataType :: Int64 , false ) ,
2227+ Field :: new( "b" , DataType :: Boolean , true ) ,
2228+ ] )
2229+ . to_dfschema_ref ( )
2230+ . unwrap ( )
2231+ } ) ;
2232+ Arc :: clone ( & TEST_SCHEMA )
22292233 }
22302234
22312235 #[ test]
@@ -3407,24 +3411,27 @@ mod tests {
34073411 }
34083412
34093413 fn expr_test_schema ( ) -> DFSchemaRef {
3410- Arc :: new (
3411- DFSchema :: from_unqualified_fields (
3412- vec ! [
3413- Field :: new( "c1" , DataType :: Utf8 , true ) ,
3414- Field :: new( "c2" , DataType :: Boolean , true ) ,
3415- Field :: new( "c3" , DataType :: Int64 , true ) ,
3416- Field :: new( "c4" , DataType :: UInt32 , true ) ,
3417- Field :: new( "c1_non_null" , DataType :: Utf8 , false ) ,
3418- Field :: new( "c2_non_null" , DataType :: Boolean , false ) ,
3419- Field :: new( "c3_non_null" , DataType :: Int64 , false ) ,
3420- Field :: new( "c4_non_null" , DataType :: UInt32 , false ) ,
3421- Field :: new( "c5" , DataType :: FixedSizeBinary ( 3 ) , true ) ,
3422- ]
3423- . into ( ) ,
3424- HashMap :: new ( ) ,
3414+ static EXPR_TEST_SCHEMA : LazyLock < DFSchemaRef > = LazyLock :: new ( || {
3415+ Arc :: new (
3416+ DFSchema :: from_unqualified_fields (
3417+ vec ! [
3418+ Field :: new( "c1" , DataType :: Utf8 , true ) ,
3419+ Field :: new( "c2" , DataType :: Boolean , true ) ,
3420+ Field :: new( "c3" , DataType :: Int64 , true ) ,
3421+ Field :: new( "c4" , DataType :: UInt32 , true ) ,
3422+ Field :: new( "c1_non_null" , DataType :: Utf8 , false ) ,
3423+ Field :: new( "c2_non_null" , DataType :: Boolean , false ) ,
3424+ Field :: new( "c3_non_null" , DataType :: Int64 , false ) ,
3425+ Field :: new( "c4_non_null" , DataType :: UInt32 , false ) ,
3426+ Field :: new( "c5" , DataType :: FixedSizeBinary ( 3 ) , true ) ,
3427+ ]
3428+ . into ( ) ,
3429+ HashMap :: new ( ) ,
3430+ )
3431+ . unwrap ( ) ,
34253432 )
3426- . unwrap ( ) ,
3427- )
3433+ } ) ;
3434+ Arc :: clone ( & EXPR_TEST_SCHEMA )
34283435 }
34293436
34303437 #[ test]
@@ -4653,14 +4660,17 @@ mod tests {
46534660 }
46544661
46554662 fn boolean_test_schema ( ) -> DFSchemaRef {
4656- Schema :: new ( vec ! [
4657- Field :: new( "A" , DataType :: Boolean , false ) ,
4658- Field :: new( "B" , DataType :: Boolean , false ) ,
4659- Field :: new( "C" , DataType :: Boolean , false ) ,
4660- Field :: new( "D" , DataType :: Boolean , false ) ,
4661- ] )
4662- . to_dfschema_ref ( )
4663- . unwrap ( )
4663+ static BOOLEAN_TEST_SCHEMA : LazyLock < DFSchemaRef > = LazyLock :: new ( || {
4664+ Schema :: new ( vec ! [
4665+ Field :: new( "A" , DataType :: Boolean , false ) ,
4666+ Field :: new( "B" , DataType :: Boolean , false ) ,
4667+ Field :: new( "C" , DataType :: Boolean , false ) ,
4668+ Field :: new( "D" , DataType :: Boolean , false ) ,
4669+ ] )
4670+ . to_dfschema_ref ( )
4671+ . unwrap ( )
4672+ } ) ;
4673+ Arc :: clone ( & BOOLEAN_TEST_SCHEMA )
46644674 }
46654675
46664676 #[ test]
0 commit comments