mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-17 19:30:00 +08:00
Yawn ... still another place not quite ready for zero-column tables.
This commit is contained in:
parent
fda15b351a
commit
3a0d95d181
@ -14,7 +14,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/optimizer/prep/prepunion.c,v 1.109 2004/04/07 18:17:25 tgl Exp $
|
* $PostgreSQL: pgsql/src/backend/optimizer/prep/prepunion.c,v 1.110 2004/05/11 22:43:55 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -264,8 +264,11 @@ generate_union_plan(SetOperationStmt *op, Query *parse,
|
|||||||
List *sortList;
|
List *sortList;
|
||||||
|
|
||||||
sortList = addAllTargetsToSortList(NULL, NIL, tlist, false);
|
sortList = addAllTargetsToSortList(NULL, NIL, tlist, false);
|
||||||
plan = (Plan *) make_sort_from_sortclauses(parse, sortList, plan);
|
if (sortList)
|
||||||
plan = (Plan *) make_unique(plan, sortList);
|
{
|
||||||
|
plan = (Plan *) make_sort_from_sortclauses(parse, sortList, plan);
|
||||||
|
plan = (Plan *) make_unique(plan, sortList);
|
||||||
|
}
|
||||||
*sortClauses = sortList;
|
*sortClauses = sortList;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -324,6 +327,13 @@ generate_nonunion_plan(SetOperationStmt *op, Query *parse,
|
|||||||
* correct output.
|
* correct output.
|
||||||
*/
|
*/
|
||||||
sortList = addAllTargetsToSortList(NULL, NIL, tlist, false);
|
sortList = addAllTargetsToSortList(NULL, NIL, tlist, false);
|
||||||
|
|
||||||
|
if (sortList == NIL) /* nothing to sort on? */
|
||||||
|
{
|
||||||
|
*sortClauses = NIL;
|
||||||
|
return plan;
|
||||||
|
}
|
||||||
|
|
||||||
plan = (Plan *) make_sort_from_sortclauses(parse, sortList, plan);
|
plan = (Plan *) make_sort_from_sortclauses(parse, sortList, plan);
|
||||||
switch (op->op)
|
switch (op->op)
|
||||||
{
|
{
|
||||||
@ -519,9 +529,9 @@ generate_append_tlist(List *colTypes, bool flag,
|
|||||||
* First extract typmods to use.
|
* First extract typmods to use.
|
||||||
*
|
*
|
||||||
* If the inputs all agree on type and typmod of a particular column, use
|
* If the inputs all agree on type and typmod of a particular column, use
|
||||||
* that typmod; else use -1.
|
* that typmod; else use -1. (+1 here in case of zero columns.)
|
||||||
*/
|
*/
|
||||||
colTypmods = (int32 *) palloc(length(colTypes) * sizeof(int32));
|
colTypmods = (int32 *) palloc(length(colTypes) * sizeof(int32) + 1);
|
||||||
|
|
||||||
foreach(planl, input_plans)
|
foreach(planl, input_plans)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user