Skip to content

Commit

Permalink
cleaning & fix typos
Browse files Browse the repository at this point in the history
  • Loading branch information
ezrahaleva-msft committed Oct 21, 2022
1 parent a3e88e8 commit 9384e51
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 116 deletions.
224 changes: 112 additions & 112 deletions Microsoft.Azure.Cosmos/src/Query/Core/Parser/sql.g4
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
grammar sql;

program
: sql_query EOF
;
: sql_query EOF
;

sql_query : select_clause from_clause? where_clause? group_by_clause? order_by_clause? offset_limit_clause? ;

Expand All @@ -12,10 +12,10 @@ sql_query : select_clause from_clause? where_clause? group_by_clause? order_by_c
select_clause : K_SELECT K_DISTINCT? top_spec? selection ;
top_spec : K_TOP (NUMERIC_LITERAL | PARAMETER);
selection
: select_star_spec
| select_value_spec
| select_list_spec
;
: select_star_spec
| select_value_spec
| select_list_spec
;
select_star_spec : '*' ;
select_value_spec : K_VALUE scalar_expression ;
select_list_spec : select_item ( ',' select_item )* ;
Expand All @@ -27,20 +27,20 @@ select_item : scalar_expression (K_AS identifier)? ;
/*--------------------------------------------------------------------------------*/
from_clause : K_FROM collection_expression ;
collection_expression
: collection (K_AS? identifier)? #AliasedCollectionExpression
| identifier K_IN collection #ArrayIteratorCollectionExpression
| collection_expression K_JOIN collection_expression #JoinCollectionExpression
;
: collection (K_AS? identifier)? #AliasedCollectionExpression
| identifier K_IN collection #ArrayIteratorCollectionExpression
| collection_expression K_JOIN collection_expression #JoinCollectionExpression
;
collection
: identifier path_expression? #InputPathCollection
| '(' sql_query ')' #SubqueryCollection
;
: identifier path_expression? #InputPathCollection
| '(' sql_query ')' #SubqueryCollection
;
path_expression
: path_expression'.'identifier #IdentifierPathExpression
| path_expression'[' NUMERIC_LITERAL ']' #NumberPathExpression
| path_expression'[' STRING_LITERAL ']' #StringPathExpression
| /*epsilon*/ #EpsilonPathExpression
;
: path_expression'.'identifier #IdentifierPathExpression
| path_expression'[' NUMERIC_LITERAL ']' #NumberPathExpression
| path_expression'[' STRING_LITERAL ']' #StringPathExpression
| /*epsilon*/ #EpsilonPathExpression
;
/*--------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------*/
Expand All @@ -62,9 +62,9 @@ order_by_clause : K_ORDER K_BY order_by_items ;
order_by_items : order_by_item (',' order_by_item)* ;
order_by_item : scalar_expression sort_order? ;
sort_order
: K_ASC
| K_DESC
;
: K_ASC
| K_DESC
;
/*--------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------*/
Expand All @@ -79,66 +79,66 @@ limit_count : NUMERIC_LITERAL | PARAMETER;
/* SCALAR EXPRESSIONs */
/*--------------------------------------------------------------------------------*/
scalar_expression
: scalar_expression '?' scalar_expression ':' scalar_expression #ConditionalScalarExpression
| scalar_expression '??' scalar_expression #CoalesceScalarExpression
| logical_scalar_expression #LogicalScalarExpression
| binary_scalar_expression K_NOT? K_BETWEEN binary_scalar_expression K_AND binary_scalar_expression #BetweenScalarExpression
;
: scalar_expression '?' scalar_expression ':' scalar_expression #ConditionalScalarExpression
| scalar_expression '??' scalar_expression #CoalesceScalarExpression
| logical_scalar_expression #LogicalScalarExpression
| binary_scalar_expression K_NOT? K_BETWEEN binary_scalar_expression K_AND binary_scalar_expression #BetweenScalarExpression
;

logical_scalar_expression
: binary_scalar_expression
| in_scalar_expression
| like_scalar_expression
| logical_scalar_expression K_AND logical_scalar_expression
| logical_scalar_expression K_OR logical_scalar_expression
;
: binary_scalar_expression
| in_scalar_expression
| like_scalar_expression
| logical_scalar_expression K_AND logical_scalar_expression
| logical_scalar_expression K_OR logical_scalar_expression
;

