Add support for PostgreSQL DO statements #290
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Adds support for PostgreSQL
DO
statements to the SQL linter. Previously, the linter would fail with "sql-lint was unable to lint the following query" errors when encounteringDO
anonymous code blocks, which are commonly used in PostgreSQL migration files.Background
The linter was throwing parsing errors on valid PostgreSQL migration files containing DO statements like:
Changes
DO
keyword tosrc/syntax/keywords.ts
DO
statement handler atsrc/lexer/statements/postgres/do.ts
following the same pattern as existing statement handlerssrc/lexer/statementFactory.ts
to recognize and handle do statementssrc/barrel/statements.ts
The implementation follows the existing codebase patterns and conventions used by other PostgreSQL statement handlers like ALTER, CREATE, etc.
Test Plan
npm run build
DO
statements - no more "unable to lint" errorsDO
as valid SQL syntaxImpact
This resolves parsing failures for PostgreSQL migration files that use
DO
statements, allowing the SQL linter to process these files without errors.