diff options
Diffstat (limited to 'src/backend/executor/nodeTidrangescan.c')
-rw-r--r-- | src/backend/executor/nodeTidrangescan.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/backend/executor/nodeTidrangescan.c b/src/backend/executor/nodeTidrangescan.c index d5bf1be787f..0455819e73c 100644 --- a/src/backend/executor/nodeTidrangescan.c +++ b/src/backend/executor/nodeTidrangescan.c @@ -25,11 +25,16 @@ #include "utils/rel.h" +/* + * It's sufficient to check varattno to identify the CTID variable, as any + * Var in the relation scan qual must be for our table. (Even if it's a + * parameterized scan referencing some other table's CTID, the other table's + * Var would have become a Param by the time it gets here.) + */ #define IsCTIDVar(node) \ ((node) != NULL && \ IsA((node), Var) && \ - ((Var *) (node))->varattno == SelfItemPointerAttributeNumber && \ - ((Var *) (node))->varlevelsup == 0) + ((Var *) (node))->varattno == SelfItemPointerAttributeNumber) typedef enum { |