Auto-retry on ALL SQL errors, not just schema errors

Previous: only retried on "Schema error" or "No field named"
Now: retries on any error (type mismatches, execution errors, etc.)
Model gets full error message + schema to write corrected SQL.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
root 2026-03-27 20:38:27 -05:00
parent ddcbb9590c
commit 34c03894ae

View File

@ -292,7 +292,7 @@ fn AskPanel(datasets: Vec<Dataset>) -> Element {
// Step 3b: If schema error, retry with the error as feedback
if let Err(ref err) = query_result {
if err.contains("Schema error") || err.contains("No field named") {
if err.contains("error") {
step.set("fixing SQL...".into());
let retry_prompt = format!(
"The SQL you wrote had an error:\n{err}\n\n\
@ -368,7 +368,7 @@ fn AskPanel(datasets: Vec<Dataset>) -> Element {
step.set("running query...".into());
let query_result = run_sql(&sql).await;
if let Err(ref err) = query_result {
if err.contains("Schema error") || err.contains("No field named") {
if err.contains("error") {
step.set("fixing SQL...".into());
let retry_prompt = format!(
"The SQL you wrote had an error:\n{err}\n\n{schema_ctx}\n\nOriginal question: {q}\n\nWrite a CORRECTED SQL query using ONLY the columns listed. Output ONLY SQL."