omni

module
v0.0.0-...-63281ea Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2026 License: MIT

README

Omni

SQL toolchain for multiple database engines. Each engine provides a parser, AST, and additional components such as catalog simulation and semantic analysis -- all in pure Go with zero dependencies.

Features

  • Zero dependencies -- pure Go, no CGo, no generated code at runtime
  • Full AST -- every parsed statement produces a complete abstract syntax tree
  • Position tracking -- every AST node carries byte-offset location info
  • Beyond parsing -- catalog simulation, DDL semantic analysis, and more per engine

Engines

Every engine lives in its own top-level directory and follows the same shape: ast/ holds the node types, parser/ the hand-written recursive descent parser, and further packages add capabilities on top. The table lists the packages each engine ships today.

Engine Directory Packages beyond ast + parser
PostgreSQL pg/ catalog, completion, plpgsql, pgregress, splittest
Amazon Redshift redshift/ catalog, completion, analysis, plpgsql, compat, pgregress
MySQL mysql/ catalog, completion, deparse, validate, scope, quality
MariaDB mariadb/ catalog, completion, deparse, validate, scope, quality
TiDB tidb/ catalog, completion, deparse, scope, quality
SQL Server (T-SQL) mssql/ completion
Oracle oracle/ quality
Snowflake snowflake/ analysis, deparse, diagnostics, advisor
Trino trino/ catalog, completion, analysis, deparse
GoogleSQL (BigQuery, Spanner) googlesql/ analysis, diagnostics
Apache Doris doris/ analysis
StarRocks starrocks/ analysis
PartiQL (DynamoDB) partiql/ catalog, completion, analysis
Apache Cassandra (CQL) cassandra/ --
MongoDB (mongosh) mongo/ catalog, completion, analysis
Azure Cosmos DB cosmosdb/ analysis
Elasticsearch (Dev Console) elasticsearch/ analysis

Package roles:

  • catalog -- in-memory schema simulation: apply DDL, diff two schemas, generate migrations
  • completion -- parser-native SQL autocompletion
  • analysis / diagnostics -- statement classification, query spans, changed-resource extraction, error diagnostics
  • deparse -- AST back to SQL text
  • validate / scope -- post-parse semantic checks and name resolution
  • quality -- parser quality corpora and verifiers
  • compat / pgregress / splittest -- compatibility and regression harnesses against the upstream engine

Quick Start

go get github.com/bytebase/omni
PostgreSQL
package main

import (
    "fmt"
    "github.com/bytebase/omni/pg"
    "github.com/bytebase/omni/pg/ast"
)

func main() {
    stmts, err := pg.Parse("SELECT 1; CREATE TABLE t (id int);")
    if err != nil {
        panic(err)
    }
    for _, s := range stmts {
        fmt.Printf("%-20T  %s\n", s.AST, s.Text)
    }
    // *ast.SelectStmt       SELECT 1;
    // *ast.CreateStmt        CREATE TABLE t (id int);
}

Root-package entry points differ per engine:

Engine Root package exports
pg, redshift, mssql, oracle, mongo, cassandra, cosmosdb Parse (plus Split, CollectCompletion, and engine-specific helpers where present)
partiql Split only; parsing is in partiql/parser
elasticsearch ParseElasticsearchREST, SplitMultiSQL, ClassifyRequest, Diagnose, GetQuerySpan, GetStatementRanges
all others no root package; import <engine>/parser

Repository Layout

omni/
├── <engine>/               One directory per engine (see table above)
│   ├── ast/                AST node types
│   ├── parser/             Recursive descent parser + BNF reference material
│   ├── parsertest/         Parser test cases (where present)
│   └── ...                 catalog, completion, analysis, ... per engine
├── metadata/               Database schema snapshot types, generated from proto/
├── proto/                  Protobuf sources (`make proto` regenerates)
├── harness/                Standalone differential harnesses against real engines
│                           (separate Go modules / .NET project, not built by ./...)
├── scripts/                Build, test, and agent-pipeline tooling
│   └── prompts/            Prompt templates used by the pipeline scripts
└── docs/
    ├── engine-capability-guide.md   How an engine is built up, layer by layer
    ├── PARSER-DEFENSE-MATRIX.md     Defensive test coverage per engine
    ├── scenarios/<engine>/          Scenario checklists that drove each capability
    ├── plans/                       Dated implementation plans
    ├── specs/                       Dated design specs
    └── migration/<engine>/          Bytebase migration analyses

