filter_expression: boolean_expression
filter_expression
         ::= boolean_expression
no referencesorder_by_expression: order_by_clause ,
order_by_expression
         ::= order_by_clause ( ',' order_by_clause )*
no referencesselect_expression: * field_path ,
         ::= '*'
           | field_path ( ',' field_path )*
no referencesfield_path: identifier /
         ::= identifier ( '/' identifier )*
referenced by: collection_filter_expression order_by_clause select_expression variable identifier: [a-z] [A-Z] _ [a-z] [A-Z] _ [0-9]
         ::= [a-zA-Z_] [a-zA-Z_0-9]*
referenced by: field_path lambda_expression variable order_by_clause: field_path sortable_function asc desc
         ::= ( field_path | sortable_function ) ( 'asc' | 'desc' )?
referenced by: order_by_expression sortable_function: geo_distance_call search.score()
         ::= geo_distance_call
           | 'search.score()'
referenced by: order_by_clause boolean_expression: collection_filter_expression logical_expression comparison_expression boolean_literal boolean_function_call ( boolean_expression ) variable
         ::= collection_filter_expression
           | logical_expression
           | comparison_expression
           | boolean_literal
           | boolean_function_call
           | '(' boolean_expression ')'
           | variable
referenced by: boolean_expression filter_expression lambda_expression logical_expression variable: identifier field_path
           | field_path
referenced by: boolean_expression geo_distance_call geo_intersects_call search_in_call variable_or_function collection_filter_expression: field_path /all( /any( lambda_expression ) /any()
         ::= field_path ( ( '/all(' | '/any(' ) lambda_expression ')' | '/any()' )
referenced by: boolean_expression lambda_expression: identifier : boolean_expression
         ::= identifier ':' boolean_expression
referenced by: collection_filter_expression logical_expression: boolean_expression and or not boolean_expression
         ::= ( boolean_expression ( 'and' | 'or' ) | 'not' ) boolean_expression
referenced by: boolean_expression comparison_expression: variable_or_function comparison_operator constant constant comparison_operator variable_or_function referenced by: boolean_expression variable_or_function: variable function_call
         ::= variable
           | function_call
referenced by: comparison_expression comparison_operator: gt lt ge le eq ne
         ::= 'gt'
           | 'lt'
           | 'ge'
           | 'le'
           | 'eq'
           | 'ne'
referenced by: comparison_expression constant: string_literal date_time_offset_literal integer_literal float_literal boolean_literal null
           | date_time_offset_literal
           | integer_literal
           | float_literal
           | boolean_literal
           | 'null'
referenced by: comparison_expression string_literal: ' [^'] '' '
         ::= "'" ( [^'] | "''" )* "'"
referenced by: constant search_in_call search_is_match_parameters date_time_offset_literal: date_part T time_part time_zone
         ::= date_part 'T' time_part time_zone
referenced by: constant date_part: year - month - day
         ::= year '-' month '-' day
referenced by: date_time_offset_literal time_part: hour : minute : second . fractional_seconds
         ::= hour ':' minute ( ':' second ( '.' fractional_seconds )? )?
referenced by: date_time_offset_literal zero_to_fifty_nine: [0-5] digit
         ::= [0-5] digit
referenced by: minute second digit: [0-9]
digit    ::= [0-9]
referenced by: day hour integer_literal year zero_to_fifty_nine year: digit digit digit digit
year     ::= digit digit digit digit
referenced by: date_part month: 0 [1-9] 1 [0-2]
month    ::= '0' [1-9]
           | '1' [0-2]
referenced by: date_part day: 0 [1-9] [1-2] digit 3 [0-1]
day      ::= '0' [1-9]
           | [1-2] digit
           | '3' [0-1]
referenced by: date_part hour: [0-1] digit 2 [0-3]
hour     ::= [0-1] digit
           | '2' [0-3]
referenced by: time_part time_zone minute: zero_to_fifty_nine referenced by: time_part time_zone second: zero_to_fifty_nine referenced by: time_part fractional_seconds: integer_literal
         ::= integer_literal
referenced by: time_part time_zone: Z sign hour : minute
         ::= 'Z'
           | sign hour ':' minute
referenced by: date_time_offset_literal sign: + -
sign     ::= '+'
           | '-'
referenced by: exponent float_literal time_zone integer_literal: digit
         ::= digit+
referenced by: constant exponent fractional_part fractional_seconds whole_part float_literal: sign whole_part fractional_part exponent NaN -INF INF
         ::= sign? whole_part fractional_part? exponent?
           | 'NaN'
           | '-INF'
           | 'INF'
referenced by: constant lon_lat whole_part: integer_literal
         ::= integer_literal
referenced by: float_literal fractional_part: . integer_literal
         ::= '.' integer_literal
referenced by: float_literal exponent: e sign integer_literal referenced by: float_literal boolean_literal: true false
         ::= 'true'
           | 'false'
referenced by: boolean_expression constant function_call: geo_distance_call boolean_function_call
         ::= geo_distance_call
           | boolean_function_call
referenced by: variable_or_function geo_distance_call: geo.distance( variable , geo_point geo_point , variable )
         ::= 'geo.distance(' ( variable ',' geo_point | geo_point ',' variable ) ')'
referenced by: function_call sortable_function geo_point: geography'POINT( lon_lat )'
         ::= "geography'POINT(" lon_lat ")'"
referenced by: geo_distance_call lon_lat: float_literal float_literal referenced by: geo_point geo_polygon lon_lat_list boolean_function_call: geo_intersects_call search_in_call search_is_match_call
         ::= geo_intersects_call
           | search_in_call
           | search_is_match_call
referenced by: boolean_expression function_call geo_intersects_call: geo.intersects( variable , geo_polygon )
         ::= 'geo.intersects(' variable ',' geo_polygon ')'
referenced by: boolean_function_call geo_polygon: geography'POLYGON(( lon_lat , lon_lat , lon_lat , lon_lat_list ))'
         ::= "geography'POLYGON((" lon_lat ',' lon_lat ',' lon_lat ',' lon_lat_list "))'"
referenced by: geo_intersects_call lon_lat_list: lon_lat ,
         ::= lon_lat ( ',' lon_lat )*
referenced by: geo_polygon search_in_call: search.in( variable , string_literal , string_literal )
         ::= 'search.in(' variable ',' string_literal ( ',' string_literal )? ')'
referenced by: boolean_function_call search_is_match_call: search.ismatch scoring ( search_is_match_parameters )
         ::= 'search.ismatch' 'scoring'? '(' search_is_match_parameters ')'
referenced by: boolean_function_call search_is_match_parameters: string_literal , string_literal , query_type , search_mode
         ::= string_literal ( ',' string_literal ( ',' query_type ',' search_mode )? )?
referenced by: search_is_match_call query_type: 'full' 'simple'
         ::= "'full'"
           | "'simple'"
referenced by: search_is_match_parameters search_mode: 'any' 'all'
         ::= "'any'"
           | "'all'"
referenced by: search_is_match_parameters   ... generated by Railroad Diagram Generator R R