summaryrefslogtreecommitdiff
path: root/src/backend/nodes/copyfuncs.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1999-02-09 03:51:42 +0000
committerBruce Momjian <bruce@momjian.us>1999-02-09 03:51:42 +0000
commitfe35ffe7e01a3607a3542bf1c638e7d4457fc4c9 (patch)
tree5bbb9d49a4089c493d54edddc1c062a34b2e4581 /src/backend/nodes/copyfuncs.c
parentbe948af2e81d44290a15a0b8614fdd209924f698 (diff)
Major optimizer improvement for joining a large number of tables.
Diffstat (limited to 'src/backend/nodes/copyfuncs.c')
-rw-r--r--src/backend/nodes/copyfuncs.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c
index 52ea65abfe1..23f9e424d14 100644
--- a/src/backend/nodes/copyfuncs.c
+++ b/src/backend/nodes/copyfuncs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.63 1999/02/08 04:29:03 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.64 1999/02/09 03:51:12 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1093,25 +1093,26 @@ CopyPathFields(Path *from, Path *newnode)
newnode->path_cost = from->path_cost;
- newnode->path_order.ordtype = from->path_order.ordtype;
- if (from->path_order.ordtype == SORTOP_ORDER)
+ newnode->path_order = makeNode(PathOrder);
+ newnode->path_order->ordtype = from->path_order->ordtype;
+ if (from->path_order->ordtype == SORTOP_ORDER)
{
int len,
i;
- Oid *ordering = from->path_order.ord.sortop;
+ Oid *ordering = from->path_order->ord.sortop;
if (ordering)
{
for (len = 0; ordering[len] != 0; len++)
;
- newnode->path_order.ord.sortop = (Oid *) palloc(sizeof(Oid) * (len + 1));
+ newnode->path_order->ord.sortop = (Oid *) palloc(sizeof(Oid) * (len + 1));
for (i = 0; i < len; i++)
- newnode->path_order.ord.sortop[i] = ordering[i];
- newnode->path_order.ord.sortop[len] = 0;
+ newnode->path_order->ord.sortop[i] = ordering[i];
+ newnode->path_order->ord.sortop[len] = 0;
}
}
else
- Node_Copy(from, newnode, path_order.ord.merge);
+ Node_Copy(from, newnode, path_order->ord.merge);
Node_Copy(from, newnode, keys);