aboutsummaryrefslogtreecommitdiff
path: root/src/backend/statistics/stat_utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/statistics/stat_utils.c')
-rw-r--r--src/backend/statistics/stat_utils.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/backend/statistics/stat_utils.c b/src/backend/statistics/stat_utils.c
index 9647f5108b3..a9a3224efe6 100644
--- a/src/backend/statistics/stat_utils.c
+++ b/src/backend/statistics/stat_utils.c
@@ -18,6 +18,7 @@
#include "access/relation.h"
#include "catalog/index.h"
+#include "catalog/namespace.h"
#include "catalog/pg_database.h"
#include "funcapi.h"
#include "miscadmin.h"
@@ -214,6 +215,27 @@ stats_lock_check_privileges(Oid reloid)
}
/*
+ * Lookup relation oid from schema and relation name.
+ */
+Oid
+stats_lookup_relid(const char *nspname, const char *relname)
+{
+ Oid nspoid;
+ Oid reloid;
+
+ nspoid = LookupExplicitNamespace(nspname, false);
+ reloid = get_relname_relid(relname, nspoid);
+ if (!OidIsValid(reloid))
+ ereport(ERROR,
+ (errcode(ERRCODE_UNDEFINED_TABLE),
+ errmsg("relation \"%s.%s\" does not exist",
+ nspname, relname)));
+
+ return reloid;
+}
+
+
+/*
* Find the argument number for the given argument name, returning -1 if not
* found.
*/