Skip to main content

Module normalize

Module normalize 

Source
Expand description

Boolean expression normalization (CNF/DNF) Boolean Normalization Module

This module provides functionality for converting SQL boolean expressions to Conjunctive Normal Form (CNF) or Disjunctive Normal Form (DNF).

CNF: (a OR b) AND (c OR d) - useful for predicate pushdown DNF: (a AND b) OR (c AND d) - useful for partition pruning

Ported from sqlglot’s optimizer/normalize.py

Enums§

NormalizeError
Errors that can occur during normalization

Constants§

DEFAULT_MAX_DISTANCE
Maximum default distance for normalization

Functions§

normalization_distance
Calculate the normalization distance for an expression.
normalize
Rewrite SQL AST into Conjunctive Normal Form (CNF) or Disjunctive Normal Form (DNF).
normalized
Check whether a given expression is in a normal form.

Type Aliases§

NormalizeResult
Result type for normalization operations