diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-02-09 03:51:42 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-02-09 03:51:42 +0000 |
commit | fe35ffe7e01a3607a3542bf1c638e7d4457fc4c9 (patch) | |
tree | 5bbb9d49a4089c493d54edddc1c062a34b2e4581 /src/backend/optimizer/path/mergeutils.c | |
parent | be948af2e81d44290a15a0b8614fdd209924f698 (diff) | |
download | postgresql-fe35ffe7e01a3607a3542bf1c638e7d4457fc4c9.tar.gz postgresql-fe35ffe7e01a3607a3542bf1c638e7d4457fc4c9.zip |
Major optimizer improvement for joining a large number of tables.
Diffstat (limited to 'src/backend/optimizer/path/mergeutils.c')
-rw-r--r-- | src/backend/optimizer/path/mergeutils.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/backend/optimizer/path/mergeutils.c b/src/backend/optimizer/path/mergeutils.c index d4d20dd5495..70c230aef3a 100644 --- a/src/backend/optimizer/path/mergeutils.c +++ b/src/backend/optimizer/path/mergeutils.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/mergeutils.c,v 1.14 1999/02/08 04:29:12 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/mergeutils.c,v 1.15 1999/02/09 03:51:20 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -52,16 +52,17 @@ group_clauses_by_order(List *restrictinfo_list, * Create a new mergeinfo node and add it to 'mergeinfo-list' * if one does not yet exist for this merge ordering. */ - PathOrder path_order; - MergeInfo *xmergeinfo; + PathOrder *path_order; + MergeInfo *xmergeinfo; Expr *clause = restrictinfo->clause; Var *leftop = get_leftop(clause); Var *rightop = get_rightop(clause); JoinKey *keys; - path_order.ordtype = MERGE_ORDER; - path_order.ord.merge = merge_ordering; - xmergeinfo = match_order_mergeinfo(&path_order, mergeinfo_list); + path_order = makeNode(PathOrder); + path_order->ordtype = MERGE_ORDER; + path_order->ord.merge = merge_ordering; + xmergeinfo = match_order_mergeinfo(path_order, mergeinfo_list); if (inner_relid == leftop->varno) { keys = makeNode(JoinKey); |