diff options
| author | Vadim B. Mikheev <vadim4o@yahoo.com> | 1997-04-22 03:32:38 +0000 |
|---|---|---|
| committer | Vadim B. Mikheev <vadim4o@yahoo.com> | 1997-04-22 03:32:38 +0000 |
| commit | 051b4210e3cb3f3a9ec7cd5ab4503b48f279ab48 (patch) | |
| tree | bb7f62d9e6b675c82a95aef92cf23895e6bd2256 /src/backend/optimizer/plan/createplan.c | |
| parent | 435b9ed2f26a57e51a9f029250121fef2e8052b4 (diff) | |
| download | postgresql-051b4210e3cb3f3a9ec7cd5ab4503b48f279ab48.tar.gz | |
Fix for Hash and arrays
Diffstat (limited to 'src/backend/optimizer/plan/createplan.c')
| -rw-r--r-- | src/backend/optimizer/plan/createplan.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c index 2783e3917f..c56cc61c80 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.9 1997/03/18 18:40:05 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.10 1997/04/22 03:30:36 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -734,10 +734,16 @@ switch_outer(List *clauses) Expr *temp = NULL; List *i = NIL; Expr *clause; + Node *op; foreach(i,clauses) { clause = lfirst(i); - if(var_is_outer(get_rightop(clause))) { + op = (Node*)get_rightop(clause); + if ( IsA (op, ArrayRef) ) + op = ((ArrayRef*)op)->refexpr; + Assert ( IsA (op, Var) ); + if ( var_is_outer ((Var*)op) ) + { temp = make_clause(clause->opType, clause->oper, lcons(get_rightop(clause), lcons(get_leftop(clause), |
