Skip to content

The set of the optimizations considered during query optimization

Source code

Description

[Experimental]

Usage

pl__QueryOptFlags(
  ...,
  predicate_pushdown = TRUE,
  projection_pushdown = TRUE,
  simplify_expression = TRUE,
  slice_pushdown = TRUE,
  comm_subplan_elim = TRUE,
  comm_subexpr_elim = TRUE,
  cluster_with_columns = TRUE,
  check_order_observe = TRUE,
  fast_projection = TRUE
)

Arguments

These dots are for future extensions and must be empty.
predicate_pushdown A logical, indicates predicate pushdown optimization.
projection_pushdown A logical, indicates projection pushdown optimization.
simplify_expression A logical, indicates simplify expression optimization.
slice_pushdown A logical, indicates slice pushdown optimization.
comm_subplan_elim A logical, indicates trying to cache branching subplans that occur on self-joins or unions.
comm_subexpr_elim A logical, indicates trying to cache common subexpressions.
cluster_with_columns A logical, indicates to combine sequential independent calls to with_columns.
check_order_observe A logical, indicates not to maintain order if the order would not be observed.
fast_projection A logical, indicates to replace simple projections with a faster inlined projection that skips the expression engine.

Value

A QueryOptFlags object.

Examples

library("polars")

opt_flags <- pl$QueryOptFlags()
opt_flags
#> <polars::QueryOptFlags>
#>  @ type_coercion       : logi TRUE
#>  @ type_check          : logi TRUE
#>  @ predicate_pushdown  : logi TRUE
#>  @ projection_pushdown : logi TRUE
#>  @ simplify_expression : logi TRUE
#>  @ slice_pushdown      : logi TRUE
#>  @ comm_subplan_elim   : logi TRUE
#>  @ comm_subexpr_elim   : logi TRUE
#>  @ cluster_with_columns: logi TRUE
#>  @ check_order_observe : logi TRUE
#>  @ fast_projection     : logi TRUE
#>  @ eager               : logi FALSE
#>  @ streaming           : logi FALSE