Docs.rs
  • datafusion-expr-48.0.1
    • datafusion-expr 48.0.1
    • Permalink
    • Docs.rs crate page
    • Apache-2.0
    • Links
    • Homepage
    • Repository
    • crates.io
    • Source
    • Owners
    • andygrove
    • kou
    • nevi-me
    • alamb
    • xudong963
    • Dependencies
      • arrow ^55.1.0 normal
      • chrono ^0.4.41 normal
      • datafusion-common ^48.0.1 normal
      • datafusion-doc ^48.0.1 normal
      • datafusion-expr-common ^48.0.1 normal
      • datafusion-functions-aggregate-common ^48.0.1 normal
      • datafusion-functions-window-common ^48.0.1 normal
      • datafusion-physical-expr-common ^48.0.1 normal
      • indexmap ^2.9.0 normal
      • paste ^1.0 normal
      • recursive ^0.1.1 normal optional
      • serde_json ^1 normal
      • sqlparser ^0.55.0 normal
      • ctor ^0.4.0 dev
      • env_logger ^0.11 dev
      • insta ^1.43.1 dev
    • Versions
    • 83.88% of the crate is documented
  • Platform
    • i686-unknown-linux-gnu
    • x86_64-unknown-linux-gnu
  • Feature flags
  • docs.rs
    • About docs.rs
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate datafusion_expr

logo

datafusion_expr48.0.1

  • All Items

Crate Items

  • Re-exports
  • Modules
  • Macros
  • Structs
  • Enums
  • Constants
  • Traits
  • Functions
  • Type Aliases

Crates

  • datafusion_expr

Crate datafusion_expr

Source
Expand description

DataFusion is an extensible query execution framework that uses Apache Arrow 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.

Re-exports§

pub use expr::Between;
pub use expr::BinaryExpr;
pub use expr::Case;
pub use expr::Cast;
pub use expr::Expr;
pub use expr::GetFieldAccess;
pub use expr::GroupingSet;
pub use expr::Like;
pub use expr::Sort as SortExpr;
pub use expr::TryCast;
pub use expr::WindowFunctionDefinition;
pub use expr_schema::ExprSchemable;
pub use function::PartitionEvaluatorFactory;
pub use function::ReturnTypeFunction;
pub use function::ScalarFunctionImplementation;
pub use function::StateTypeFunction;
pub use window_frame::WindowFrame;
pub use window_frame::WindowFrameBound;
pub use window_frame::WindowFrameUnits;
pub use sqlparser;
pub use expr_fn::*;
pub use logical_plan::*;

Modules§

aggregate_doc_sections
binary
Coercion rules for matching argument types for binary operators
conditional_expressions
Conditional expressions
execution_props
expr
Logical Expressions: Expr
expr_fn
Functions for creating logical expressions
expr_rewriter
Expression rewriter
expr_schema
function
Function module contains typing and signature for built-in and user defined functions.
groups_accumulator
interval_arithmetic
logical_plan
planner
ContextProvider and ExprPlanner APIs to customize SQL query planning
registry
FunctionRegistry trait
scalar_doc_sections
select_expr
simplify
Structs and traits to provide the information needed for expression simplification.
sort_properties
statistics
test
tree_node
Tree node implementation for Logical Expressions
type_coercion
Type coercion rules for DataFusion
utils
Expression utilities
var_provider
Variable provider
window_doc_sections
window_frame
Window frame module
window_state
Structures used to hold window function state (for implementing WindowUDFs)

Macros§

expr_vec_fmt

Structs§

AggregateUDF
Logical representation of a user-defined aggregate function (UDAF).
DocSection
Documentation
Documentation for use by ScalarUDFImpl, AggregateUDFImpl and WindowUDFImpl functions.
DocumentationBuilder
A builder for Documentation’s.
ReturnFieldArgs
Information about arguments passed to the function
ScalarFunctionArgs
Arguments passed to ScalarUDFImpl::invoke_with_args when invoking a scalar function.
ScalarUDF
Logical representation of a Scalar User Defined Function.
Signature
Defines the supported argument types (TypeSignature) and Volatility for a function.
StatisticsArgs
Arguments passed to AggregateUDFImpl::value_from_stats
WindowUDF
Logical representation of a user-defined window function (UDWF).

