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) ::= 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) ::= 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; }
|
table_primary(A) ::= parenthesized_joined_table(B). { PARSER_TRACE; A = B; }
|
||||||
|
|
||||||
%type alias_opt { SToken }
|
%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); }
|
limit_clause_opt(A) ::= LIMIT NK_INTEGER(C) NK_COMMA NK_INTEGER(B). { PARSER_TRACE; A = createLimitNode(pCxt, &B, &C); }
|
||||||
|
|
||||||
/************************************************ subquery ************************************************************/
|
/************************************************ 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 ****************************************************/
|
||||||
search_condition(A) ::= boolean_value_expression(B). { PARSER_TRACE; A = B; }
|
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 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 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 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; }
|
{ PARSER_TRACE; yymsp[-2].minor.yy168 = yymsp[-1].minor.yy168; }
|
||||||
break;
|
break;
|
||||||
case 58: /* from_clause ::= FROM table_reference_list */
|
case 58: /* from_clause ::= FROM table_reference_list */
|
||||||
|
@ -1750,7 +1749,7 @@ static YYACTIONTYPE yy_reduce(
|
||||||
yymsp[-3].minor.yy168 = yylhsminor.yy168;
|
yymsp[-3].minor.yy168 = yylhsminor.yy168;
|
||||||
break;
|
break;
|
||||||
case 65: /* table_primary ::= subquery alias_opt */
|
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;
|
yymsp[-1].minor.yy168 = yylhsminor.yy168;
|
||||||
break;
|
break;
|
||||||
case 67: /* alias_opt ::= */
|
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);
|
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); }
|
{ PARSER_TRACE; yymsp[-3].minor.yy168 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); }
|
||||||
break;
|
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 */
|
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); }
|
{ 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;
|
yymsp[-2].minor.yy168 = yylhsminor.yy168;
|
||||||
|
|
Loading…
Reference in New Issue