RingSQL: Generating Synthetic Data with Schema-Independent Templates for Text-to-SQL Reasoning Models
Marko Sterbentz, Kevin Cushing, Cameron Barrie, Kristian J. Hammond
TL;DR
RingSQL tackles data scarcity in text-to-SQL by marrying schema-independent templates with LLM-based paraphrasing. It introduces SQR templates and Rings to decouple query templates from specific database schemas, enabling scalable, correct query generation across diverse schemas, then uses LLMs to paraphrase questions for linguistic diversity. The authors create RingSQL-Gen (5,000 QA pairs across 160 databases) and show that models trained on RingSQL-Gen achieve a $+2.32\%$ average accuracy gain over strong synthetic baselines across six benchmarks, with notable improvements on hard query subsets. Ablation studies reveal that language grounding via rephrasing substantially boosts generalization, while template-grounded questions provide essential semantic alignment, demonstrating RingSQL as a robust, reusable data-generation framework for text-to-SQL learning with practical scalability.
Abstract
Recent advances in text-to-SQL systems have been driven by larger models and improved datasets, yet progress is still limited by the scarcity of high-quality training data. Manual data creation is expensive, and existing synthetic methods trade off reliability and scalability. Template-based approaches ensure correct SQL but require schema-specific templates, while LLM-based generation scales easily but lacks quality and correctness guarantees. We introduce RingSQL, a hybrid data generation framework that combines schema-independent query templates with LLM-based paraphrasing of natural language questions. This approach preserves SQL correctness across diverse schemas while providing broad linguistic variety. In our experiments, we find that models trained using data produced by RingSQL achieve an average gain in accuracy of +2.3% across six text-to-SQL benchmarks when compared to models trained on other synthetic data. We make our code available at https://github.com/nu-c3lab/RingSQL.