Some engines also keep working documents next to the code they describe (for example pg/parser/PAREN_AUDIT.json is read by a lint test, and mysql/catalog/SCENARIOS-*.md are the source for the catalog scenario tests).

Development

# Every engine plus the conformance harness (several engines start database containers)
make test

# Spanner differential harness; needs a running emulator (SPANNER_EMULATOR_HOST).
# CI runs this too, so a green `make test` alone is not the full CI result.
make test-spanner

# One engine
make test-pg
make test-mysql
make test-redshift

# Build everything
make build

License

MIT -- see LICENSE.

Directories

Path Synopsis
Package cassandra provides a parser for Apache Cassandra CQL (Cassandra Query Language).
Package cassandra provides a parser for Apache Cassandra CQL (Cassandra Query Language).
ast
Package ast defines parse-tree node types for the omni Cassandra CQL parser.
Package ast defines parse-tree node types for the omni Cassandra CQL parser.
Package cosmosdb provides a parser for Azure Cosmos DB NoSQL SQL API queries.
Package cosmosdb provides a parser for Azure Cosmos DB NoSQL SQL API queries.
analysis
Package analysis extracts field-level information from parsed CosmosDB queries.
Package analysis extracts field-level information from parsed CosmosDB queries.
ast
Package ast defines parse tree node types for Azure Cosmos DB NoSQL SQL API.
Package ast defines parse tree node types for Azure Cosmos DB NoSQL SQL API.
parser
Package parser implements a hand-written parser for Azure Cosmos DB NoSQL SQL API.
Package parser implements a hand-written parser for Azure Cosmos DB NoSQL SQL API.
doris
analysis
Package analysis provides query analysis for Doris SQL — statement classification, field extraction, and table access tracking.
Package analysis provides query analysis for Doris SQL — statement classification, field extraction, and table access tracking.
ast
Package ast defines Doris parse-tree node types.
Package ast defines Doris parse-tree node types.
parser
Package parser implements a hand-written Doris SQL lexer and recursive-descent parser.
Package parser implements a hand-written Doris SQL lexer and recursive-descent parser.
Package elasticsearch provides a parser for Kibana Dev Console-style Elasticsearch REST request blocks.
Package elasticsearch provides a parser for Kibana Dev Console-style Elasticsearch REST request blocks.
analysis
Package analysis classifies Elasticsearch REST API requests for masking and extracts field references from request bodies.
Package analysis classifies Elasticsearch REST API requests for masking and extracts field references from request bodies.
parser
Package parser implements a hand-written recursive-descent parser for Kibana Dev Console-style Elasticsearch REST request blocks.
Package parser implements a hand-written recursive-descent parser for Kibana Dev Console-style Elasticsearch REST request blocks.
googlesql
analysis
Package analysis provides Bytebase-facing query analysis for GoogleSQL — the SQL dialect shared by Google BigQuery and Google Cloud Spanner.
Package analysis provides Bytebase-facing query analysis for GoogleSQL — the SQL dialect shared by Google BigQuery and Google Cloud Spanner.
ast
Package ast defines GoogleSQL parse-tree node types.
Package ast defines GoogleSQL parse-tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
diagnostics
Package diagnostics provides a thin reporting layer over the GoogleSQL SQL parser, shaping raw parse errors into structured diagnostics suitable for editor integration (LSP-style), CI linting, and problem-panel display.
Package diagnostics provides a thin reporting layer over the GoogleSQL SQL parser, shaping raw parse errors into structured diagnostics suitable for editor integration (LSP-style), CI linting, and problem-panel display.
internal/spannertest
Package spannertest provides the Spanner emulator the googlesql differential tests run against.
Package spannertest provides the Spanner emulator the googlesql differential tests run against.
parser
Package parser implements a hand-written GoogleSQL lexer and (in future DAG nodes) a recursive-descent parser.
Package parser implements a hand-written GoogleSQL lexer and (in future DAG nodes) a recursive-descent parser.
parsertest
Package parsertest provides corpus-extraction helpers shared by the googlesql parser's corpus-closure gates (legacy_corpus_test.go and official_corpus_test.go).
Package parsertest provides corpus-extraction helpers shared by the googlesql parser's corpus-closure gates (legacy_corpus_test.go and official_corpus_test.go).
mariadb
ast
Package ast defines MySQL parse tree node types.
Package ast defines MySQL parse tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
catalog
Package catalog — define.go
Package catalog — define.go
completion
Package completion provides parser-native C3-style SQL completion for MySQL.
Package completion provides parser-native C3-style SQL completion for MySQL.
deparse
Package deparse converts MySQL AST nodes back to SQL text, matching MySQL 8.0's SHOW CREATE VIEW formatting.
Package deparse converts MySQL AST nodes back to SQL text, matching MySQL 8.0's SHOW CREATE VIEW formatting.
parser
Package parser implements a recursive descent SQL parser for MySQL.
Package parser implements a recursive descent SQL parser for MySQL.
review
Package review implements Bytebase SQL Review V2 for MariaDB: the engine side of the contract in github.com/bytebase/omni/review.
Package review implements Bytebase SQL Review V2 for MariaDB: the engine side of the contract in github.com/bytebase/omni/review.
scope
Package scope provides a shared, dependency-free scope data structure for tracking visible table references and resolving column names.
Package scope provides a shared, dependency-free scope data structure for tracking visible table references and resolving column names.
validate
Package validate performs static semantic checks on a MySQL AST produced by mysql/parser.
Package validate performs static semantic checks on a MySQL AST produced by mysql/parser.
Package metadata defines the database schema snapshot that Bytebase syncs from live databases and persists.
Package metadata defines the database schema snapshot that Bytebase syncs from live databases and persists.
Package mongo provides a parser for MongoDB shell (mongosh) commands.
Package mongo provides a parser for MongoDB shell (mongosh) commands.
analysis
Package analysis extracts structural information from parsed MongoDB statements.
Package analysis extracts structural information from parsed MongoDB statements.
ast
Package ast defines MongoDB (mongosh) parse tree node types.
Package ast defines MongoDB (mongosh) parse tree node types.
catalog
Package catalog provides metadata context for MongoDB auto-completion.
Package catalog provides metadata context for MongoDB auto-completion.
completion
Package completion provides auto-complete for MongoDB shell (mongosh) commands.
Package completion provides auto-complete for MongoDB shell (mongosh) commands.
ast
Package ast defines T-SQL parse tree node types.
Package ast defines T-SQL parse tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
completion
Package completion provides parser-native C3-style SQL completion for MSSQL.
Package completion provides parser-native C3-style SQL completion for MSSQL.
parser
Package parser - alter_objects.go implements T-SQL ALTER DATABASE and ALTER INDEX parsing.
Package parser - alter_objects.go implements T-SQL ALTER DATABASE and ALTER INDEX parsing.
review
Package review implements Bytebase SQL Review V2 for SQL Server: the engine side of the contract in github.com/bytebase/omni/review.
Package review implements Bytebase SQL Review V2 for SQL Server: the engine side of the contract in github.com/bytebase/omni/review.
mysql
ast
Package ast defines MySQL parse tree node types.
Package ast defines MySQL parse tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
catalog
Package catalog — define.go
Package catalog — define.go
completion
Package completion provides parser-native C3-style SQL completion for MySQL.
Package completion provides parser-native C3-style SQL completion for MySQL.
deparse
Package deparse converts MySQL AST nodes back to SQL text, matching MySQL 8.0's SHOW CREATE VIEW formatting.
Package deparse converts MySQL AST nodes back to SQL text, matching MySQL 8.0's SHOW CREATE VIEW formatting.
parser
Package parser implements a recursive descent SQL parser for MySQL.
Package parser implements a recursive descent SQL parser for MySQL.
review
Package review implements Bytebase SQL Review V2 for MySQL: the engine side of the contract in github.com/bytebase/omni/review.
Package review implements Bytebase SQL Review V2 for MySQL: the engine side of the contract in github.com/bytebase/omni/review.
scope
Package scope provides a shared, dependency-free scope data structure for tracking visible table references and resolving column names.
Package scope provides a shared, dependency-free scope data structure for tracking visible table references and resolving column names.
validate
Package validate performs static semantic checks on a MySQL AST produced by mysql/parser.
Package validate performs static semantic checks on a MySQL AST produced by mysql/parser.
oceanbase
ast
Package ast defines MySQL parse tree node types.
Package ast defines MySQL parse tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
catalog
Package catalog — define.go
Package catalog — define.go
completion
Package completion provides parser-native C3-style SQL completion for MySQL.
Package completion provides parser-native C3-style SQL completion for MySQL.
deparse
Package deparse converts MySQL AST nodes back to SQL text, matching MySQL 8.0's SHOW CREATE VIEW formatting.
Package deparse converts MySQL AST nodes back to SQL text, matching MySQL 8.0's SHOW CREATE VIEW formatting.
parser
Package parser implements a recursive descent SQL parser for MySQL.
Package parser implements a recursive descent SQL parser for MySQL.
review
Package review implements Bytebase SQL Review V2 for MySQL: the engine side of the contract in github.com/bytebase/omni/review.
Package review implements Bytebase SQL Review V2 for MySQL: the engine side of the contract in github.com/bytebase/omni/review.
scope
Package scope provides a shared, dependency-free scope data structure for tracking visible table references and resolving column names.
Package scope provides a shared, dependency-free scope data structure for tracking visible table references and resolving column names.
validate
Package validate performs static semantic checks on an OceanBase AST produced by oceanbase/parser.
Package validate performs static semantic checks on an OceanBase AST produced by oceanbase/parser.
ast
Package ast defines Oracle PL/SQL parse tree node types.
Package ast defines Oracle PL/SQL parse tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
parser
Package parser implements an Oracle PL/SQL lexer and recursive descent parser.
Package parser implements an Oracle PL/SQL lexer and recursive descent parser.
review
Package review implements Bytebase SQL Review V2 for Oracle: the engine side of the contract in github.com/bytebase/omni/review.
Package review implements Bytebase SQL Review V2 for Oracle: the engine side of the contract in github.com/bytebase/omni/review.
Package partiql provides a hand-written parser for the PartiQL query language (AWS DynamoDB, Azure Cosmos DB).
Package partiql provides a hand-written parser for the PartiQL query language (AWS DynamoDB, Azure Cosmos DB).
analysis
Package analysis provides query analysis for PartiQL statements.
Package analysis provides query analysis for PartiQL statements.
ast
Package ast defines parse-tree node types for the omni PartiQL parser.
Package ast defines parse-tree node types for the omni PartiQL parser.
catalog
Package catalog provides metadata context for PartiQL auto-completion and semantic analysis.
Package catalog provides metadata context for PartiQL auto-completion and semantic analysis.
completion
Package completion provides auto-complete candidates for PartiQL queries.
Package completion provides auto-complete candidates for PartiQL queries.
parser
Package parser — aggregate function-call parsing (DAG node 14, parser-aggregates).
Package parser — aggregate function-call parsing (DAG node 14, parser-aggregates).
pg
ast
Package nodes defines PostgreSQL parse tree node types.
Package nodes defines PostgreSQL parse tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go.
Command genwalker generates walk_generated.go from parsenodes.go.
completion
Package completion provides parser-native C3-style SQL completion for PostgreSQL.
Package completion provides parser-native C3-style SQL completion for PostgreSQL.
internal/copyscan
Package copyscan locates the inline data block that follows a COPY ...
Package copyscan locates the inline data block that follows a COPY ...
internal/metacmd
Package metacmd recognizes psql metacommand lines in SQL scripts.
Package metacmd recognizes psql metacommand lines in SQL scripts.
parser
Package parser implements a PostgreSQL-compatible SQL lexer and parser.
Package parser implements a PostgreSQL-compatible SQL lexer and parser.
pgregress
Package pgregress provides tools for running PostgreSQL regression test SQL files against the pgparser parser to verify parse compatibility.
Package pgregress provides tools for running PostgreSQL regression test SQL files against the pgparser parser to verify parse compatibility.
plpgsql/ast
Package ast defines PL/pgSQL AST node types.
Package ast defines PL/pgSQL AST node types.
plpgsql/parser
Package parser implements a recursive descent PL/pgSQL parser.
Package parser implements a recursive descent PL/pgSQL parser.
review
Package review implements Bytebase SQL Review V2 for PostgreSQL: the engine side of the contract in github.com/bytebase/omni/review.
Package review implements Bytebase SQL Review V2 for PostgreSQL: the engine side of the contract in github.com/bytebase/omni/review.
splittest
Package splittest is the PG splitter test framework: enumeration fences, a constructive generator whose cases carry their own expected boundaries, and invariant checks that need no ground truth at all.
Package splittest is the PG splitter test framework: enumeration fences, a constructive generator whose cases carry their own expected boundaries, and invariant checks that need no ground truth at all.
ast
Package nodes defines PostgreSQL parse tree node types.
Package nodes defines PostgreSQL parse tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go.
Command genwalker generates walk_generated.go from parsenodes.go.
completion
Package completion provides parser-native C3-style SQL completion for PostgreSQL.
Package completion provides parser-native C3-style SQL completion for PostgreSQL.
parser
Package parser implements a PostgreSQL-compatible SQL lexer and parser.
Package parser implements a PostgreSQL-compatible SQL lexer and parser.
pgregress
Package pgregress provides tools for running PostgreSQL regression test SQL files against the pgparser parser to verify parse compatibility.
Package pgregress provides tools for running PostgreSQL regression test SQL files against the pgparser parser to verify parse compatibility.
plpgsql/ast
Package ast defines PL/pgSQL AST node types.
Package ast defines PL/pgSQL AST node types.
plpgsql/parser
Package parser implements a recursive descent PL/pgSQL parser.
Package parser implements a recursive descent PL/pgSQL parser.
Package review is the contract between Bytebase SQL Review V2 and the engine review packages (mysql/review, pg/review, ...).
Package review is the contract between Bytebase SQL Review V2 and the engine review packages (mysql/review, pg/review, ...).
walk
Package walk is the engine-neutral core of the WalkThrough review rule: a ledger of what is certainly there, certainly not there, or unknown, followed through a change statement by statement.
Package walk is the engine-neutral core of the WalkThrough review rule: a ledger of what is certainly there, certainly not there, or unknown, followed through a change statement by statement.
walk/walktest
Package walktest holds an engine's WALK_THROUGH to the engine itself.
Package walktest holds an engine's WALK_THROUGH to the engine itself.
Dashboard serves a web-based monitoring UI for all parser engine pipelines.
Dashboard serves a web-based monitoring UI for all parser engine pipelines.
snowflake
advisor
Package advisor implements the lint-rule framework for Snowflake SQL.
Package advisor implements the lint-rule framework for Snowflake SQL.
advisor/rules
Package rules provides the production lint rules for the Snowflake advisor.
Package rules provides the production lint rules for the Snowflake advisor.
analysis
Package analysis provides utilities for classifying and analyzing parsed Snowflake SQL AST nodes.
Package analysis provides utilities for classifying and analyzing parsed Snowflake SQL AST nodes.
ast
Package ast defines snowflake parse-tree node types.
Package ast defines snowflake parse-tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
deparse
Package deparse converts Snowflake AST nodes back to SQL strings.
Package deparse converts Snowflake AST nodes back to SQL strings.
diagnostics
Package diagnostics provides a thin reporting layer over the Snowflake SQL parser, shaping raw parse errors into structured diagnostics suitable for editor integration (LSP-style), CI linting, and problem-panel display.
Package diagnostics provides a thin reporting layer over the Snowflake SQL parser, shaping raw parse errors into structured diagnostics suitable for editor integration (LSP-style), CI linting, and problem-panel display.
parser
Package parser implements a hand-written Snowflake SQL lexer and (in future DAG nodes) a recursive-descent parser.
Package parser implements a hand-written Snowflake SQL lexer and (in future DAG nodes) a recursive-descent parser.
review
Package review implements Bytebase SQL Review V2 for Snowflake: the engine side of the contract in github.com/bytebase/omni/review.
Package review implements Bytebase SQL Review V2 for Snowflake: the engine side of the contract in github.com/bytebase/omni/review.
starrocks
analysis
Package analysis provides query analysis for Doris SQL — statement classification, field extraction, and table access tracking.
Package analysis provides query analysis for Doris SQL — statement classification, field extraction, and table access tracking.
ast
Package ast defines Doris parse-tree node types.
Package ast defines Doris parse-tree node types.
parser
Package parser implements a hand-written Doris SQL lexer and recursive-descent parser.
Package parser implements a hand-written Doris SQL lexer and recursive-descent parser.
tidb
ast
Package ast defines MySQL parse tree node types.
Package ast defines MySQL parse tree node types.
ast/cmd/genwalker command
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
Command genwalker generates walk_generated.go from parsenodes.go and node.go.
catalog
Package catalog — define.go
Package catalog — define.go
completion
Package completion provides parser-native C3-style SQL completion for TiDB.
Package completion provides parser-native C3-style SQL completion for TiDB.
deparse
Package deparse converts MySQL AST nodes back to SQL text, matching MySQL 8.0's SHOW CREATE VIEW formatting.
Package deparse converts MySQL AST nodes back to SQL text, matching MySQL 8.0's SHOW CREATE VIEW formatting.
parser
Package parser implements a recursive descent SQL parser for MySQL.
Package parser implements a recursive descent SQL parser for MySQL.
review
Package review implements Bytebase SQL Review V2 for TiDB: the engine side of the contract in github.com/bytebase/omni/review.
Package review implements Bytebase SQL Review V2 for TiDB: the engine side of the contract in github.com/bytebase/omni/review.
scope
Package scope provides a shared, dependency-free scope data structure for tracking visible table references and resolving column names.
Package scope provides a shared, dependency-free scope data structure for tracking visible table references and resolving column names.
trino
analysis
Package analysis provides Bytebase-facing query analysis for Trino SQL: statement classification (the query_type / validateQuery contract) and query span extraction (table/column lineage for masking and access tracking).
Package analysis provides Bytebase-facing query analysis for Trino SQL: statement classification (the query_type / validateQuery contract) and query span extraction (table/column lineage for masking and access tracking).
ast
Package ast defines Trino parse-tree node types.
Package ast defines Trino parse-tree node types.
catalog
Package catalog provides in-memory metadata context for Trino auto-completion and query-span/lineage analysis.
Package catalog provides in-memory metadata context for Trino auto-completion and query-span/lineage analysis.
completion
Package completion provides parser-native auto-complete candidates for Trino SQL, the omni counterpart of bytebase's plugin/parser/trino Completion.
Package completion provides parser-native auto-complete candidates for Trino SQL, the omni counterpart of bytebase's plugin/parser/trino Completion.
deparse
Package deparse renders Trino schema metadata back into SQL data-definition language (SDL).
Package deparse renders Trino schema metadata back into SQL data-definition language (SDL).
internal/trinooracle
Package trinooracle is the differential-testing oracle for the omni Trino parser.
Package trinooracle is the differential-testing oracle for the omni Trino parser.
parser
Package parser implements a hand-written recursive-descent parser for Trino SQL (Trino 481 grammar, derived from the official SqlBase.g4).
Package parser implements a hand-written recursive-descent parser for Trino SQL (Trino 481 grammar, derived from the official SqlBase.g4).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL