Skip to main content

SQL Transformation

AST-based SQL rewriting, normalization, and structural query manipulation.


Overview

SQL Commons includes a parser-driven transformation engine that converts SQL strings into an Abstract Syntax Tree (AST).

This allows safe, semantic-aware query rewriting instead of fragile string replacements.


Parsing SQL

SqlTree tree = Transformations.parseToTree(sql);

Once parsed, the query can be inspected and modified programmatically.


Capabilities

The transformation engine supports:

  • Literal removal
  • Predicate normalization
  • Column remapping
  • Function rewriting
  • Canonical formatting
  • Structural equality checks

Example

Input:

SELECT * FROM users WHERE id = 100 OR id = 200

Transformed:

SELECT * FROM users WHERE id IN (?, ?)

Usage in DazzleDuck

This engine is used for:

  • Query fingerprinting
  • Authorization rewriting
  • Partition pruning
  • Policy enforcement
  • Planner optimization

Production Considerations

  • Always transform before hashing
  • Avoid transforming raw user SQL directly
  • Use canonical form for comparisons