diff options
author | Michael Meskes <meskes@postgresql.org> | 2007-03-17 19:27:12 +0000 |
---|---|---|
committer | Michael Meskes <meskes@postgresql.org> | 2007-03-17 19:27:12 +0000 |
commit | 582e22a8c3cf5698aefe0933fe627b4223a62527 (patch) | |
tree | 614cc35864c6c8f5048fca339997a8ef9d598a70 /src | |
parent | d3e131e06269d569917ac2a005bc6b92b581612f (diff) | |
download | postgresql-582e22a8c3cf5698aefe0933fe627b4223a62527.tar.gz postgresql-582e22a8c3cf5698aefe0933fe627b4223a62527.zip |
Simplified sortby rule
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/parser/gram.y | 26 |
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; - } ; |