Skip to content

Commit 1ac8186

Browse files
authored
Minor: reuse test schemas in simplify tests (#17864)
1 parent ae6f8eb commit 1ac8186

File tree

1 file changed

+41
-31
lines changed

1 file changed

+41
-31
lines changed

datafusion/optimizer/src/simplify_expressions/expr_simplifier.rs

Lines changed: 41 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)