Docs.rs
  • datafusion-expr-41.0.0
    • datafusion-expr 41.0.0
    • Docs.rs crate page
    • Apache-2.0
    • Links
    • Homepage
    • Repository
    • crates.io
    • Source
    • Owners
    • andygrove
    • kou
    • nevi-me
    • alamb
    • Dependencies
      • ahash ^0.8 normal
      • arrow ^52.2.0 normal
      • arrow-array ^52.2.0 normal
      • arrow-buffer ^52.2.0 normal
      • chrono ^0.4.34 normal
      • datafusion-common ^41.0.0 normal
      • paste ^1.0 normal
      • serde_json ^1 normal
      • sqlparser ^0.49 normal
      • strum ^0.26.1 normal
      • strum_macros ^0.26.0 normal
      • ctor ^0.2.0 dev
      • env_logger ^0.11 dev
    • Versions
    • 83.44% of the crate is documented
  • Go to latest version
  • Platform
    • i686-pc-windows-msvc
    • i686-unknown-linux-gnu
    • x86_64-apple-darwin
    • x86_64-pc-windows-msvc
    • x86_64-unknown-linux-gnu
  • Feature flags
  • Rust
    • About docs.rs
    • Privacy policy
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate datafusion_expr

datafusion_expr41.0.0

  • All Items
  • Re-exports
  • Modules
  • Macros
  • Structs
  • Enums
  • Constants
  • Traits
  • Functions

Crates

  • datafusion_expr
?
Settings

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::AccumulatorFactoryFunction;
  • pub use function::PartitionEvaluatorFactory;
  • pub use function::ReturnTypeFunction;
  • pub use function::ScalarFunctionImplementation;
  • pub use function::StateTypeFunction;
  • pub use groups_accumulator::EmitTo;
  • pub use groups_accumulator::GroupsAccumulator;
  • 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§

  • 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
    Vectorized GroupsAccumulator
  • interval_arithmetic
    Interval arithmetic library
  • logical_plan
  • planner
    ContextProvider and ExprPlanner APIs to customize SQL query planning
  • registry
    FunctionRegistry trait
  • simplify
    Structs and traits to provide the information needed for expression simplification.
  • sort_properties
  • test
  • tree_node
    Tree node implementation for logical expr
  • type_coercion
    Type coercion rules for DataFusion
  • utils
    Expression utilities
  • var_provider
    Variable provider
  • window_frame
    Window frame module
  • window_function
  • 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).
  • ScalarUDF
    Logical representation of a Scalar User Defined Function.
  • Signature
    Defines the supported argument types (TypeSignature) and Volatility for a function.
  • WindowUDF
    Logical representation of a user-defined window function (UDWF) A UDWF is different from a UDF in that it is stateful across batches.

Enums§

  • ArrayFunctionSignature
  • BuiltInWindowFunction
    A window function built in to DataFusion
  • ColumnarValue
    The result of evaluating an expression.
  • Operator
    Operators applied to expressions
  • ReversedUDAF
  • 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.
  • 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.
  • Literal
    Trait for converting a type to a Literal literal expression.
  • PartitionEvaluator
    Partition evaluator for Window Functions
  • ScalarUDFImpl
    Trait for implementing ScalarUDF.
  • TableSource
    Access schema information and filter push-down capabilities.
  • 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

Results

trait
datafusion_expr::planner::ContextProvider
Provides the SQL query planner meta-data about tables and …
trait method
datafusion_expr::planner::ContextProvider::options
Get configuration options
trait method
datafusion_expr::planner::ContextProvider::udf_names
Get all user defined scalar function names
trait method
datafusion_expr::planner::ContextProvider::udaf_names
Get all user defined aggregate function names
trait method
datafusion_expr::planner::ContextProvider::udwf_names
Get all user defined window function names
method
datafusion_expr::planner::ContextProvider::get_expr_planners
Getter for expr planners
method
datafusion_expr::planner::ContextProvider::get_file_type
trait method
datafusion_expr::planner::ContextProvider::get_window_meta
Getter for a UDWF
trait method
datafusion_expr::planner::ContextProvider::get_table_source
Getter for a datasource
trait method
datafusion_expr::planner::ContextProvider::get_function_meta
Getter for a UDF description
trait method
datafusion_expr::planner::ContextProvider::get_variable_type
Getter for system/user-defined variable type
trait method
datafusion_expr::planner::ContextProvider::get_aggregate_meta
Getter for a UDAF description
method
datafusion_expr::planner::ContextProvider::create_cte_work_table
This provides a worktable (an intermediate table that is …
method
datafusion_expr::planner::ContextProvider::get_table_function_source
Getter for a table function
No results :(
Try on DuckDuckGo?

Or try looking in one of these:
  • The Rust Reference for technical details about the language.
  • Rust By Example for expository code examples.
  • The Rust Book for introductions to language features and the language itself.
  • Docs.rs for documentation of crates released on crates.io.