Skip to content

Commit 6c9355d

Browse files
jonahgaocomphead
andauthored
refactor: use LazyLock in the user_doc macro (#13684)
* refactor: use `LazyLock` in the `user_doc` macro * Fix cargo doc * Update datafusion/macros/src/lib.rs * Fix doc comment --------- Co-authored-by: Oleks V <[email protected]>
1 parent 9fbf39b commit 6c9355d

23 files changed

+68
-92
lines changed

datafusion/functions-aggregate/src/approx_distinct.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ use datafusion_common::ScalarValue;
3131
use datafusion_common::{
3232
downcast_value, internal_err, not_impl_err, DataFusionError, Result,
3333
};
34-
use datafusion_doc::DocSection;
3534
use datafusion_expr::function::{AccumulatorArgs, StateFieldsArgs};
3635
use datafusion_expr::utils::format_state_name;
3736
use datafusion_expr::{
@@ -42,7 +41,6 @@ use std::any::Any;
4241
use std::fmt::{Debug, Formatter};
4342
use std::hash::Hash;
4443
use std::marker::PhantomData;
45-
use std::sync::OnceLock;
4644

4745
make_udaf_expr_and_func!(
4846
ApproxDistinct,

datafusion/functions-aggregate/src/approx_median.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@
1919
2020
use std::any::Any;
2121
use std::fmt::Debug;
22-
use std::sync::OnceLock;
2322

2423
use arrow::{datatypes::DataType, datatypes::Field};
2524
use arrow_schema::DataType::{Float64, UInt64};
2625

2726
use datafusion_common::{not_impl_err, plan_err, Result};
28-
use datafusion_doc::DocSection;
2927
use datafusion_expr::function::{AccumulatorArgs, StateFieldsArgs};
3028
use datafusion_expr::type_coercion::aggregates::NUMERICS;
3129
use datafusion_expr::utils::format_state_name;

datafusion/functions-aggregate/src/approx_percentile_cont.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
use std::any::Any;
1919
use std::fmt::{Debug, Formatter};
2020
use std::mem::size_of_val;
21-
use std::sync::{Arc, OnceLock};
21+
use std::sync::Arc;
2222

2323
use arrow::array::{Array, RecordBatch};
2424
use arrow::compute::{filter, is_not_null};
@@ -35,7 +35,6 @@ use datafusion_common::{
3535
downcast_value, internal_err, not_impl_datafusion_err, not_impl_err, plan_err,
3636
DataFusionError, Result, ScalarValue,
3737
};
38-
use datafusion_doc::DocSection;
3938
use datafusion_expr::function::{AccumulatorArgs, StateFieldsArgs};
4039
use datafusion_expr::type_coercion::aggregates::{INTEGERS, NUMERICS};
4140
use datafusion_expr::utils::format_state_name;

datafusion/functions-aggregate/src/approx_percentile_cont_with_weight.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
use std::any::Any;
1919
use std::fmt::{Debug, Formatter};
2020
use std::mem::size_of_val;
21-
use std::sync::{Arc, OnceLock};
21+
use std::sync::Arc;
2222

2323
use arrow::{
2424
array::ArrayRef,
@@ -27,7 +27,6 @@ use arrow::{
2727

2828
use datafusion_common::ScalarValue;
2929
use datafusion_common::{not_impl_err, plan_err, Result};
30-
use datafusion_doc::DocSection;
3130
use datafusion_expr::function::{AccumulatorArgs, StateFieldsArgs};
3231
use datafusion_expr::type_coercion::aggregates::NUMERICS;
3332
use datafusion_expr::Volatility::Immutable;

datafusion/functions-aggregate/src/array_agg.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ use datafusion_common::cast::as_list_array;
2525
use datafusion_common::utils::{get_row_at_idx, SingleRowListArrayBuilder};
2626
use datafusion_common::{exec_err, ScalarValue};
2727
use datafusion_common::{internal_err, Result};
28-
use datafusion_doc::DocSection;
2928
use datafusion_expr::function::{AccumulatorArgs, StateFieldsArgs};
3029
use datafusion_expr::utils::format_state_name;
3130
use datafusion_expr::{Accumulator, Signature, Volatility};
@@ -36,7 +35,7 @@ use datafusion_macros::user_doc;
3635
use datafusion_physical_expr_common::sort_expr::{LexOrdering, PhysicalSortExpr};
3736
use std::collections::{HashSet, VecDeque};
3837
use std::mem::{size_of, size_of_val};
39-
use std::sync::{Arc, OnceLock};
38+
use std::sync::Arc;
4039

4140
make_udaf_expr_and_func!(
4241
ArrayAgg,

datafusion/functions-aggregate/src/average.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,13 @@ use datafusion_functions_aggregate_common::aggregate::groups_accumulator::nulls:
4242
filtered_null_mask, set_nulls,
4343
};
4444

45-
use datafusion_doc::DocSection;
4645
use datafusion_functions_aggregate_common::utils::DecimalAverager;
4746
use datafusion_macros::user_doc;
4847
use log::debug;
4948
use std::any::Any;
5049
use std::fmt::Debug;
5150
use std::mem::{size_of, size_of_val};
52-
use std::sync::{Arc, OnceLock};
51+
use std::sync::Arc;
5352

5453
make_udaf_expr_and_func!(
5554
Avg,

datafusion/functions-aggregate/src/bool_and_or.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
2020
use std::any::Any;
2121
use std::mem::size_of_val;
22-
use std::sync::OnceLock;
2322

2423
use arrow::array::ArrayRef;
2524
use arrow::array::BooleanArray;
@@ -38,7 +37,6 @@ use datafusion_expr::{
3837
Signature, Volatility,
3938
};
4039

41-
use datafusion_doc::DocSection;
4240
use datafusion_functions_aggregate_common::aggregate::groups_accumulator::bool_op::BooleanGroupsAccumulator;
4341
use datafusion_macros::user_doc;
4442

datafusion/functions-aggregate/src/correlation.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
use std::any::Any;
2121
use std::fmt::Debug;
2222
use std::mem::size_of_val;
23-
use std::sync::{Arc, OnceLock};
23+
use std::sync::Arc;
2424

2525
use arrow::compute::{and, filter, is_not_null};
2626
use arrow::{
@@ -31,7 +31,6 @@ use arrow::{
3131
use crate::covariance::CovarianceAccumulator;
3232
use crate::stddev::StddevAccumulator;
3333
use datafusion_common::{plan_err, Result, ScalarValue};
34-
use datafusion_doc::DocSection;
3534
use datafusion_expr::{
3635
function::{AccumulatorArgs, StateFieldsArgs},
3736
type_coercion::aggregates::NUMERICS,

datafusion/functions-aggregate/src/count.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,14 @@
1717

1818
use ahash::RandomState;
1919
use datafusion_common::stats::Precision;
20-
use datafusion_doc::DocSection;
2120
use datafusion_functions_aggregate_common::aggregate::count_distinct::BytesViewDistinctCountAccumulator;
2221
use datafusion_macros::user_doc;
2322
use datafusion_physical_expr::expressions;
2423
use std::collections::HashSet;
2524
use std::fmt::Debug;
2625
use std::mem::{size_of, size_of_val};
2726
use std::ops::BitAnd;
28-
use std::sync::{Arc, OnceLock};
27+
use std::sync::Arc;
2928

3029
use arrow::{
3130
array::{ArrayRef, AsArray},

datafusion/functions-aggregate/src/covariance.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
2020
use std::fmt::Debug;
2121
use std::mem::size_of_val;
22-
use std::sync::OnceLock;
2322

2423
use arrow::{
2524
array::{ArrayRef, Float64Array, UInt64Array},
@@ -31,7 +30,6 @@ use datafusion_common::{
3130
downcast_value, plan_err, unwrap_or_internal_err, DataFusionError, Result,
3231
ScalarValue,
3332
};
34-
use datafusion_doc::DocSection;
3533
use datafusion_expr::{
3634
function::{AccumulatorArgs, StateFieldsArgs},
3735
type_coercion::aggregates::NUMERICS,

datafusion/functions-aggregate/src/first_last.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
use std::any::Any;
2121
use std::fmt::Debug;
2222
use std::mem::size_of_val;
23-
use std::sync::{Arc, OnceLock};
23+
use std::sync::Arc;
2424

2525
use arrow::array::{ArrayRef, AsArray, BooleanArray};
2626
use arrow::compute::{self, lexsort_to_indices, take_arrays, SortColumn};
@@ -29,7 +29,6 @@ use datafusion_common::utils::{compare_rows, get_row_at_idx};
2929
use datafusion_common::{
3030
arrow_datafusion_err, internal_err, DataFusionError, Result, ScalarValue,
3131
};
32-
use datafusion_doc::DocSection;
3332
use datafusion_expr::function::{AccumulatorArgs, StateFieldsArgs};
3433
use datafusion_expr::utils::{format_state_name, AggregateOrderSensitivity};
3534
use datafusion_expr::{

datafusion/functions-aggregate/src/grouping.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,10 @@
1919
2020
use std::any::Any;
2121
use std::fmt;
22-
use std::sync::OnceLock;
2322

2423
use arrow::datatypes::DataType;
2524
use arrow::datatypes::Field;
2625
use datafusion_common::{not_impl_err, Result};
27-
use datafusion_doc::DocSection;
2826
use datafusion_expr::function::AccumulatorArgs;
2927
use datafusion_expr::function::StateFieldsArgs;
3028
use datafusion_expr::utils::format_state_name;

datafusion/functions-aggregate/src/median.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
use std::cmp::Ordering;
1919
use std::fmt::{Debug, Formatter};
2020
use std::mem::{size_of, size_of_val};
21-
use std::sync::{Arc, OnceLock};
21+
use std::sync::Arc;
2222

2323
use arrow::array::{downcast_integer, ArrowNumericType};
2424
use arrow::{
@@ -34,7 +34,6 @@ use arrow::array::ArrowNativeTypeOp;
3434
use arrow::datatypes::{ArrowNativeType, ArrowPrimitiveType};
3535

3636
use datafusion_common::{DataFusionError, HashSet, Result, ScalarValue};
37-
use datafusion_doc::DocSection;
3837
use datafusion_expr::function::StateFieldsArgs;
3938
use datafusion_expr::{
4039
function::AccumulatorArgs, utils::format_state_name, Accumulator, AggregateUDFImpl,

datafusion/functions-aggregate/src/min_max.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ use arrow::datatypes::{
5555

5656
use crate::min_max::min_max_bytes::MinMaxBytesAccumulator;
5757
use datafusion_common::ScalarValue;
58-
use datafusion_doc::DocSection;
5958
use datafusion_expr::{
6059
function::AccumulatorArgs, Accumulator, AggregateUDFImpl, Documentation, Signature,
6160
Volatility,
@@ -65,7 +64,6 @@ use datafusion_macros::user_doc;
6564
use half::f16;
6665
use std::mem::size_of_val;
6766
use std::ops::Deref;
68-
use std::sync::OnceLock;
6967

7068
fn get_min_max_result_type(input_types: &[DataType]) -> Result<Vec<DataType>> {
7169
// make sure that the input types only has one element.

datafusion/functions-aggregate/src/nth_value.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,13 @@
2121
use std::any::Any;
2222
use std::collections::VecDeque;
2323
use std::mem::{size_of, size_of_val};
24-
use std::sync::{Arc, OnceLock};
24+
use std::sync::Arc;
2525

2626
use arrow::array::{new_empty_array, ArrayRef, AsArray, StructArray};
2727
use arrow_schema::{DataType, Field, Fields};
2828

2929
use datafusion_common::utils::{get_row_at_idx, SingleRowListArrayBuilder};
3030
use datafusion_common::{exec_err, internal_err, not_impl_err, Result, ScalarValue};
31-
use datafusion_doc::DocSection;
3231
use datafusion_expr::function::{AccumulatorArgs, StateFieldsArgs};
3332
use datafusion_expr::utils::format_state_name;
3433
use datafusion_expr::{

datafusion/functions-aggregate/src/stddev.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,13 @@
2020
use std::any::Any;
2121
use std::fmt::{Debug, Formatter};
2222
use std::mem::align_of_val;
23-
use std::sync::{Arc, OnceLock};
23+
use std::sync::Arc;
2424

2525
use arrow::array::Float64Array;
2626
use arrow::{array::ArrayRef, datatypes::DataType, datatypes::Field};
2727

2828
use datafusion_common::{internal_err, not_impl_err, Result};
2929
use datafusion_common::{plan_err, ScalarValue};
30-
use datafusion_doc::DocSection;
3130
use datafusion_expr::function::{AccumulatorArgs, StateFieldsArgs};
3231
use datafusion_expr::utils::format_state_name;
3332
use datafusion_expr::{

datafusion/functions-aggregate/src/string_agg.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ use arrow_schema::DataType;
2222
use datafusion_common::cast::as_generic_string_array;
2323
use datafusion_common::Result;
2424
use datafusion_common::{not_impl_err, ScalarValue};
25-
use datafusion_doc::DocSection;
2625
use datafusion_expr::function::AccumulatorArgs;
2726
use datafusion_expr::{
2827
Accumulator, AggregateUDFImpl, Documentation, Signature, TypeSignature, Volatility,
@@ -31,7 +30,6 @@ use datafusion_macros::user_doc;
3130
use datafusion_physical_expr::expressions::Literal;
3231
use std::any::Any;
3332
use std::mem::size_of_val;
34-
use std::sync::OnceLock;
3533

3634
make_udaf_expr_and_func!(
3735
StringAgg,

datafusion/functions-aggregate/src/sum.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ use datafusion_expr::utils::AggregateOrderSensitivity;
2222
use std::any::Any;
2323
use std::collections::HashSet;
2424
use std::mem::{size_of, size_of_val};
25-
use std::sync::OnceLock;
2625

2726
use arrow::array::Array;
2827
use arrow::array::ArrowNativeTypeOp;
@@ -35,7 +34,6 @@ use arrow::datatypes::{
3534
};
3635
use arrow::{array::ArrayRef, datatypes::Field};
3736
use datafusion_common::{exec_err, not_impl_err, Result, ScalarValue};
38-
use datafusion_doc::DocSection;
3937
use datafusion_expr::function::AccumulatorArgs;
4038
use datafusion_expr::function::StateFieldsArgs;
4139
use datafusion_expr::utils::format_state_name;

datafusion/functions-aggregate/src/variance.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,11 @@ use arrow::{
2525
datatypes::{DataType, Field},
2626
};
2727
use std::mem::{size_of, size_of_val};
28-
use std::sync::OnceLock;
2928
use std::{fmt::Debug, sync::Arc};
3029

3130
use datafusion_common::{
3231
downcast_value, not_impl_err, plan_err, DataFusionError, Result, ScalarValue,
3332
};
34-
use datafusion_doc::DocSection;
3533
use datafusion_expr::{
3634
function::{AccumulatorArgs, StateFieldsArgs},
3735
utils::format_state_name,

datafusion/functions/src/datetime/to_date.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,11 @@ use arrow::error::ArrowError::ParseError;
2222
use arrow::{array::types::Date32Type, compute::kernels::cast_utils::Parser};
2323
use datafusion_common::error::DataFusionError;
2424
use datafusion_common::{arrow_err, exec_err, internal_datafusion_err, Result};
25-
use datafusion_doc::DocSection;
2625
use datafusion_expr::{
2726
ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
2827
};
2928
use datafusion_macros::user_doc;
3029
use std::any::Any;
31-
use std::sync::OnceLock;
3230

3331
#[user_doc(
3432
doc_section(label = "Time and Date Functions"),

datafusion/functions/src/math/abs.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
//! math expressions
1919
2020
use std::any::Any;
21-
use std::sync::{Arc, OnceLock};
21+
use std::sync::Arc;
2222

2323
use arrow::array::{
2424
ArrayRef, Decimal128Array, Decimal256Array, Float32Array, Float64Array, Int16Array,
@@ -27,7 +27,6 @@ use arrow::array::{
2727
use arrow::datatypes::DataType;
2828
use arrow::error::ArrowError;
2929
use datafusion_common::{exec_err, not_impl_err, DataFusionError, Result};
30-
use datafusion_doc::DocSection;
3130
use datafusion_expr::interval_arithmetic::Interval;
3231
use datafusion_expr::sort_properties::{ExprProperties, SortProperties};
3332
use datafusion_expr::{

datafusion/functions/src/string/ltrim.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,10 @@ use std::any::Any;
2222
use crate::string::common::*;
2323
use crate::utils::{make_scalar_function, utf8_to_str_type};
2424
use datafusion_common::{exec_err, Result};
25-
use datafusion_doc::DocSection;
2625
use datafusion_expr::function::Hint;
2726
use datafusion_expr::{ColumnarValue, Documentation, TypeSignature, Volatility};
2827
use datafusion_expr::{ScalarUDFImpl, Signature};
2928
use datafusion_macros::user_doc;
30-
use std::sync::OnceLock;
3129

3230
/// Returns the longest string with leading characters removed. If the characters are not specified, whitespace is removed.
3331
/// ltrim('zzzytest', 'xyz') = 'test'

0 commit comments

Comments
 (0)