pgsql-ast-parser
pgsql-ast-parser copied to clipboard
Yet another simple Postgres SQL parser
Parsing: ```sql CREATE TRIGGER t1 BEFORE UPDATE ON foo FOR EACH ROW WHEN (OLD.bar = False) EXECUTE PROCEDURE p1(); ``` Fails with: ```js Error: Syntax error at line 1 col...
Parsing: ```sql INSERT INTO foo (c1) VALUES (1), (2) ON CONFLICT ON CONSTRAINT bar DO NOTHING; ``` Fails with: ```js Error: Syntax error at line 3 col 13: ON CONFLICT...
Parsing: ```sql UPDATE foo SET (c1, c2, c3) = ( SELECT 1, 2, 3 ); ``` Fails with: ```js Error: number of columns does not match number of values at...
Parsing: ```sql ALTER TABLE foo ALTER bar TYPE opt USING bar::opt; ``` Fails with: ```js Error: Syntax error at line 2 col 26: foo ALTER bar TYPE opt USING ^...
Parsing: ```sql COMMENT ON FUNCTION foobar IS 'my comment'; ``` Fails with: ```js Error: Syntax error at line 1 col 21: COMMENT ON FUNCTION foobar ^ Unexpected word token: "foobar"....
Parsing: ```sql ALTER TYPE foo ADD VALUE 'bar'; ``` Fails with: ```js Error: Syntax error at line 1 col 12: ALTER TYPE foo ^ Unexpected word token: "foo". I did...
Parsing: ```sql /* returns: in a comment */ ``` Fails with: ```js Error: invalid syntax at line 2 col 8: returns: in a comment ^ Unexpected input (lexer error). Instead,...
Parsing: ```sql WITH cte(bar) AS ( SELECT * FROM foo ) SELECT * FROM cte; ``` Fails with: ```js Error: Syntax error at line 1 col 9: WITH cte( ^...
Parsing: ```sql ALTER TABLE foo ADD bar BOOLEAN NOT NULL GENERATED ALWAYS AS ( foo_bar = TRUE ) STORED; ``` or ```sql CREATE TABLE foo ( bar text NULL, is_bar...