Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfaf5cee

Browse files
committed
Fix another Assert issue exposed by CLOBBER_CACHE_ALWAYS.
plpgsql's exec_stmt_execsql was Assert'ing that a CachedPlanSource wasis_valid immediately after exec_prepare_plan. The risk factor in this caseis that after building the prepared statement, exec_prepare_plan callsexec_simple_check_plan, which might try to generate a generic plan --- andwith CLOBBER_CACHE_ALWAYS or other unusual causes of invalidation, thatcould result in an invalidation. However, that path could only be takenfor a SELECT query, for which we need not set mod_stmt. So in this caseI think it's best to just remove the Assert; it's okay to look at aslightly-stale querytree for what we need here. Per buildfarm testing.
1 parentc4ae968 commitfaf5cee

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

‎src/pl/plpgsql/src/pl_exec.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3027,7 +3027,6 @@ exec_stmt_execsql(PLpgSQL_execstate *estate,
30273027
CachedPlanSource*plansource= (CachedPlanSource*)lfirst(l);
30283028
ListCell*l2;
30293029

3030-
Assert(plansource->is_valid);
30313030
foreach(l2,plansource->query_list)
30323031
{
30333032
Query*q= (Query*)lfirst(l2);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp