This example shows how to use ParseSQLAll to correlate parser output back to each input statement.
ParseSQLAll returns one entry per input statement:
Statements[i].Indexis the 1-based statement position.Statements[i].RawSQLis that statement's SQL text.Statements[i].Queryis the parsed IR (nilmeans that statement failed IR conversion).Statements[i].Warningsare statement-scoped warnings (currentlySYNTAX_ERROR).HasFailuresistruewhen any statement has a nilQueryor anyWarnings.
This gives deterministic correlation for mixed-success batches.
SELECT 1;
SELECT FROM;
SELECT 2;Typical outcome:
- Statement 1:
Query != nil,Warnings=[] - Statement 2:
Query != nil,Warnings=[SYNTAX_ERROR] - Statement 3:
Query != nil,Warnings=[]
go run ./examples/multi_statementThe sample program prints per-statement status and warning codes so you can see exactly what passed or failed.