Enums§

ArrayFunctionArgument
ArrayFunctionSignature
Coercion
Represents type coercion rules for function arguments, specifying both the desired type and optional implicit coercion rules for source types.
ColumnarValue
The result of evaluating an expression.
EmitTo
Describes how many rows should be emitted during grouping.
Operator
Operators applied to expressions
ReversedUDAF
ReversedUDWF
SetMonotonicity
Indicates whether an aggregation function is monotonic as a set function. A set function is monotonically increasing if its value increases as its argument grows (as a set). Formally, f is a monotonically increasing set function if f(S) >= f(T) whenever S is a superset of T.
TableProviderFilterPushDown
Indicates how a filter expression is handled by TableProvider::scan.
TableType
Indicates the type of this table for metadata/catalog purposes.
TypeSignature
A function’s type signature defines the types of arguments the function supports.
TypeSignatureClass
Represents the class of types that can be used in a function signature.
Volatility
A function’s volatility, which defines the functions eligibility for certain optimizations

Constants§

TIMEZONE_WILDCARD
Constant that is used as a placeholder for any valid timezone. This is used where a function can accept a timestamp type with any valid timezone, it exists to avoid the need to enumerate all possible timezones. See TypeSignature for more details.

Traits§

Accumulator
Tracks an aggregate function’s state.
AggregateUDFImpl
Trait for implementing AggregateUDF.
GroupsAccumulator
GroupsAccumulator implements a single aggregate (e.g. AVG) and stores the state for all groups internally.
Literal
Trait for converting a type to a Literal literal expression.
PartitionEvaluator
Partition evaluator for Window Functions
ScalarUDFImpl
Trait for implementing user defined scalar functions.
TableSource
Planning time information about a table.
TimestampLiteral
Trait for converting a type to a literal timestamp
WindowUDFImpl
Trait for implementing WindowUDF.

Functions§

lit
Create a literal expression
lit_timestamp_nano
Create a literal timestamp expression
lit_with_metadata

Type Aliases§

AccumulatorFactoryFunction
Factory that returns an accumulator for the given aggregate function.

Results

Settings
Help
    struct
    datafusion_expr::logical_plan::CreateExternalTable
    Creates an external table.
    enum variant
    datafusion_expr::logical_plan::DdlStatement::CreateExternalTable
    Creates an external table.
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::name
    CreateExternalTable -> TableReference
    The table name
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::schema
    CreateExternalTable -> DFSchemaRef
    The table schema
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::options
    CreateExternalTable -> HashMap
    Table(provider) specific options
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::location
    CreateExternalTable -> String
    The physical location
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::file_type
    CreateExternalTable -> String
    The file type of physical file
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::temporary
    CreateExternalTable -> bool
    Whether the table is a temporary table
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::unbounded
    CreateExternalTable -> bool
    Whether the table is an infinite streams
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::definition
    CreateExternalTable -> Option
    SQL used to create the table, if available
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::constraints
    CreateExternalTable -> Constraints
    The list of constraints in the schema, such as primary …
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::order_exprs
    CreateExternalTable -> Vec
    Order expressions supplied by user
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::if_not_exists
    CreateExternalTable -> bool
    Option to not error if table already exists
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::column_defaults
    CreateExternalTable -> HashMap
    Default values for columns
    struct field
    datafusion_expr::logical_plan::CreateExternalTable::table_partition_cols
    CreateExternalTable -> Vec
    Partition Columns
    method
    datafusion_expr::logical_plan::CreateExternalTable::clone
    &CreateExternalTable -> CreateExternalTable
    method
    datafusion_expr::logical_plan::CreateExternalTable::eq
    &CreateExternalTable, &CreateExternalTable -> bool
    method
    datafusion_expr::logical_plan::CreateExternalTable::fmt
    &CreateExternalTable, &mut Formatter -> Result
    method
    datafusion_expr::logical_plan::CreateExternalTable::partial_cmp
    &CreateExternalTable, &CreateExternalTable -> Option<Ordering>
    method
    datafusion_expr::logical_plan::CreateExternalTable::hash
    &CreateExternalTable, &mut H -> ()
    method
    datafusion_expr::logical_plan::CreateExternalTable::clone
    &CreateExternalTable -> CreateExternalTable