mirror of
https://github.com/postgres/postgres.git
synced 2025-10-19 15:49:24 +03:00
Rename OverrideSearchPath to SearchPathMatcher.
The previous commit removed the "override" APIs. Surviving APIs facilitate plancache.c to snapshot search_path and test whether the current value equals a remembered snapshot. Aleksander Alekseev. Reported by Alexander Lakhin and Noah Misch. Discussion: https://postgr.es/m/8ffb4650-52c4-6a81-38fc-8f99be981130@gmail.com
This commit is contained in:
12
src/backend/utils/cache/plancache.c
vendored
12
src/backend/utils/cache/plancache.c
vendored
@@ -407,7 +407,7 @@ CompleteCachedPlan(CachedPlanSource *plansource,
|
||||
* one-shot plans; and we *must* skip this for transaction control
|
||||
* commands, because this could result in catalog accesses.
|
||||
*/
|
||||
plansource->search_path = GetOverrideSearchPath(querytree_context);
|
||||
plansource->search_path = GetSearchPathMatcher(querytree_context);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -586,7 +586,7 @@ RevalidateCachedQuery(CachedPlanSource *plansource,
|
||||
if (plansource->is_valid)
|
||||
{
|
||||
Assert(plansource->search_path != NULL);
|
||||
if (!OverrideSearchPathMatchesCurrent(plansource->search_path))
|
||||
if (!SearchPathMatchesCurrentEnvironment(plansource->search_path))
|
||||
{
|
||||
/* Invalidate the querytree and generic plan */
|
||||
plansource->is_valid = false;
|
||||
@@ -759,7 +759,7 @@ RevalidateCachedQuery(CachedPlanSource *plansource,
|
||||
* not generate much extra cruft either, since almost certainly the path
|
||||
* is already valid.)
|
||||
*/
|
||||
plansource->search_path = GetOverrideSearchPath(querytree_context);
|
||||
plansource->search_path = GetSearchPathMatcher(querytree_context);
|
||||
|
||||
MemoryContextSwitchTo(oldcxt);
|
||||
|
||||
@@ -1326,7 +1326,7 @@ CachedPlanAllowsSimpleValidityCheck(CachedPlanSource *plansource,
|
||||
Assert(plan->is_valid);
|
||||
Assert(plan == plansource->gplan);
|
||||
Assert(plansource->search_path != NULL);
|
||||
Assert(OverrideSearchPathMatchesCurrent(plansource->search_path));
|
||||
Assert(SearchPathMatchesCurrentEnvironment(plansource->search_path));
|
||||
|
||||
/* We don't support oneshot plans here. */
|
||||
if (plansource->is_oneshot)
|
||||
@@ -1449,7 +1449,7 @@ CachedPlanIsSimplyValid(CachedPlanSource *plansource, CachedPlan *plan,
|
||||
|
||||
/* Is the search_path still the same as when we made it? */
|
||||
Assert(plansource->search_path != NULL);
|
||||
if (!OverrideSearchPathMatchesCurrent(plansource->search_path))
|
||||
if (!SearchPathMatchesCurrentEnvironment(plansource->search_path))
|
||||
return false;
|
||||
|
||||
/* It's still good. Bump refcount if requested. */
|
||||
@@ -1565,7 +1565,7 @@ CopyCachedPlan(CachedPlanSource *plansource)
|
||||
newsource->relationOids = copyObject(plansource->relationOids);
|
||||
newsource->invalItems = copyObject(plansource->invalItems);
|
||||
if (plansource->search_path)
|
||||
newsource->search_path = CopyOverrideSearchPath(plansource->search_path);
|
||||
newsource->search_path = CopySearchPathMatcher(plansource->search_path);
|
||||
newsource->query_context = querytree_context;
|
||||
newsource->rewriteRoleId = plansource->rewriteRoleId;
|
||||
newsource->rewriteRowSecurity = plansource->rewriteRowSecurity;
|
||||
|
Reference in New Issue
Block a user