aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/util/relnode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/util/relnode.c')
-rw-r--r--src/backend/optimizer/util/relnode.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c
index 5a9ce44532d..22d01cef5b3 100644
--- a/src/backend/optimizer/util/relnode.c
+++ b/src/backend/optimizer/util/relnode.c
@@ -421,6 +421,19 @@ find_base_rel(PlannerInfo *root, int relid)
}
/*
+ * find_base_rel_noerr
+ * Find a base or otherrel relation entry, returning NULL if there's none
+ */
+RelOptInfo *
+find_base_rel_noerr(PlannerInfo *root, int relid)
+{
+ /* use an unsigned comparison to prevent negative array element access */
+ if ((uint32) relid < (uint32) root->simple_rel_array_size)
+ return root->simple_rel_array[relid];
+ return NULL;
+}
+
+/*
* find_base_rel_ignore_join
* Find a base or otherrel relation entry, which must already exist.
*