aboutsummaryrefslogtreecommitdiff
path: root/src/include/parser/parse_clause.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-07-31 22:47:56 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-07-31 22:47:56 +0000
commit63247bec284a935b3145d5302c834967049e5dea (patch)
tree5ec4c97c2b144ee82e67d53f407818083f581b87 /src/include/parser/parse_clause.h
parentb1fb3b2a7f0eec20502e4e7309ff52fc0288434a (diff)
downloadpostgresql-63247bec284a935b3145d5302c834967049e5dea.tar.gz
postgresql-63247bec284a935b3145d5302c834967049e5dea.zip
Fix parser so that we don't modify the user-written ORDER BY list in order
to represent DISTINCT or DISTINCT ON. This gets rid of a longstanding annoyance that a view or rule using SELECT DISTINCT will be dumped out with an overspecified ORDER BY list, and is one small step along the way to decoupling DISTINCT and ORDER BY enough so that hash-based implementation of DISTINCT will be possible. In passing, improve transformDistinctClause so that it doesn't reject duplicate DISTINCT ON items, as was reported by Steve Midgley a couple weeks ago.
Diffstat (limited to 'src/include/parser/parse_clause.h')
-rw-r--r--src/include/parser/parse_clause.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/include/parser/parse_clause.h b/src/include/parser/parse_clause.h
index f2a6bf01ba8..6fc357522e7 100644
--- a/src/include/parser/parse_clause.h
+++ b/src/include/parser/parse_clause.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/parser/parse_clause.h,v 1.49 2008/01/01 19:45:58 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/parser/parse_clause.h,v 1.50 2008/07/31 22:47:56 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -31,11 +31,8 @@ extern List *transformGroupClause(ParseState *pstate, List *grouplist,
extern List *transformSortClause(ParseState *pstate, List *orderlist,
List **targetlist, bool resolveUnknown);
extern List *transformDistinctClause(ParseState *pstate, List *distinctlist,
- List **targetlist, List **sortClause);
+ List **targetlist, List *sortClause);
-extern List *addAllTargetsToSortList(ParseState *pstate,
- List *sortlist, List *targetlist,
- bool resolveUnknown);
extern List *addTargetToSortList(ParseState *pstate, TargetEntry *tle,
List *sortlist, List *targetlist,
SortByDir sortby_dir, SortByNulls sortby_nulls,