in_scalar_expression
: binary_scalar_expression K_NOT? K_IN '(' scalar_expression_list ')'
;
: binary_scalar_expression K_NOT? K_IN '(' scalar_expression_list ')'
;

like_scalar_expression
: binary_scalar_expression K_NOT? K_LIKE binary_scalar_expression escape_expression?
;
: binary_scalar_expression K_NOT? K_LIKE binary_scalar_expression escape_expression?
;

escape_expression
: K_ESCAPE STRING_LITERAL
;
: K_ESCAPE STRING_LITERAL
;

binary_scalar_expression
: unary_scalar_expression
| binary_scalar_expression multiplicative_operator binary_scalar_expression
| binary_scalar_expression additive_operator binary_scalar_expression
| binary_scalar_expression relational_operator binary_scalar_expression
| binary_scalar_expression equality_operator binary_scalar_expression
| binary_scalar_expression bitwise_and_operator binary_scalar_expression
| binary_scalar_expression bitwise_exclusive_or_operator binary_scalar_expression
| binary_scalar_expression bitwise_inclusive_or_operator binary_scalar_expression
| binary_scalar_expression string_concat_operator binary_scalar_expression
;
: unary_scalar_expression
| binary_scalar_expression multiplicative_operator binary_scalar_expression
| binary_scalar_expression additive_operator binary_scalar_expression
| binary_scalar_expression relational_operator binary_scalar_expression
| binary_scalar_expression equality_operator binary_scalar_expression
| binary_scalar_expression bitwise_and_operator binary_scalar_expression
| binary_scalar_expression bitwise_exclusive_or_operator binary_scalar_expression
| binary_scalar_expression bitwise_inclusive_or_operator binary_scalar_expression
| binary_scalar_expression string_concat_operator binary_scalar_expression
;

multiplicative_operator
: '*'
| '/'
| '%'
;
: '*'
| '/'
| '%'
;

additive_operator
: '+'
| '-'
;
: '+'
| '-'
;

relational_operator
: '<'
| '>'
| '>='
| '<='
;
: '<'
| '>'
| '>='
| '<='
;

equality_operator
: '='
| '!='
;
: '='
| '!='
;

bitwise_and_operator : '&' ;

Expand All @@ -149,32 +149,32 @@ bitwise_inclusive_or_operator : '|';
string_concat_operator : '||';

unary_scalar_expression
: primary_expression
| unary_operator unary_scalar_expression
;
: primary_expression
| unary_operator unary_scalar_expression
;

unary_operator
: '-'
| '+'
| '~'
| K_NOT
;
: '-'
| '+'
| '~'
| K_NOT
;

primary_expression
: identifier #PropertyRefScalarExpressionBase
| PARAMETER #ParameterRefScalarExpression
| literal #LiteralScalarExpression
| '[' scalar_expression_list? ']' #ArrayCreateScalarExpression
| '{' object_property_list? '}' #ObjectCreateScalarExpression
| (K_UDF '.')? identifier '(' scalar_expression_list? ')' #FunctionCallScalarExpression
| '(' scalar_expression ')' #ParenthesizedScalarExperession
| '(' sql_query ')' #SubqueryScalarExpression
| primary_expression '.' identifier #PropertyRefScalarExpressionRecursive
| primary_expression '[' scalar_expression ']' #MemberIndexerScalarExpression
| K_EXISTS '(' sql_query ')' #ExistsScalarExpression
| K_ARRAY '(' sql_query ')' #ArrayScalarExpression
| K_ALL '(' sql_query ')' #AllScalarExpression
;
: identifier #PropertyRefScalarExpressionBase
| PARAMETER #ParameterRefScalarExpression
| literal #LiteralScalarExpression
| '[' scalar_expression_list? ']' #ArrayCreateScalarExpression
| '{' object_property_list? '}' #ObjectCreateScalarExpression
| (K_UDF '.')? identifier '(' scalar_expression_list? ')' #FunctionCallScalarExpression
| '(' scalar_expression ')' #ParenthesizedScalarExperession
| '(' sql_query ')' #SubqueryScalarExpression
| primary_expression '.' identifier #PropertyRefScalarExpressionRecursive
| primary_expression '[' scalar_expression ']' #MemberIndexerScalarExpression
| K_EXISTS '(' sql_query ')' #ExistsScalarExpression
| K_ARRAY '(' sql_query ')' #ArrayScalarExpression
| K_ALL '(' sql_query ')' #AllScalarExpression
;

