Commit c46bd90
Replace src/codegen/parser.rs's uppercase-and-split scanner with the
sqlparser crate (0.50). parse_sql_schema now walks
Statement::CreateTable, trying PostgreSQL → SQLite → generic dialects.
Public IR (ParsedSchema/TableDef/ColumnDef) and the parse_sql_schema /
parse_schema_file signatures are unchanged, so overlay/query consumers
are unaffected. split_respecting_parens, parse_create_table and
parse_column_def are deleted.
Fixes the documented misclassifications: schema-qualified names
(bare table identifier extracted), quoted identifiers with whitespace,
column- and table-level CHECK clauses (ignored, not split into bogus
columns), GENERATED columns, and semicolons inside comments. Invalid
SQL is now a hard error instead of a silent empty schema.
6 original parser tests retained + 6 new acceptance tests
(schema-qualified, quoted-whitespace, CHECK, GENERATED,
semicolon-in-comment, invalid-SQL). Suite: 113 lib + 9 integration
green.
Closes #38.
Co-authored-by: hyperpolymath <hyperpolymath@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 6c7faf1 commit c46bd90
0 file changed
0 commit comments