TD-13338 SELECT statement translate code
This commit is contained in:
parent
b9eb9d87a2
commit
f6c1218b38
|
@ -219,7 +219,7 @@ table_reference(A) ::= joined_table(B).
|
|||
|
||||
table_primary(A) ::= table_name(B) alias_opt(C). { PARSER_TRACE; A = createRealTableNode(pCxt, NULL, &B, &C); }
|
||||
table_primary(A) ::= db_name(B) NK_DOT table_name(C) alias_opt(D). { PARSER_TRACE; A = createRealTableNode(pCxt, &B, &C, &D); }
|
||||
table_primary(A) ::= subquery(B) alias_opt(C). { PARSER_TRACE; A = createTempTableNode(pCxt, B, &C); }
|
||||
table_primary(A) ::= subquery(B) alias_opt(C). { PARSER_TRACE; A = createTempTableNode(pCxt, releaseRawExprNode(pCxt, B), &C); }
|
||||
table_primary(A) ::= parenthesized_joined_table(B). { PARSER_TRACE; A = B; }
|
||||
|
||||
%type alias_opt { SToken }
|
||||
|
@ -354,7 +354,7 @@ limit_clause_opt(A) ::= LIMIT NK_INTEGER(B) OFFSET NK_INTEGER(C).
|
|||
limit_clause_opt(A) ::= LIMIT NK_INTEGER(C) NK_COMMA NK_INTEGER(B). { PARSER_TRACE; A = createLimitNode(pCxt, &B, &C); }
|
||||
|
||||
/************************************************ subquery ************************************************************/
|
||||
subquery(A) ::= NK_LP query_expression(B) NK_RP. { PARSER_TRACE; A = B; }
|
||||
subquery(A) ::= NK_LP(B) query_expression(C) NK_RP(D). { PARSER_TRACE; A = createRawExprNodeExt(pCxt, &B, &D, C); }
|
||||
|
||||
/************************************************ search_condition ****************************************************/
|
||||
search_condition(A) ::= boolean_value_expression(B). { PARSER_TRACE; A = B; }
|
||||
|
|
|
@ -1729,7 +1729,6 @@ static YYACTIONTYPE yy_reduce(
|
|||
case 57: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */
|
||||
case 70: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ yytestcase(yyruleno==70);
|
||||
case 71: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==71);
|
||||
case 123: /* subquery ::= NK_LP query_expression NK_RP */ yytestcase(yyruleno==123);
|
||||
{ PARSER_TRACE; yymsp[-2].minor.yy168 = yymsp[-1].minor.yy168; }
|
||||
break;
|
||||
case 58: /* from_clause ::= FROM table_reference_list */
|
||||
|
@ -1750,7 +1749,7 @@ static YYACTIONTYPE yy_reduce(
|
|||
yymsp[-3].minor.yy168 = yylhsminor.yy168;
|
||||
break;
|
||||
case 65: /* table_primary ::= subquery alias_opt */
|
||||
{ PARSER_TRACE; yylhsminor.yy168 = createTempTableNode(pCxt, yymsp[-1].minor.yy168, &yymsp[0].minor.yy241); }
|
||||
{ PARSER_TRACE; yylhsminor.yy168 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy168), &yymsp[0].minor.yy241); }
|
||||
yymsp[-1].minor.yy168 = yylhsminor.yy168;
|
||||
break;
|
||||
case 67: /* alias_opt ::= */
|
||||
|
@ -1907,6 +1906,10 @@ static YYACTIONTYPE yy_reduce(
|
|||
case 122: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==122);
|
||||
{ PARSER_TRACE; yymsp[-3].minor.yy168 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); }
|
||||
break;
|
||||
case 123: /* subquery ::= NK_LP query_expression NK_RP */
|
||||
{ PARSER_TRACE; yylhsminor.yy168 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy168); }
|
||||
yymsp[-2].minor.yy168 = yylhsminor.yy168;
|
||||
break;
|
||||
case 127: /* sort_specification ::= expression ordering_specification_opt null_ordering_opt */
|
||||
{ PARSER_TRACE; yylhsminor.yy168 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy168), yymsp[-1].minor.yy10, yymsp[0].minor.yy177); }
|
||||
yymsp[-2].minor.yy168 = yylhsminor.yy168;
|
||||
|
|
Loading…
Reference in New Issue