Class BigQuerySqlParser

Object
gudusoft.gsqlparser.parser.AbstractSqlParser
gudusoft.gsqlparser.parser.BigQuerySqlParser
All Implemented Interfaces:
SqlParser

Google BigQuery SQL parser implementation.

This parser handles BigQuery-specific SQL syntax including:

  • BigQuery scripting language (BEGIN...END blocks, IF/WHILE/FOR/LOOP/REPEAT statements)
  • BigQuery UDFs (CREATE FUNCTION with SQL or JavaScript)
  • BigQuery procedures (CREATE PROCEDURE with BEGIN...END blocks)
  • Special type handling (STRUCT, ARRAY, DATE/TIME/TIMESTAMP literals)
  • Backtick-quoted identifiers including qualified names (`schema.table`)
  • BigQuery-specific keywords and functions

Design Notes:

  • Extends AbstractSqlParser using the template method pattern
  • Uses TLexerBigquery for tokenization
  • Uses TParserBigquery for parsing
  • Delimiter character: ';' for SQL statements
  • Splits backtick-quoted qualified names (`schema.table`) into individual tokens

Usage Example:

 // Get BigQuery parser from factory
 SqlParser parser = SqlParserFactory.get(EDbVendor.dbvbigquery);

 // Build context
 ParserContext context = new ParserContext.Builder(EDbVendor.dbvbigquery)
     .sqlText("SELECT * FROM `project.dataset.table` WHERE region = 'US'")
     .build();

 // Parse
 SqlParseResult result = parser.parse(context);

 // Access statements
 TStatementList statements = result.getSqlStatements();
 
Since:
3.2.0.0
See Also:
  • Field Details

  • Constructor Details

    • BigQuerySqlParser

      Construct BigQuery SQL parser.

      Configures the parser for BigQuery database with default delimiter (;).

      Following the original TGSqlParser pattern, the lexer and parser are created once in the constructor and reused for all parsing operations.

  • Method Details