diff options
Diffstat (limited to 'src/backend/parser/parse_clause.c')
-rw-r--r-- | src/backend/parser/parse_clause.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c index 9bd664c4ee3..30be8335351 100644 --- a/src/backend/parser/parse_clause.c +++ b/src/backend/parser/parse_clause.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.14 1998/03/18 15:47:51 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.15 1998/03/31 04:43:53 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -313,7 +313,13 @@ transformSortClause(ParseState *pstate, { SortClause *sortcl = lfirst(s); - if (sortcl->resdom == tlelt->resdom) + /* + * We use equal() here because we are called for UNION + * from the optimizer, and at that point, the sort clause + * resdom pointers don't match the target list resdom + * pointers + */ + if (equal(sortcl->resdom, tlelt->resdom)) break; s = lnext(s); } |