Presto SQL Parser Support in GSP¶
Explore the Presto SQL Parser product page
This page documents the SQL syntax support for Presto in the General SQL Parser.
Syntax Coverage Corpus¶
GSP tests Presto syntax against 66 documented constructs grouped into 24 categories, each cross-referenced to the documentation that defines it (52 distinct source pages).
Parse coverage¶
Measured against GSP Java 4.2.8 on 2026-08-31 (UTC) (artifact sha256 1117856ef134). Each construct below carries the complete set of examples from the Presto documentation; a construct counts as fully covered only when every one of its examples parses. Percentages are pass rates over this documented-example corpus — not a percentage of the entire SQL dialect.
| Constructs fully parsed | Individual statements parsed | |
|---|---|---|
| All constructs | 66 of 66 (100%) | 157 of 157 (100%) |
| SELECT (queries) | 16 of 16 (100%) | 41 of 41 (100%) |
| DML (INSERT / UPDATE / DELETE / MERGE) | 2 of 2 (100%) | 8 of 8 (100%) |
| Stored procedures | 1 of 1 (100%) | 3 of 3 (100%) |
Statements are split using the parser's own statement splitter, so multi-statement examples and procedure bodies are counted correctly. The SELECT, DML and stored-procedure rows classify each statement by its parsed statement type: a construct is counted in a row when its examples contain at least one statement of that class, and is fully parsed when all of them parse. Stored procedures covers CREATE PROCEDURE / FUNCTION / PACKAGE / TRIGGER definitions and anonymous blocks.
Machine-readable: dialect data (JSON) · all-dialect matrix · coverage matrix overview
All 66 constructs¶
| Construct | Category | Parses | Specified in |
|---|---|---|---|
ALTER FUNCTION |
ALTER | all 1 | Presto docs |
ALTER SCHEMA |
ALTER | all 1 | Presto docs |
ALTER TABLE |
ALTER | all 8 | Presto docs |
ANALYZE |
ANALYZE | all 4 | Presto docs |
CALL |
CALL | all 3 | Presto docs |
COMMIT |
COMMIT | all 2 | Presto docs |
CREATE FUNCTION |
CREATE | all 3 | Presto docs |
CREATE ROLE |
CREATE | all 2 | Presto docs |
CREATE SCHEMA |
CREATE | all 3 | Presto docs |
CREATE TABLE |
CREATE | all 3 | Presto docs |
CREATE TABLE AS |
CREATE | all 4 | Presto docs |
CREATE VIEW |
CREATE | all 3 | Presto docs |
DEALLOCATE PREPARE |
DEALLOCATE | all 1 | Presto docs |
DELETE |
DELETE | all 3 | Presto docs |
DESCRIBE |
DESCRIBE | all 1 | Presto docs |
DESCRIBE INPUT |
DESCRIBE | all 2 | Presto docs |
DESCRIBE OUTPUT |
DESCRIBE | all 3 | Presto docs |
DROP FUNCTION |
DROP | all 3 | Presto docs |
DROP ROLE |
DROP | all 1 | Presto docs |
DROP SCHEMA |
DROP | all 2 | Presto docs |
DROP TABLE |
DROP | all 2 | Presto docs |
DROP VIEW |
DROP | all 2 | Presto docs |
EXECUTE |
EXECUTE | all 4 | Presto docs |
EXPLAIN |
EXPLAIN | all 4 | Presto docs |
EXPLAIN ANALYZE |
EXPLAIN | all 2 | Presto docs |
GRANT |
GRANT | all 3 | Presto docs |
GRANT ROLES |
GRANT | all 2 | Presto docs |
INSERT |
INSERT | all 5 | Presto docs |
PREPARE |
PREPARE | all 3 | Presto docs |
RESET SESSION |
RESET | all 2 | Presto docs |
REVOKE |
REVOKE | all 3 | Presto docs |
REVOKE ROLES |
REVOKE | all 2 | Presto docs |
ROLLBACK |
ROLLBACK | all 2 | Presto docs |
SELECT /JOINS/USING |
SELECT | all 4 | Presto docs |
SELECT /Scalar Subquery |
SELECT | all 1 | Presto docs |
SELECT /WHERE EXISTS |
SELECT | all 1 | Presto docs |
SELECT /WHERE IN |
SELECT | all 1 | Presto docs |
SELECT CROSS JOIN |
SELECT | all 2 | Presto docs |
SELECT GROUP BY Clause |
SELECT | all 3 | Presto docs |
SELECT HAVING Clause |
SELECT | all 2 | Presto docs |
SELECT JOINS |
SELECT | all 3 | Presto docs |
SELECT LIMIT Clause |
SELECT | all 2 | Presto docs |
SELECT OFFSET Clause |
SELECT | all 1 | Presto docs |
SELECT TABLESAMPLE |
SELECT | all 3 | Presto docs |
SELECT UNION \| INTERSECT \| EXCEPT Clause |
SELECT | all 5 | Presto docs |
SELECT UNNEST |
SELECT | all 4 | Presto docs |
SELECT WITH Clause |
SELECT | all 4 | Presto docs |
SELECT/JOINS/Qualifying Column Names |
SELECT | all 4 | Presto docs |
SET ROLE |
SET ROLE | all 1 | Presto docs |
SET SESSION |
SET SESSION | all 2 | Presto docs |
SHOW CATALOGS |
SHOW | all 1 | Presto docs |
SHOW COLUMNS |
SHOW | all 1 | Presto docs |
SHOW CREATE FUNCTION |
SHOW | all 2 | Presto docs |
SHOW CREATE TABLE |
SHOW | all 1 | Presto docs |
SHOW CREATE VIEW |
SHOW | all 1 | Presto docs |
SHOW FUNCTIONS |
SHOW | all 1 | Presto docs |
SHOW GRANTS |
SHOW | all 2 | Presto docs |
SHOW ROLE GRANTS |
SHOW | all 1 | Presto docs |
SHOW ROLES |
SHOW | all 2 | Presto docs |
SHOW SCHEMAS |
SHOW | all 1 | Presto docs |
SHOW SESSION |
SHOW | all 1 | Presto docs |
SHOW STATS |
SHOW | all 1 | Presto docs |
SHOW TABLES |
SHOW | all 2 | Presto docs |
START TRANSACTION |
START TRANSACTION | all 5 | Presto docs |
USE |
USE | all 2 | Presto docs |
VALUES |
VALUES | all 1 | Presto docs |
Key Features Supported¶
- Standard SQL operations (SELECT, INSERT, UPDATE, DELETE)
- Presto-specific functions and data types
- Multi-connector federated queries
- Window functions and analytical queries
- Complex data types (ARRAY, MAP, ROW)
- Cross-catalog join operations