diff options
Diffstat (limited to 'src/backend/statistics/stat_utils.c')
-rw-r--r-- | src/backend/statistics/stat_utils.c | 22 |
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. */ |