scalar_expression_list : scalar_expression (',' scalar_expression)*;

Expand All @@ -183,9 +183,9 @@ object_property_list : object_property (',' object_property)* ;
object_property : STRING_LITERAL ':' scalar_expression ;

identifier
: LEX_IDENTIFIER
| K_ALL
;
: LEX_IDENTIFIER
| K_ALL
;
/*--------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------*/
Expand Down Expand Up @@ -231,27 +231,27 @@ WS
/* LITERALS */
/*--------------------------------------------------------------------------------*/
literal
: STRING_LITERAL
| NUMERIC_LITERAL
| K_TRUE
| K_FALSE
| K_NULL
| K_UNDEFINED
;
: STRING_LITERAL
| NUMERIC_LITERAL
| K_TRUE
| K_FALSE
| K_NULL
| K_UNDEFINED
;

NUMERIC_LITERAL
: ( '+' | '-' )? DIGIT+ ( '.' DIGIT* )? ( E [-+]? DIGIT+ )?
| ( '+' | '-' )? '.' DIGIT+ ( E [-+]? DIGIT+ )?
;
: ( '+' | '-' )? DIGIT+ ( '.' DIGIT* )? ( E [-+]? DIGIT+ )?
| ( '+' | '-' )? '.' DIGIT+ ( E [-+]? DIGIT+ )?
;

STRING_LITERAL
: '"' (ESC | SAFECODEPOINTWITHDOUBLEQUOTATION)* '"'
| '\'' (ESC | SAFECODEPOINTWITHSINGLEQUOTATION)* '\''
;
: '"' (ESC | SAFECODEPOINTWITHDOUBLEQUOTATION)* '"'
| '\'' (ESC | SAFECODEPOINTWITHSINGLEQUOTATION)* '\''
;

fragment ESC
: '\\' (["\\/bfnrt] | UNICODE)
;
: '\\' (["\\/bfnrt] | UNICODE)
;
fragment UNICODE
: 'u' HEX HEX HEX HEX
Expand All @@ -262,21 +262,21 @@ fragment HEX
;
fragment SAFECODEPOINTWITHSINGLEQUOTATION
: ~ ['\\\u0000-\u001F]
;
: ~ ['\\\u0000-\u001F]
;
fragment SAFECODEPOINTWITHDOUBLEQUOTATION
: ~ ["\\\u0000-\u001F]
;
: ~ ["\\\u0000-\u001F]
;

LEX_IDENTIFIER
:
| [a-zA-Z_]([a-zA-Z_]|DIGIT)*
;
:
| [a-zA-Z_]([a-zA-Z_]|DIGIT)*
;

PARAMETER
: '@'LEX_IDENTIFIER
;
: '@'LEX_IDENTIFIER
;
/*--------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ public override SqlObject Visit(SqlAliasedCollectionExpression sqlAliasedCollect
sqlAliasedCollectionExpression.Alias.Accept(this) as SqlIdentifier);
}

public override SqlObject Visit(SqlAllScalarExpression sqlExistsScalarExpression)
public override SqlObject Visit(SqlAllScalarExpression sqlAllScalarExpression)
{
return SqlExistsScalarExpression.Create(sqlExistsScalarExpression.Subquery.Accept(this) as SqlQuery);
return SqlExistsScalarExpression.Create(sqlAllScalarExpression.Subquery.Accept(this) as SqlQuery);
}

public override SqlObject Visit(SqlArrayCreateScalarExpression sqlArrayCreateScalarExpression)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ public override void Visit(SqlAliasedCollectionExpression sqlAliasedCollectionEx
}
}

public override void Visit(SqlAllScalarExpression sqlExistsScalarExpression)
public override void Visit(SqlAllScalarExpression sqlAllScalarExpression)
{
this.writer.Write("ALL");
this.WriteStartContext("(");
sqlExistsScalarExpression.Subquery.Accept(this);
sqlAllScalarExpression.Subquery.Accept(this);
this.WriteEndContext(")");
}

Expand Down

0 comments on commit 9384e51

Please sign in to comment.