diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-02-08 20:20:55 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-02-08 20:20:55 +0000 |
commit | c15a4c2aef3ca78a530778b735d43aa04d103ea6 (patch) | |
tree | 3106de03d9476a891c6e85cbf5dd477c8661f087 /src/backend/optimizer/path/tidpath.c | |
parent | 893678eda7de9db57beccfd2755836c1bea39112 (diff) |
Replace planner's representation of relation sets, per pghackers discussion.
Instead of Lists of integers, we now store variable-length bitmap sets.
This should be faster as well as less error-prone.
Diffstat (limited to 'src/backend/optimizer/path/tidpath.c')
-rw-r--r-- | src/backend/optimizer/path/tidpath.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/backend/optimizer/path/tidpath.c b/src/backend/optimizer/path/tidpath.c index f11ff81ea41..761f03b967c 100644 --- a/src/backend/optimizer/path/tidpath.c +++ b/src/backend/optimizer/path/tidpath.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/tidpath.c,v 1.13 2002/12/12 15:49:32 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/tidpath.c,v 1.14 2003/02/08 20:20:54 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -25,7 +25,7 @@ #include "parser/parse_coerce.h" #include "utils/lsyscache.h" -static List *TidqualFromRestrictinfo(List *relids, List *restrictinfo); +static List *TidqualFromRestrictinfo(Relids relids, List *restrictinfo); static bool isEvaluable(int varno, Node *node); static Node *TidequalClause(int varno, OpExpr *node); static List *TidqualFromExpr(int varno, Expr *expr); @@ -198,7 +198,7 @@ TidqualFromExpr(int varno, Expr *expr) } static List * -TidqualFromRestrictinfo(List *relids, List *restrictinfo) +TidqualFromRestrictinfo(Relids relids, List *restrictinfo) { List *lst, *rlst = NIL; @@ -206,9 +206,9 @@ TidqualFromRestrictinfo(List *relids, List *restrictinfo) Node *node; Expr *expr; - if (length(relids) != 1) + if (bms_membership(relids) != BMS_SINGLETON) return NIL; - varno = lfirsti(relids); + varno = bms_singleton_member(relids); foreach(lst, restrictinfo) { node = lfirst(lst); |