aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/path/predmig.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/path/predmig.c')
-rw-r--r--src/backend/optimizer/path/predmig.c52
1 files changed, 26 insertions, 26 deletions
diff --git a/src/backend/optimizer/path/predmig.c b/src/backend/optimizer/path/predmig.c
index 7b5ba49a452..807331ef1e1 100644
--- a/src/backend/optimizer/path/predmig.c
+++ b/src/backend/optimizer/path/predmig.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/predmig.c,v 1.16 1999/02/12 06:43:31 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/predmig.c,v 1.17 1999/02/12 17:24:50 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -53,13 +53,13 @@
* (not a join) iff it has
* a non-NULL cinfo field */
-static void xfunc_predmig(NestPath pathnode, Stream streamroot,
+static void xfunc_predmig(JoinPath pathnode, Stream streamroot,
Stream laststream, bool *progressp);
static bool xfunc_series_llel(Stream stream);
static bool xfunc_llel_chains(Stream root, Stream bottom);
static Stream xfunc_complete_stream(Stream stream);
static bool xfunc_prdmig_pullup(Stream origstream, Stream pullme,
- NestPath joinpath);
+ JoinPath joinpath);
static void xfunc_form_groups(Stream root, Stream bottom);
static void xfunc_free_stream(Stream root);
static Stream xfunc_add_clauses(Stream current);
@@ -91,8 +91,8 @@ xfunc_do_predmig(Path root)
do
{
progress = false;
- Assert(IsA(root, NestPath));
- xfunc_predmig((NestPath) root, (Stream) NULL, (Stream) NULL,
+ Assert(IsA(root, JoinPath));
+ xfunc_predmig((JoinPath) root, (Stream) NULL, (Stream) NULL,
&progress);
if (changed && progress)
elog(DEBUG, "Needed to do a second round of predmig!\n");
@@ -111,7 +111,7 @@ xfunc_do_predmig(Path root)
** Destructively modifies the join tree (via predicate pullup).
*/
static void
-xfunc_predmig(NestPath pathnode,/* root of the join tree */
+xfunc_predmig(JoinPath pathnode,/* root of the join tree */
Stream streamroot,
Stream laststream,/* for recursive calls -- these are the
* root of the stream under construction,
@@ -161,11 +161,11 @@ xfunc_predmig(NestPath pathnode,/* root of the join tree */
else
{
/* visit left child */
- xfunc_predmig((NestPath) get_outerjoinpath(pathnode),
+ xfunc_predmig((JoinPath) get_outerjoinpath(pathnode),
streamroot, newstream, progressp);
/* visit right child */
- xfunc_predmig((NestPath) get_innerjoinpath(pathnode),
+ xfunc_predmig((JoinPath) get_innerjoinpath(pathnode),
streamroot, newstream, progressp);
}
@@ -257,7 +257,7 @@ xfunc_llel_chains(Stream root, Stream bottom)
*/
Assert(xfunc_num_relids(pathstream) > xfunc_num_relids(tmpstream));
progress = xfunc_prdmig_pullup(origstream, tmpstream,
- (NestPath) get_pathptr(pathstream));
+ (JoinPath) get_pathptr(pathstream));
}
if (get_downstream(tmpstream))
pathstream = (Stream) xfunc_get_downjoin((Stream) get_downstream(tmpstream));
@@ -304,14 +304,14 @@ xfunc_complete_stream(Stream stream)
/*
** xfunc_prdmig_pullup
- ** pullup a clause in a path above joinpath. Since the NestPath tree
+ ** pullup a clause in a path above joinpath. Since the JoinPath tree
** doesn't have upward pointers, it's difficult to deal with. Thus we
** require the original stream, which maintains pointers to all the path
** nodes. We use the original stream to find out what joins are
** above the clause.
*/
static bool
-xfunc_prdmig_pullup(Stream origstream, Stream pullme, NestPath joinpath)
+xfunc_prdmig_pullup(Stream origstream, Stream pullme, JoinPath joinpath)
{
RestrictInfo restrictinfo = get_cinfo(pullme);
bool progress = false;
@@ -333,7 +333,7 @@ xfunc_prdmig_pullup(Stream origstream, Stream pullme, NestPath joinpath)
/* pull up this node as far as it should go */
for (upjoin = (Stream) xfunc_get_upjoin(orignode);
upjoin != (Stream) NULL
- && (NestPath) get_pathptr((Stream) xfunc_get_downjoin(upjoin))
+ && (JoinPath) get_pathptr((Stream) xfunc_get_downjoin(upjoin))
!= joinpath;
upjoin = (Stream) xfunc_get_upjoin(upjoin))
{
@@ -342,12 +342,12 @@ xfunc_prdmig_pullup(Stream origstream, Stream pullme, NestPath joinpath)
#endif
/* move clause up in path */
if (get_pathptr((Stream) get_downstream(upjoin))
- == (pathPtr) get_outerjoinpath((NestPath) get_pathptr(upjoin)))
+ == (pathPtr) get_outerjoinpath((JoinPath) get_pathptr(upjoin)))
whichchild = OUTER;
else
whichchild = INNER;
restrictinfo = xfunc_pullup((Path) get_pathptr((Stream) get_downstream(upjoin)),
- (NestPath) get_pathptr(upjoin),
+ (JoinPath) get_pathptr(upjoin),
restrictinfo,
whichchild,
get_clausetype(orignode));
@@ -366,10 +366,10 @@ xfunc_prdmig_pullup(Stream origstream, Stream pullme, NestPath joinpath)
temp = (Stream) get_downstream(temp))
set_pathptr
(temp, (pathPtr)
- get_outerjoinpath((NestPath) get_pathptr(upjoin)));
+ get_outerjoinpath((JoinPath) get_pathptr(upjoin)));
set_pathptr
(temp,
- (pathPtr) get_outerjoinpath((NestPath) get_pathptr(upjoin)));
+ (pathPtr) get_outerjoinpath((JoinPath) get_pathptr(upjoin)));
}
else
{
@@ -377,10 +377,10 @@ xfunc_prdmig_pullup(Stream origstream, Stream pullme, NestPath joinpath)
temp = (Stream) get_downstream(temp))
set_pathptr
(temp, (pathPtr)
- get_innerjoinpath((NestPath) get_pathptr(upjoin)));
+ get_innerjoinpath((JoinPath) get_pathptr(upjoin)));
set_pathptr
(temp, (pathPtr)
- get_innerjoinpath((NestPath) get_pathptr(upjoin)));
+ get_innerjoinpath((JoinPath) get_pathptr(upjoin)));
}
progress = true;
}
@@ -425,14 +425,14 @@ xfunc_form_groups(Query *queryInfo, Stream root, Stream bottom)
if (!is_clause(temp))
{
if (get_pathptr((Stream) get_downstream(temp))
- == (pathPtr) get_outerjoinpath((NestPath) get_pathptr(temp)))
+ == (pathPtr) get_outerjoinpath((JoinPath) get_pathptr(temp)))
whichchild = OUTER;
else
whichchild = INNER;
set_groupcost(temp,
- xfunc_join_expense((NestPath) get_pathptr(temp),
+ xfunc_join_expense((JoinPath) get_pathptr(temp),
whichchild));
- if (primjoin = xfunc_primary_join((NestPath) get_pathptr(temp)))
+ if (primjoin = xfunc_primary_join((JoinPath) get_pathptr(temp)))
{
set_groupsel(temp,
compute_clause_selec(queryInfo,
@@ -529,10 +529,10 @@ xfunc_add_clauses(Stream current)
}
/* and add in the join clauses */
- if (IsA(get_pathptr(current), NestPath))
+ if (IsA(get_pathptr(current), JoinPath))
{
- primjoin = xfunc_primary_join((NestPath) get_pathptr(current));
- foreach(temp, get_pathrestrictinfo((NestPath) get_pathptr(current)))
+ primjoin = xfunc_primary_join((JoinPath) get_pathptr(current));
+ foreach(temp, get_pathrestrictinfo((JoinPath) get_pathptr(current)))
{
if (!equal(get_clause((RestrictInfo) lfirst(temp)), primjoin))
topnode = xfunc_streaminsert((RestrictInfo) lfirst(temp), topnode,
@@ -615,11 +615,11 @@ xfunc_streaminsert(RestrictInfo restrictinfo,
static int
xfunc_num_relids(Stream node)
{
- if (!node || !IsA(get_pathptr(node), NestPath))
+ if (!node || !IsA(get_pathptr(node), JoinPath))
return 0;
else
return (length
- (get_relids(get_parent((NestPath) get_pathptr(node)))));
+ (get_relids(get_parent((JoinPath) get_pathptr(node)))));
}
/*