aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2007-03-17 19:27:12 +0000
committerMichael Meskes <meskes@postgresql.org>2007-03-17 19:27:12 +0000
commit582e22a8c3cf5698aefe0933fe627b4223a62527 (patch)
tree614cc35864c6c8f5048fca339997a8ef9d598a70 /src
parentd3e131e06269d569917ac2a005bc6b92b581612f (diff)
downloadpostgresql-582e22a8c3cf5698aefe0933fe627b4223a62527.tar.gz
postgresql-582e22a8c3cf5698aefe0933fe627b4223a62527.zip
Simplified sortby rule
Diffstat (limited to 'src')
-rw-r--r--src/backend/parser/gram.y26
1 files changed, 5 insertions, 21 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 1ce71700405..22d03f0b234 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.581 2007/03/13 00:33:41 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.582 2007/03/17 19:27:12 meskes Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -3869,8 +3869,8 @@ opt_class: any_name { $$ = $1; }
;
opt_asc_desc: ASC { $$ = SORTBY_ASC; }
- | DESC { $$ = SORTBY_DESC; }
- | /*EMPTY*/ { $$ = SORTBY_DEFAULT; }
+ | DESC { $$ = SORTBY_DESC; }
+ | /*EMPTY*/ { $$ = SORTBY_DEFAULT; }
;
opt_nulls_order: NULLS_FIRST { $$ = SORTBY_NULLS_FIRST; }
@@ -5982,30 +5982,14 @@ sortby: a_expr USING qual_all_Op opt_nulls_order
$$->sortby_nulls = $4;
$$->useOp = $3;
}
- | a_expr ASC opt_nulls_order
+ | a_expr opt_asc_desc opt_nulls_order
{
$$ = makeNode(SortBy);
$$->node = $1;
- $$->sortby_dir = SORTBY_ASC;
+ $$->sortby_dir = $2;
$$->sortby_nulls = $3;
$$->useOp = NIL;
}
- | a_expr DESC opt_nulls_order
- {
- $$ = makeNode(SortBy);
- $$->node = $1;
- $$->sortby_dir = SORTBY_DESC;
- $$->sortby_nulls = $3;
- $$->useOp = NIL;
- }
- | a_expr opt_nulls_order
- {
- $$ = makeNode(SortBy);
- $$->node = $1;
- $$->sortby_dir = SORTBY_DEFAULT;
- $$->sortby_nulls = $2;
- $$->useOp = NIL;
- }
;