summaryrefslogtreecommitdiff
path: root/src/backend/optimizer/util/keys.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/util/keys.c')
-rw-r--r--src/backend/optimizer/util/keys.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/backend/optimizer/util/keys.c b/src/backend/optimizer/util/keys.c
index c921c24c0d1..84528e7d064 100644
--- a/src/backend/optimizer/util/keys.c
+++ b/src/backend/optimizer/util/keys.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/keys.c,v 1.19 1999/02/20 18:01:02 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/util/Attic/keys.c,v 1.20 1999/05/25 16:09:56 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -54,7 +54,7 @@ static bool equal_indexkey_var(int index_key, Var *var);
*
*/
bool
-match_indexkey_operand(int indexkey, Var *operand, RelOptInfo *rel)
+match_indexkey_operand(int indexkey, Var *operand, RelOptInfo * rel)
{
if (IsA(operand, Var) &&
(lfirsti(rel->relids) == operand->varno) &&
@@ -112,7 +112,7 @@ extract_join_key(JoinKey *jk, int outer_or_inner)
*
* See the top of optimizer/path/pathkeys.c for a description of pathkeys.
* Each pathkey is ordered by its join order, so they not pre-ordered to
- * match. We must search them ourselves.
+ * match. We must search them ourselves.
*
* This gets called a lot, so it is optimized.
*/
@@ -128,31 +128,33 @@ pathkeys_match(List *keys1, List *keys2, int *better_key)
key1 != NIL && key2 != NIL;
key1 = lnext(key1), key2 = lnext(key2))
{
- List *i;
+ List *i;
if (key1_subsetof_key2)
foreach(i, lfirst(key1))
+ {
+ Var *subkey = lfirst(i);
+
+ if (!member(subkey, lfirst(key2)))
{
- Var *subkey = lfirst(i);
- if (!member(subkey, lfirst(key2)))
- {
- key1_subsetof_key2 = false;
- break;
- }
+ key1_subsetof_key2 = false;
+ break;
}
+ }
if (key2_subsetof_key1)
foreach(i, lfirst(key2))
+ {
+ Var *subkey = lfirst(i);
+
+ if (!member(subkey, lfirst(key1)))
{
- Var *subkey = lfirst(i);
- if (!member(subkey, lfirst(key1)))
- {
- key2_subsetof_key1 = false;
- break;
- }
+ key2_subsetof_key1 = false;
+ break;
}
+ }
if (!key1_subsetof_key2 && !key2_subsetof_key1)
- break; /* no need to continue comparisons. */
+ break; /* no need to continue comparisons. */
}
if (!key1_subsetof_key2 && !key2_subsetof_key1)