Trino SQL Parser Support in GSP¶
Explore the Trino SQL Parser product page
This page documents the SQL syntax support for Trino in the General SQL Parser.
Syntax Coverage Corpus¶
GSP tests Trino syntax against 78 documented constructs grouped into 32 categories, each cross-referenced to the documentation that defines it (63 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 Trino 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 | 68 of 78 (87%) | 151 of 175 (86%) |
| SELECT (queries) | 20 of 21 (95%) | 45 of 46 (98%) |
| DML (INSERT / UPDATE / DELETE / MERGE) | 3 of 3 (100%) | 9 of 9 (100%) |
| Stored procedures | 1 of 1 (100%) | 2 of 2 (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 78 constructs¶
| Construct | Category | Parses | Specified in |
|---|---|---|---|
ALTER SCHEMA |
ALTER | all 1 | Trino docs |
ALTER TABLE |
ALTER | all 8 | Trino docs |
ALTER VIEW |
ALTER | 0 of 2 | Trino docs |
ANALYZE |
ANALYZE | all 4 | Trino docs |
CALL |
CALL | all 3 | Trino docs |
COMMENT |
COMMENT | 0 of 3 | Trino docs |
COMMIT |
COMMIT | all 2 | Trino docs |
CREATE FUNCTION |
CREATE | all 2 | Trino docs |
CREATE MATERIALIZED VIEW |
CREATE | 0 of 3 | Trino docs |
CREATE ROLE |
CREATE | all 2 | Trino docs |
CREATE SCHEMA |
CREATE | all 3 | Trino docs |
CREATE TABLE |
CREATE | all 1 | Trino docs |
CREATE TABLE AS |
CREATE | all 4 | Trino docs |
CREATE VIEW |
CREATE | all 1 | Trino docs |
DEALLOCATE PREPARE |
DEALLOCATE | all 1 | Trino docs |
DELETE |
DELETE | all 3 | Trino docs |
DENY |
DENY | 0 of 3 | Trino docs |
DESCRIBE |
DESCRIBE | all 1 | Trino docs |
DESCRIBE INPUT |
DESCRIBE | all 2 | Trino docs |
DESCRIBE OUTPUT |
DESCRIBE | all 3 | Trino docs |
DROP MATERIALIZED VIEW |
DROP | 0 of 2 | Trino docs |
DROP ROLE |
DROP | all 1 | Trino docs |
DROP SCHEMA |
DROP | all 2 | Trino docs |
DROP TABLE |
DROP | all 2 | Trino docs |
DROP VIEW |
DROP | all 2 | Trino docs |
EXECUTE |
EXECUTE | all 4 | Trino docs |
EXPLAIN |
EXPLAIN | all 4 | Trino docs |
EXPLAIN ANALYZE |
EXPLAIN | all 2 | Trino docs |
ARRAY Functions |
FUNCTIONS | all 1 | Trino docs |
JSON Functions |
FUNCTIONS | all 1 | Trino docs |
Window Functions |
FUNCTIONS | all 1 | Trino docs |
GRANT |
GRANT | all 3 | Trino docs |
GRANT ROLES |
GRANT | all 2 | Trino docs |
INSERT |
INSERT | all 5 | Trino docs |
MERGE |
MERGE | all 1 | Trino docs |
PREPARE |
PREPARE | all 3 | Trino docs |
REFRESH MATERIALIZED VIEW |
REFRESH | 0 of 1 | Trino docs |
RESET SESSION |
RESET | all 2 | Trino docs |
REVOKE |
REVOKE | all 3 | Trino docs |
REVOKE ROLES |
REVOKE | all 2 | Trino docs |
ROLLBACK |
ROLLBACK | all 2 | Trino docs |
MATCH_RECOGNIZE |
SELECT | 0 of 1 | Trino docs |
SELECT |
SELECT | all 1 | Trino docs |
SELECT /JOINS/USING |
SELECT | all 4 | Trino docs |
SELECT /Scalar Subquery |
SELECT | all 1 | Trino docs |
SELECT /WHERE EXISTS |
SELECT | all 1 | Trino docs |
SELECT /WHERE IN |
SELECT | all 1 | Trino docs |
SELECT CROSS JOIN |
SELECT | all 2 | Trino docs |
SELECT GROUP BY Clause |
SELECT | all 3 | Trino docs |
SELECT HAVING Clause |
SELECT | all 2 | Trino docs |
SELECT JOINS |
SELECT | all 3 | Trino docs |
SELECT LIMIT Clause |
SELECT | all 2 | Trino docs |
SELECT OFFSET Clause |
SELECT | all 1 | Trino docs |
SELECT TABLESAMPLE |
SELECT | all 3 | Trino docs |
SELECT UNION \| INTERSECT \| EXCEPT Clause |
SELECT | all 5 | Trino docs |
SELECT UNNEST |
SELECT | all 4 | Trino docs |
SELECT WITH Clause |
SELECT | all 4 | Trino docs |
SELECT/JOINS/Qualifying Column Names |
SELECT | all 4 | Trino docs |
SET ROLE |
SET ROLE | all 1 | Trino docs |
SET SESSION |
SET SESSION | all 2 | Trino docs |
SET TIME ZONE |
SET TIME ZONE | 0 of 5 | Trino docs |
SHOW CATALOGS |
SHOW | all 1 | Trino docs |
SHOW COLUMNS |
SHOW | all 1 | Trino docs |
SHOW CREATE TABLE |
SHOW | all 1 | Trino docs |
SHOW CREATE VIEW |
SHOW | all 1 | Trino docs |
SHOW FUNCTIONS |
SHOW | all 1 | Trino docs |
SHOW GRANTS |
SHOW | all 2 | Trino docs |
SHOW ROLE GRANTS |
SHOW | all 1 | Trino docs |
SHOW ROLES |
SHOW | all 2 | Trino docs |
SHOW SCHEMAS |
SHOW | all 1 | Trino docs |
SHOW SESSION |
SHOW | all 1 | Trino docs |
SHOW STATS |
SHOW | all 1 | Trino docs |
SHOW TABLES |
SHOW | all 2 | Trino docs |
START TRANSACTION |
START TRANSACTION | all 5 | Trino docs |
TRUNCATE TABLE |
TRUNCATE | 0 of 1 | Trino docs |
UPDATE |
UPDATE | 0 of 3 | Trino docs |
USE |
USE | all 2 | Trino docs |
VALUES |
VALUES | all 1 | Trino docs |
Key Features Supported¶
- Standard SQL operations (SELECT, INSERT, UPDATE, DELETE)
- Multi-catalog architecture (catalog.schema.table)
- Advanced array and JSON functions
- Complex data types (MAP, ROW, ARRAY)
- Window functions and analytical queries
- Cross-connector federated queries