AST-based query digest: parse → walk AST → emit with literals replaced by ? → hash.
- Normalized SQL string output (literals → ?, whitespace normalized)
- 64-bit hash for fast query rules matching
- Works for all statement types (Tier 1 and Tier 2)
- Leverages existing emitter with a "normalize" mode
Depends on: emitter (done)
AST-based query digest: parse → walk AST → emit with literals replaced by ? → hash.
Depends on: emitter (done)