summaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeTidscan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeTidscan.c')
-rw-r--r--src/backend/executor/nodeTidscan.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/backend/executor/nodeTidscan.c b/src/backend/executor/nodeTidscan.c
index a1c6325d649..ee4c0d1ea01 100644
--- a/src/backend/executor/nodeTidscan.c
+++ b/src/backend/executor/nodeTidscan.c
@@ -35,11 +35,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)
/* one element in tss_tidexprs */
typedef struct TidExpr