Repository navigation
Expand file tree
/
Copy pathlib.rs
More file actions
157 lines (150 loc) · 5.59 KB
/
Copy pathlib.rs
File metadata and controls
157 lines (150 loc) · 5.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: See the NOTICE file distributed with this work for additional information regarding copyright ownership
// SPDX-FileContributor: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements
#![doc(
html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg",
html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg"
)]
#![cfg_attr(docsrs, feature(doc_cfg))]
// Make sure fast / cheap clones on Arc are explicit:
// https://github.com/apache/datafusion/issues/11143
#![deny(clippy::clone_on_ref_ptr)]
#![cfg_attr(test, allow(clippy::needless_pass_by_value))]
//! [DataFusion](https://github.com/apache/datafusion)
//! is an extensible query execution framework that uses
//! [Apache Arrow](https://arrow.apache.org) as its in-memory format.
//!
//! This crate is a submodule of DataFusion that provides types representing
//! logical query plans ([LogicalPlan]) and logical expressions ([Expr]) as well as utilities for
//! working with these types.
//!
//! The [expr_fn] module contains functions for creating expressions.
extern crate core;
mod higher_order_function;
mod literal;
mod operation;
mod partition_evaluator;
mod table_source;
mod udaf;
mod udf;
mod udwf;
pub mod arguments;
pub mod conditional_expressions;
pub mod execution_props;
pub mod expr;
pub mod expr_fn;
pub mod expr_rewriter;
pub mod expr_schema;
pub mod extension_types;
pub mod function;
pub mod physical_planning_context;
pub mod select_expr;
pub mod groups_accumulator {
pub use datafusion_expr_common::groups_accumulator::*;
}
pub mod interval_arithmetic {
pub use datafusion_expr_common::interval_arithmetic::*;
}
pub mod logical_plan;
pub mod dml {
//! DML (Data Manipulation Language) types for DELETE, UPDATE operations.
pub use crate::logical_plan::dml::*;
}
pub mod planner;
/// Protobuf conversions for [`WindowFrame`], [`WindowFrameBound`],
/// [`WindowFrameUnits`], [`MergeIntoClauseKind`] and
/// [`NullTreatment`](expr::NullTreatment), gated on the `proto` feature.
#[cfg(feature = "proto")]
mod proto;
pub mod registry;
pub mod simplify;
pub mod sort_properties {
pub use datafusion_expr_common::sort_properties::*;
}
pub mod async_udf;
pub mod statistics {
pub use datafusion_expr_common::statistics::*;
}
mod predicate_bounds;
pub mod preimage;
pub mod ptr_eq;
#[cfg(not(feature = "sql"))]
pub mod sql;
/// # Public Only for Internal Use:
///
/// This is not a public API and is for internal use only; see [API policy] for details.
///
/// [API policy]: https://datafusion.apache.org/contributor-guide/api-health.html#internal-public-apis
#[doc(hidden)]
pub mod test;
pub mod tree_node;
pub mod type_coercion;
pub mod udf_eq;
pub mod utils;
pub mod var_provider;
pub mod window_frame;
pub mod window_state;
pub use datafusion_doc::{
DocSection, Documentation, DocumentationBuilder, aggregate_doc_sections,
scalar_doc_sections, window_doc_sections,
};
pub use datafusion_expr_common::accumulator::{
Accumulator, AggregateMetric, AggregateMetricRecorder, AggregateMetrics,
};
pub use datafusion_expr_common::columnar_value::ColumnarValue;
pub use datafusion_expr_common::groups_accumulator::{
EmitTo, GroupSelection, GroupsAccumulator,
};
pub use datafusion_expr_common::operator::Operator;
pub use datafusion_expr_common::placement::ExpressionPlacement;
pub use datafusion_expr_common::signature::{
ArrayFunctionArgument, ArrayFunctionSignature, Coercion, EncodingPreservation,
Signature, TIMEZONE_WILDCARD, TypeSignature, TypeSignatureClass, Volatility,
};
pub use datafusion_expr_common::type_coercion::binary;
pub use expr::{
Between, BinaryExpr, Case, Cast, Expr, GetFieldAccess, GroupingSet, Like,
Sort as SortExpr, TryCast, WindowFunctionDefinition,
};
pub use expr_fn::*;
pub use expr_schema::ExprSchemable;
pub use function::{
AccumulatorFactoryFunction, PartitionEvaluatorFactory, ReturnTypeFunction,
ScalarFunctionImplementation, StateTypeFunction,
};
pub use higher_order_function::{
HigherOrderFunctionArgs, HigherOrderReturnFieldArgs, HigherOrderSignature,
HigherOrderTypeSignature, HigherOrderUDF, HigherOrderUDFImpl, LambdaArgument,
LambdaParametersProgress, ValueOrLambda,
};
pub use literal::{
Literal, TimestampLiteral, lit, lit_timestamp_nano, lit_with_metadata,
};
pub use logical_plan::*;
pub use partition_evaluator::PartitionEvaluator;
#[cfg(feature = "sql")]
pub use sqlparser;
pub use table_source::{TableProviderFilterPushDown, TableSource, TableType};
pub use udaf::{
AggregateUDF, AggregateUDFImpl, DistinctHandling, ReversedUDAF, SetMonotonicity,
StatisticsArgs, UdafDisplayNameBuilder, UdafHumanDisplayBuilder,
UdafSchemaNameBuilder, UdafWindowFunctionDisplayNameBuilder,
UdafWindowFunctionSchemaNameBuilder, udaf_default_return_field,
udaf_return_field_preserving_arg_metadata,
};
#[expect(deprecated)]
pub use udaf::{
udaf_default_display_name, udaf_default_human_display, udaf_default_schema_name,
udaf_default_window_function_display_name, udaf_default_window_function_schema_name,
};
pub use udf::{
ReturnFieldArgs, ScalarFunctionArgs, ScalarUDF, ScalarUDFImpl, StructFieldMapping,
};
pub use udwf::{LimitEffect, ReversedUDWF, WindowUDF, WindowUDFImpl};
pub use window_frame::{WindowFrame, WindowFrameBound, WindowFrameUnits};
#[cfg(test)]
#[ctor::ctor(unsafe)]
fn init() {
// Enable RUST_LOG logging configuration for test
let _ = env_logger::try_init();
}