pysquril/docs/grammar

query

query = select_query | update_query | alter_query | restore_query ;

query is referencing:

select_query

select_query = { select_clause } , [ ampersand , where_clause , ampersand , order_clause , ampersand , range_clause ] | [ ampersand , group_by_clause , ampersand , range_clause ] , { ampersand , message } ;

Items referencing select_query:

select_query is referencing:

select_clause

select_clause = "select=" , select_term , { comma , select_term } ;

Items referencing select_clause:

select_clause is referencing:

select_term

select_term = { function_call } , select_element ;

Items referencing select_term:

select_term is referencing:

function_call

function_call = function , open_bracket , function_parameter , close_bracket ;

Items referencing function_call:

function_call is referencing:

function_parameter

function_parameter = select_term | asterisk ;

Items referencing function_parameter:

function_parameter is referencing:

select_element

select_element = key | array ;

Items referencing select_element:

select_element is referencing:

key

key = key_characters , { dot , key_characters } ;

Items referencing key:

key is referencing:

array

array = key , open_brace , array_slice , [ array_selection ] , close_brace ;

Items referencing array:

array is referencing:

array_slice

array_slice = index | asterisk ;

Items referencing array_slice:

array_slice is referencing:

array_selection

array_selection = pipe , key , { comma , key } ;

Items referencing array_selection:

array_selection is referencing:

where_clause

where_clause = "where=" , where_term , { comma , combinator , where_term } ;

Items referencing where_clause:

where_clause is referencing:

where_term

where_term = { open_bracket } , where_element , equals , operator , equals , quote , where_value , quote , { close_bracket } ;

Items referencing where_term:

where_term is referencing:

where_element

keyarray - array_selection
where_element = key | array - array_selection ;

Items referencing where_element:

where_element is referencing:

where_value

.+\\'
where_value = ".+" | "\\'" ;

Items referencing where_value:

group_by_clause

group_by=keycomma
group_by_clause = "group_by=" , key , { comma , key } ;

Items referencing group_by_clause:

group_by_clause is referencing:

order_clause

order_clause = "order=" , select_term , dot , direction ;

Items referencing order_clause:

order_clause is referencing:

direction

descasc
direction = "desc" | "asc" ;

Items referencing direction:

range_clause

range_clause = "range=" , equals , index , dot , index ;

Items referencing range_clause:

range_clause is referencing:

update_query

update_query = set_clause , where_clause , { ampersand , message } ;

Items referencing update_query:

update_query is referencing:

set_clause

set_clause = "set=" , key , { comma , key } ;

Items referencing set_clause:

set_clause is referencing:

alter_query

alter_query = alter_clause ;

Items referencing alter_query:

alter_query is referencing:

alter_clause

alter_clause = "alter=" , "name" , equals , alter_operation , dot , alter_value ;

Items referencing alter_clause:

alter_clause is referencing:

alter_operation

eq
alter_operation = "eq" ;

Items referencing alter_operation:

alter_value

alter_value = key_characters ;

Items referencing alter_value:

alter_value is referencing:

restore_query

restore_query = "restore" , ampersand , "primary_key" , equals , key_characters , { where_clause , message } ;

Items referencing restore_query:

restore_query is referencing:

operator

eq, gt, gte, lt, lte, neq, like, ilike, not, is, in
operator = ? eq, gt, gte, lt, lte, neq, like, ilike, not, is, in ? ;

Items referencing operator:

combinator

combinator = and | or ;

Items referencing combinator:

combinator is referencing:

and

and:
and = "and:" ;

Items referencing and:

or

or:
or = "or:" ;

Items referencing or:

index

0-9+
index = ? 0-9+ ? ;

Items referencing index:

asterisk

*
asterisk = "*" ;

Items referencing asterisk:

pipe

|
pipe = "|" ;

Items referencing pipe:

open_brace

[
open_brace = "[" ;

Items referencing open_brace:

close_brace

]
close_brace = "]" ;

Items referencing close_brace:

open_bracket

(
open_bracket = "(" ;

Items referencing open_bracket:

close_bracket

)
close_bracket = ")" ;

Items referencing close_bracket:

function

count, avg, sum, min, max, min_ts, max_ts
function = ? count, avg, sum, min, max, min_ts, max_ts ? ;

Items referencing function:

key_characters

a-zA-Z_
key_characters = ? a-zA-Z_ ? ;

Items referencing key_characters:

dot

.
dot = "." ;

Items referencing dot:

comma

,
comma = "," ;

Items referencing comma:

ampersand

&
ampersand = "&" ;

Items referencing ampersand:

equals

=
equals = "=" ;

Items referencing equals:

quote

'
quote = "'" ;

Items referencing quote:

message

message=quote.+quote
message = "message=" , quote , ".+" , quote ;

Items referencing message:

message is referencing: