BigQuery SQL Parser Support in GSP¶
Explore the BigQuery SQL Parser product page
This page documents the SQL syntax support for Google BigQuery in the General SQL Parser.
Syntax Coverage Corpus¶
GSP tests BigQuery syntax against 71 documented constructs grouped into 13 categories, each cross-referenced to the documentation that defines it (6 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 BigQuery 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 | 69 of 71 (97%) | 221 of 223 (99%) |
| SELECT (queries) | 25 of 25 (100%) | 98 of 98 (100%) |
| DML (INSERT / UPDATE / DELETE / MERGE) | 4 of 4 (100%) | 31 of 31 (100%) |
| Stored procedures | 4 of 4 (100%) | 7 of 7 (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 71 constructs¶
| Construct | Category | Parses | Specified in |
|---|---|---|---|
ALTER COLUMN DROP NOT NULL |
ALTER | all 1 | Google Cloud docs |
ALTER COLUMN SET DATA TYPE |
ALTER | all 3 | Google Cloud docs |
ALTER COLUMN SET OPTIONS |
ALTER | all 1 | Google Cloud docs |
ALTER MATERIALIZED VIEW SET OPTIONS |
ALTER | all 1 | Google Cloud docs |
ALTER SCHEMA SET OPTIONS |
ALTER | all 1 | Google Cloud docs |
ALTER TABLE ADD COLUMN |
ALTER | 1 of 2 | Google Cloud docs |
ALTER TABLE DROP COLUMN |
ALTER | all 1 | Google Cloud docs |
ALTER TABLE RENAME TO |
ALTER | all 1 | Google Cloud docs |
ALTER TABLE SET OPTIONS |
ALTER | all 3 | Google Cloud docs |
ALTER VIEW SET OPTIONS |
ALTER | all 1 | Google Cloud docs |
Assert |
Assert | 0 of 1 | Google Cloud docs |
CREATE ASSIGNMENT |
CREATE | all 2 | Google Cloud docs |
CREATE CAPACITY |
CREATE | all 1 | Google Cloud docs |
CREATE EXTERNAL TABLE |
CREATE | all 4 | Google Cloud docs |
CREATE FUNCTION |
CREATE | all 1 | Google Cloud docs |
CREATE FUNCTION |
CREATE | all 1 | Google Cloud docs |
CREATE MATERIALIZED VIEW |
CREATE | all 4 | Google Cloud docs |
CREATE PROCEDURE |
CREATE | all 3 | Google Cloud docs |
CREATE RESERVATION |
CREATE | all 1 | Google Cloud docs |
CREATE ROW ACCESS POLICY |
CREATE | all 6 | Google Cloud docs |
CREATE SCHEMA |
CREATE | all 1 | Google Cloud docs |
CREATE SNAPSHOT TABLE |
CREATE | all 2 | Google Cloud docs |
CREATE TABLE |
CREATE | all 13 | Google Cloud docs |
CREATE TABLE CLONE |
CREATE | all 4 | Google Cloud docs |
CREATE TABLE FUNCTION |
CREATE | all 2 | Google Cloud docs |
CREATE VIEW |
CREATE | all 5 | Google Cloud docs |
DELETE |
DELETE | all 3 | Google Cloud docs |
DROP ASSIGNMENT |
DROP | all 1 | Google Cloud docs |
DROP CAPACITY |
DROP | all 1 | Google Cloud docs |
DROP EXTERNAL TABLE |
DROP | all 2 | Google Cloud docs |
DROP FUNCTION |
DROP | all 2 | Google Cloud docs |
DROP MATERIALIZED VIEW |
DROP | all 2 | Google Cloud docs |
DROP PROCEDURE |
DROP | all 2 | Google Cloud docs |
DROP RESERVATION |
DROP | all 1 | Google Cloud docs |
DROP ROW ACCESS POLICY |
DROP | all 3 | Google Cloud docs |
DROP SCHEMA |
DROP | all 2 | Google Cloud docs |
DROP SNAPSHOT TABLE |
DROP | all 2 | Google Cloud docs |
DROP TABLE |
DROP | all 2 | Google Cloud docs |
DROP TABLE FUNCTION |
DROP | all 1 | Google Cloud docs |
DROP VIEW |
DROP | all 2 | Google Cloud docs |
EXPORT DATA |
EXPORT | all 2 | Google Cloud docs |
GRANT |
GRANT | all 1 | Google Cloud docs |
INSERT |
INSERT | all 9 | Google Cloud docs |
MERGE |
MERGE | all 8 | Google Cloud docs |
REVOKE |
REVOKE | all 1 | Google Cloud docs |
SELECT * EXCEPT |
SELECT | all 1 | Google Cloud docs |
SELECT FOR SYSTEM_TIME AS OF |
SELECT | all 4 | Google Cloud docs |
SELECT FROM |
SELECT | all 8 | Google Cloud docs |
SELECT * |
SELECT | all 1 | Google Cloud docs |
SELECT * REPLACE |
SELECT | all 2 | Google Cloud docs |
SELECT aggregate |
SELECT | all 5 | Google Cloud docs |
SELECT alias |
SELECT | all 8 | Google Cloud docs |
SELECT AS STRUCT |
SELECT | all 1 | Google Cloud docs |
SELECT AS VALUE |
SELECT | all 1 | Google Cloud docs |
SELECT cte_name |
SELECT | all 1 | Google Cloud docs |
SELECT expression |
SELECT | all 3 | Google Cloud docs |
SELECT GROUP BY |
SELECT | all 8 | Google Cloud docs |
SELECT HAVING |
SELECT | all 5 | Google Cloud docs |
SELECT JOIN |
SELECT | all 11 | Google Cloud docs |
SELECT LIMIT |
SELECT | all 2 | Google Cloud docs |
SELECT ORDER BY |
SELECT | all 10 | Google Cloud docs |
SELECT PIVOT |
SELECT | all 5 | Google Cloud docs |
SELECT QUALIFY |
SELECT | all 2 | Google Cloud docs |
SELECT TABLESAMPLE |
SELECT | all 1 | Google Cloud docs |
SELECT UNNEST |
SELECT | all 4 | Google Cloud docs |
SELECT UNPIVOT |
SELECT | all 3 | Google Cloud docs |
SELECT WHERE |
SELECT | all 4 | Google Cloud docs |
SELECT WINDOW |
SELECT | all 3 | Google Cloud docs |
SELECT WITH |
SELECT | all 4 | Google Cloud docs |
TRUNCATE TABLE |
TRUNCATE | all 1 | Google Cloud docs |
UPDATE |
UPDATE | all 12 | Google Cloud docs |
Key Features Supported¶
- Standard SQL operations (SELECT, INSERT, UPDATE, DELETE)
- BigQuery-specific functions and data types
- Array and struct operations
- Window functions and analytical queries
- Machine learning functions (BQML)
- Geographic and time-based functions