How cods-gcs/resequel works
ReSequel is an LLM-assisted SQL rewrite optimizer layered over existing DBMSs. Its documented workflow uses catalog metadata and query templatization to guide rewrite generation, verifies candidates on sampled data, then ranks variants for correctness and runtime. The repository also contains baseline workload execution and verification tools used in evaluation. Core Python implementation details are not excerpted, so those subsystem paths and workflow links follow the README; baseline links use the shown excerpts or SOURCE INDEX references.
Main entry points: RunWorkload.py Workload runner · Verify_main.py Candidate verifier · Verify_LR.py LR verifier · Database.py DBMS adapters
Components 23
Rewrite workflow
- ReSequel entry
- Query templatization
- Rewrite variants
- Correctness verification
- Variant ranking
- Selected rewrite
Database and sampling
- Catalog extraction
- Downsampling engine
- Host DBMS
Prompt and LLM
- Prompt builder
- LLM integration
Baseline evaluation
- Workload config
Experiments/baselines/Workload/Config.py - Workload runner
Experiments/baselines/Workload/RunWorkload.py - DBMS adapters
Experiments/baselines/Workload/Database.py - File handling
Experiments/baselines/Workload/FileHandler.py - Workload results
Experiments/baselines/Workload/LogResults.py - Candidate verifier
Experiments/baselines/Workload/Verify_main.py - LR verifier
Experiments/baselines/Workload/Verify_LR.py - SQLSolver equivalence
Experiments/baselines/SQLSolver/src/main/java/org/resequel/Main.java - Solver file utilities
Experiments/baselines/SQLSolver/src/main/java/org/resequel/Util.java - Workload CLI
Experiments/baselines/Workload/main.py - Verification CLI
Experiments/baselines/Workload/main_verify.py
Other components
- Workload user
Connections 26
- Workload user → ReSequel entry: submits workload
README.md - ReSequel entry → Catalog extraction: uses metadata
README.md - ReSequel entry → Query templatization: templatizes queries
README.md - ReSequel entry → Prompt builder: builds prompts
README.md - Prompt builder → LLM integration: guides rewriting
README.md - LLM integration → Rewrite variants: generates variants
README.md - ReSequel entry → Downsampling engine: uses sampled data
README.md - Correctness verification → Host DBMS: executes candidates
README.md - Correctness verification → Downsampling engine: checks sampled data
README.md - ReSequel entry → Correctness verification: verifies variants
README.md - ReSequel entry → Variant ranking: ranks variants
README.md - Variant ranking → Selected rewrite: selects rewrite
README.md - Workload CLI → Workload config: loads settings
Experiments/baselines/Workload/main.py - Workload CLI → Workload runner: starts runner
Experiments/baselines/Workload/main.py - Workload runner → DBMS adapters: executes queries
Experiments/baselines/Workload/RunWorkload.py - Workload runner → File handling: reads query files
Experiments/baselines/Workload/RunWorkload.py - Workload runner → Workload results: records timings
Experiments/baselines/Workload/RunWorkload.py - Verification CLI → Workload config: loads settings
Experiments/baselines/Workload/main_verify.py - Verification CLI → Candidate verifier: starts verification
Experiments/baselines/Workload/main_verify.py - Candidate verifier → DBMS adapters: executes queries
Experiments/baselines/Workload/Verify_main.py - Candidate verifier → File handling: reads query files
Experiments/baselines/Workload/Verify_main.py - Candidate verifier → Workload results: logs results
Experiments/baselines/Workload/Verify_main.py - LR verifier → DBMS adapters: executes queries
Experiments/baselines/Workload/Verify_LR.py - LR verifier → File handling: reads query files
Experiments/baselines/Workload/Verify_LR.py - LR verifier → Workload results: logs results
Experiments/baselines/Workload/Verify_LR.py - SQLSolver equivalence → Solver file utilities: reads and logs
Experiments/baselines/SQLSolver/src/main/java/org/resequel/Main.java