aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer')
-rw-r--r--src/backend/optimizer/plan/createplan.c3
-rw-r--r--src/backend/optimizer/plan/initsplan.c4
-rw-r--r--src/backend/optimizer/plan/planmain.c4
-rw-r--r--src/backend/optimizer/plan/setrefs.c5
-rw-r--r--src/backend/optimizer/prep/preptlist.c6
-rw-r--r--src/backend/optimizer/util/clauses.c5
-rw-r--r--src/backend/optimizer/util/tlist.c6
-rw-r--r--src/backend/optimizer/util/var.c3
8 files changed, 22 insertions, 14 deletions
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index 970a6a5ffb7..2b53f1875fe 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.23 1998/01/15 18:59:37 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.24 1998/01/20 22:11:25 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -701,6 +701,7 @@ fix_indxqual_references(Node *clause, Path *index_path)
makeVar((Index) lfirsti(index_path->parent->relids),
1, /* func indices have one key */
((Func *) ((Expr *) clause)->oper)->functype,
+ 0,
(Index) lfirsti(index_path->parent->relids),
0);
diff --git a/src/backend/optimizer/plan/initsplan.c b/src/backend/optimizer/plan/initsplan.c
index d7edd0aaea0..cb0bd085875 100644
--- a/src/backend/optimizer/plan/initsplan.c
+++ b/src/backend/optimizer/plan/initsplan.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/initsplan.c,v 1.8 1997/09/08 21:45:19 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/initsplan.c,v 1.9 1998/01/20 22:11:27 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -116,7 +116,7 @@ add_missing_vars_to_base_rels(Query *root, List *tlist)
!rel_member(relids, root->base_relation_list_))
{
- var = makeVar(varno, -2, 26, varno, -2);
+ var = makeVar(varno, -2, 26, 0, varno, -2);
/* add it to base_relation_list_ */
result = get_base_rel(root, varno);
add_tl_element(result, var);
diff --git a/src/backend/optimizer/plan/planmain.c b/src/backend/optimizer/plan/planmain.c
index b8b99149ce5..1c59f64a4c8 100644
--- a/src/backend/optimizer/plan/planmain.c
+++ b/src/backend/optimizer/plan/planmain.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planmain.c,v 1.16 1998/01/15 18:59:44 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planmain.c,v 1.17 1998/01/20 22:11:29 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -464,7 +464,7 @@ make_groupPlan(List **tlist,
else
te->expr = (Node *) makeVar(1, resdom->resno,
resdom->restype,
- -1, resdom->resno);
+ 0, -1, resdom->resno);
}
sortplan = make_sort(sort_tlist,
diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c
index fe80a658f0a..284ac836f63 100644
--- a/src/backend/optimizer/plan/setrefs.c
+++ b/src/backend/optimizer/plan/setrefs.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.15 1998/01/15 18:59:50 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.16 1998/01/20 22:11:32 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -440,6 +440,7 @@ replace_joinvar_refs(Var *var, List *outer_tlist, List *inner_tlist)
return (makeVar(OUTER,
outer_resdom->resno,
var->vartype,
+ 0,
var->varnoold,
var->varoattno));
}
@@ -453,6 +454,7 @@ replace_joinvar_refs(Var *var, List *outer_tlist, List *inner_tlist)
return (makeVar(INNER,
inner_resdom->resno,
var->vartype,
+ 0,
var->varnoold,
var->varoattno));
}
@@ -497,6 +499,7 @@ tlist_temp_references(Oid tempid,
(Node *) makeVar(tempid,
xtl->resdom->resno,
xtl->resdom->restype,
+ 0,
tempid,
oattno));
diff --git a/src/backend/optimizer/prep/preptlist.c b/src/backend/optimizer/prep/preptlist.c
index e92fbb33322..ad2c697db5a 100644
--- a/src/backend/optimizer/prep/preptlist.c
+++ b/src/backend/optimizer/prep/preptlist.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.7 1998/01/16 23:20:09 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/preptlist.c,v 1.8 1998/01/20 22:11:34 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -114,7 +114,7 @@ preprocess_targetlist(List *tlist,
0,
1);
- var = makeVar(result_relation, -1, 27, result_relation, -1);
+ var = makeVar(result_relation, -1, 27, 0, result_relation, -1);
ctid = makeNode(TargetEntry);
ctid->resdom = resdom;
@@ -322,7 +322,7 @@ new_relation_targetlist(Oid relid, Index rt_index, NodeTag node_type)
TargetEntry *temp_list = NULL;
temp_var =
- makeVar(rt_index, attno, atttype, rt_index, attno);
+ makeVar(rt_index, attno, atttype, 0, rt_index, attno);
temp_list = MakeTLE(makeResdom(attno,
atttype,
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index eab49abb1f5..6f42df8ceb6 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.13 1997/12/22 05:42:14 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/clauses.c,v 1.14 1998/01/20 22:11:39 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -377,7 +377,8 @@ clause_relids_vars(Node *clause, List **relids, List **vars)
Var *in_list = (Var *) lfirst(vi);
if (in_list->varno == var->varno &&
- in_list->varattno == var->varattno)
+ in_list->varattno == var->varattno &&
+ in_list->varlevelsup == var->varlevelsup)
break;
}
if (vi == NIL)
diff --git a/src/backend/optimizer/util/tlist.c b/src/backend/optimizer/util/tlist.c
index aa867f4b5a3..edac3e8bf4b 100644
--- a/src/backend/optimizer/util/tlist.c
+++ b/src/backend/optimizer/util/tlist.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.8 1997/11/25 22:00:16 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/tlist.c,v 1.9 1998/01/20 22:11:41 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -108,6 +108,7 @@ add_tl_element(Rel *rel, Var *var)
Var *newvar = makeVar(var->varno,
var->varattno,
var->vartype,
+ var->varlevelsup,
var->varno,
var->varoattno);
@@ -287,7 +288,8 @@ match_varid(Var *test_var, List *tlist)
* changed to INNER/OUTER.
*/
if (tlvar->varnoold == test_var->varnoold &&
- tlvar->varoattno == test_var->varoattno)
+ tlvar->varoattno == test_var->varoattno &&
+ tlvar->varlevelsup == test_var->varlevelsup)
{
if (tlvar->vartype == type_var)
diff --git a/src/backend/optimizer/util/var.c b/src/backend/optimizer/util/var.c
index 7ba3ce5d975..e3ed305ed88 100644
--- a/src/backend/optimizer/util/var.c
+++ b/src/backend/optimizer/util/var.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/var.c,v 1.7 1997/12/22 05:42:16 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/var.c,v 1.8 1998/01/20 22:11:43 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -209,6 +209,7 @@ var_equal(Var *var1, Var *var2)
if (IsA(var1, Var) &&IsA(var2, Var) &&
(((Var *) var1)->varno == ((Var *) var2)->varno) &&
(((Var *) var1)->vartype == ((Var *) var2)->vartype) &&
+ (((Var *) var1)->varlevelsup == ((Var *) var2)->varlevelsup) &&
(((Var *) var1)->varattno == ((Var *) var2)->varattno))
{