mirror of
https://github.com/postgres/postgres.git
synced 2025-08-24 09:27:52 +03:00
Allow GROUP BY, ORDER BY, DISTINCT targets to be unknown literals,
silently resolving them to type TEXT. This is comparable to what we do when faced with UNKNOWN in CASE, UNION, and other contexts. It gets rid of this and related annoyances: select distinct f1, '' from int4_tbl; ERROR: Unable to identify an ordering operator '<' for type unknown This was discussed many moons ago, but no one got round to fixing it.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: parse_clause.h,v 1.31 2003/06/15 16:42:08 tgl Exp $
|
||||
* $Id: parse_clause.h,v 1.32 2003/06/16 02:03:38 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -20,15 +20,18 @@ extern void transformFromClause(ParseState *pstate, List *frmList);
|
||||
extern int setTargetTable(ParseState *pstate, RangeVar *relation,
|
||||
bool inh, bool alsoSource);
|
||||
extern bool interpretInhOption(InhOption inhOpt);
|
||||
|
||||
extern Node *transformWhereClause(ParseState *pstate, Node *where);
|
||||
extern List *transformGroupClause(ParseState *pstate, List *grouplist,
|
||||
List *targetlist, List *sortClause);
|
||||
extern List *transformSortClause(ParseState *pstate, List *orderlist,
|
||||
List *targetlist);
|
||||
List *targetlist, bool resolveUnknown);
|
||||
extern List *transformDistinctClause(ParseState *pstate, List *distinctlist,
|
||||
List *targetlist, List **sortClause);
|
||||
|
||||
extern List *addAllTargetsToSortList(List *sortlist, List *targetlist);
|
||||
extern List *addAllTargetsToSortList(ParseState *pstate,
|
||||
List *sortlist, List *targetlist,
|
||||
bool resolveUnknown);
|
||||
extern Index assignSortGroupRef(TargetEntry *tle, List *tlist);
|
||||
extern bool targetIsInSortList(TargetEntry *tle, List *sortList);
|
||||
|
||||
|
Reference in New Issue
Block a user