-
Notifications
You must be signed in to change notification settings - Fork 443
Closed
Labels
Description
Getting this error:
Error: Parse error at token: «EOF» at line 47 column 5
Unexpected EOF token: {"type":"EOF","raw":"«EOF»","text":"«EOF»","start":1235}. Instead, I was expecting to see one of the following:
A PROPERTY_ACCESS_OPERATOR token based on:
property_access → atomic_expression _ ● %PROPERTY_ACCESS_OPERATOR _ property_access$subexpression$1
atomic_expression$subexpression$1 → ● property_access
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A LINE_COMMENT token based on:
comment → ● %LINE_COMMENT
_$ebnf$1 → _$ebnf$1 ● comment
_ → ● _$ebnf$1
property_access → atomic_expression ● _ %PROPERTY_ACCESS_OPERATOR _ property_access$subexpression$1
atomic_expression$subexpression$1 → ● property_access
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A BLOCK_COMMENT token based on:
comment → ● %BLOCK_COMMENT
_$ebnf$1 → _$ebnf$1 ● comment
_ → ● _$ebnf$1
property_access → atomic_expression ● _ %PROPERTY_ACCESS_OPERATOR _ property_access$subexpression$1
atomic_expression$subexpression$1 → ● property_access
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A DISABLE_COMMENT token based on:
comment → ● %DISABLE_COMMENT
_$ebnf$1 → _$ebnf$1 ● comment
_ → ● _$ebnf$1
property_access → atomic_expression ● _ %PROPERTY_ACCESS_OPERATOR _ property_access$subexpression$1
atomic_expression$subexpression$1 → ● property_access
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A ASTERISK token based on:
asterisk$subexpression$1 → ● %ASTERISK
asterisk → ● asterisk$subexpression$1
free_form_sql$subexpression$1 → ● asterisk
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A ")" based on:
parenthesis → "(" expressions_or_clauses ● ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A AND token based on:
logic_operator$subexpression$1 → ● %AND
logic_operator → ● logic_operator$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● logic_operator
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A OR token based on:
logic_operator$subexpression$1 → ● %OR
logic_operator → ● logic_operator$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● logic_operator
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A XOR token based on:
logic_operator$subexpression$1 → ● %XOR
logic_operator → ● logic_operator$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● logic_operator
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A COMMA token based on:
comma$subexpression$1 → ● %COMMA
comma → ● comma$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● comma
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A WHEN token based on:
other_keyword$subexpression$1 → ● %WHEN
other_keyword → ● other_keyword$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● other_keyword
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A THEN token based on:
other_keyword$subexpression$1 → ● %THEN
other_keyword → ● other_keyword$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● other_keyword
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A ELSE token based on:
other_keyword$subexpression$1 → ● %ELSE
other_keyword → ● other_keyword$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● other_keyword
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A END token based on:
other_keyword$subexpression$1 → ● %END
other_keyword → ● other_keyword$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● other_keyword
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A BETWEEN token based on:
between_predicate → ● %BETWEEN _ andless_expression_chain _ %AND _ andless_expression
asteriskless_andless_expression$subexpression$1 → ● between_predicate
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A CASE token based on:
case_expression → ● %CASE _ case_expression$ebnf$1 case_expression$ebnf$2 %END
asteriskless_andless_expression$subexpression$1 → ● case_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A LIMIT token based on:
limit_clause → ● %LIMIT _ expression_chain_ limit_clause$ebnf$1
clause$subexpression$1 → ● limit_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A RESERVED_SELECT token based on:
select_clause → ● %RESERVED_SELECT select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A RESERVED_SELECT token based on:
select_clause → ● %RESERVED_SELECT
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A RESERVED_CLAUSE token based on:
other_clause → ● %RESERVED_CLAUSE other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A RESERVED_SET_OPERATION token based on:
set_operation → ● %RESERVED_SET_OPERATION set_operation$ebnf$1
clause$subexpression$1 → ● set_operation
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A ARRAY_IDENTIFIER token based on:
array_subscript → ● %ARRAY_IDENTIFIER _ square_brackets
atomic_expression$subexpression$1 → ● array_subscript
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A ARRAY_KEYWORD token based on:
array_subscript → ● %ARRAY_KEYWORD _ square_brackets
atomic_expression$subexpression$1 → ● array_subscript
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A RESERVED_FUNCTION_NAME token based on:
function_call → ● %RESERVED_FUNCTION_NAME _ parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A "(" based on:
parenthesis → ● "(" expressions_or_clauses ")"
atomic_expression$subexpression$1 → ● parenthesis
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
A "{" based on:
curly_braces → ● "{" curly_braces$ebnf$1 "}"
atomic_expression$subexpression$1 → ● curly_braces
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
other_clause$ebnf$1 → other_clause$ebnf$1 ● free_form_sql
other_clause → %RESERVED_CLAUSE ● other_clause$ebnf$1
clause$subexpression$1 → ● other_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
parenthesis → "(" ● expressions_or_clauses ")"
function_call → %RESERVED_FUNCTION_NAME _ ● parenthesis
atomic_expression$subexpression$1 → ● function_call
atomic_expression → ● atomic_expression$subexpression$1
asteriskless_andless_expression$subexpression$1 → ● atomic_expression
asteriskless_andless_expression → ● asteriskless_andless_expression$subexpression$1
asteriskless_free_form_sql$subexpression$1 → ● asteriskless_andless_expression
asteriskless_free_form_sql → ● asteriskless_free_form_sql$subexpression$1
free_form_sql$subexpression$1 → ● asteriskless_free_form_sql
free_form_sql → ● free_form_sql$subexpression$1
select_clause$subexpression$1$ebnf$2 → select_clause$subexpression$1$ebnf$2 ● free_form_sql
select_clause$subexpression$1 → asteriskless_free_form_sql ● select_clause$subexpression$1$ebnf$2
select_clause → %RESERVED_SELECT ● select_clause$subexpression$1
clause$subexpression$1 → ● select_clause
clause → ● clause$subexpression$1
expressions_or_clauses$ebnf$2 → expressions_or_clauses$ebnf$2 ● clause
expressions_or_clauses → expressions_or_clauses$ebnf$1 ● expressions_or_clauses$ebnf$2
statement → ● expressions_or_clauses statement$subexpression$1
main$ebnf$1 → main$ebnf$1 ● statement
main → ● main$ebnf$1
There is only one sql expressin in that file:
`
SELECT
msi1.uid,
msi1.name,
msi1.enabled,
msi1.authentication_token "authenticationToken",
CASE
WHEN msi1.healthy IS NULL THEN 'pending'
WHEN msi1.healthy = FALSE THEN 'unhealthy'
ELSE fm1.state
END AS "state",
json_build_object(
'uid',
ms1.uid,
'slug',
coalesce(ms1.slug, gr1.name),
'name',
ms1.name,
'argumentsJsonSchema',
ms1.arguments_json_schema,
'githubRepository',
json_build_object(
'name',
gr1.name,
'owner',
ms1.arguments_json_schema
) "mcpServer"
FROM
mcp_server_instance msi1
INNER JOIN fly_app fa1 ON fa1.id = msi1.fly_app_id
-- TODO evaluate how we handle this
INNER JOIN LATERAL (
SELECT
*
FROM
fly_machine fm1
WHERE
fm1.fly_app_id = fa1.id
ORDER BY
fm1.created_at DESC
LIMIT
1
) fm1 ON TRUE
INNER JOIN mcp_server ms1 ON ms1.id = msi1.mcp_server_id
WHERE
msi1.id = ${mcpServerInstanceId}
`