Changeset: 3d5e49c5d48d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3d5e49c5d48d
Modified Files:
sql/server/sql_parser.y
Branch: default
Log Message:
Only support subquery with limit/order by for table-returning subqueries.
diffs (48 lines):
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -193,6 +193,7 @@ int yydebug=1;
select_no_parens
select_no_parens_orderby
subquery
+ subquery_with_orderby
test_for_null
values_or_query_spec
grant
@@ -3164,7 +3165,7 @@ table_ref:
append_symbol(l, $3);
append_int(l, 1);
$$ = _symbol_create_list(SQL_TABLE, l); }
- | subquery table_name
+ | subquery_with_orderby table_name
{
$$ = $1;
if ($$->token == SQL_SELECT) {
@@ -3186,7 +3187,7 @@ table_ref:
append_int($2->data.lval, 1);
}
}
- | subquery
+ | subquery_with_orderby
{ $$ = NULL;
yyerror(m, "subquery table reference needs
alias, use AS xxx");
YYABORT;
@@ -3536,8 +3537,17 @@ filter_exp:
$$ = _symbol_create_list(SQL_FILTER, l ); }
;
+
+subquery_with_orderby:
+ '(' select_no_parens_orderby ')' { $$ = $2; }
+ | '(' VALUES row_commalist ')'
+ { $$ = _symbol_create_list( SQL_VALUES, $3); }
+ | '(' with_query ')'
+ { $$ = $2; }
+ ;
+
subquery:
- '(' select_no_parens_orderby ')' { $$ = $2; }
+ '(' select_no_parens ')' { $$ = $2; }
| '(' VALUES row_commalist ')'
{ $$ = _symbol_create_list( SQL_VALUES, $3); }
| '(' with_query ')'
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list