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

Reply via email to