Skip to main content

Module context

Module context 

Source
Expand description

Query rewriting framework

This module provides a general-purpose framework for transforming function calls into equivalent predicate expressions at compile time. The framework enables:

  • Full predicate pushdown to storage
  • Index utilization
  • Extensible plugin architecture for adding new rewrite rules

§Architecture

The framework consists of:

  • RewriteRule trait: Interface for implementing rewrite transformations
  • RewriteRegistry: Global registry of all rewrite rules
  • ExpressionWalker: Traverses expression trees and applies rules
  • RewriteContext: Contextual information during rewriting

§Example Usage

use uni_query::rewrite::rewrite_query;

// Rewrite a complete query
let rewritten = rewrite_query(query)?;

§Adding New Rules

See rules/README.md for a guide on implementing custom rewrite rules.

Structs§

RewriteConfig
Configuration options for query rewriting
RewriteContext
Contextual information available during query rewriting
RewriteStats
Statistics collected during rewriting
RuleStats
Per-rule statistics