forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit5525e6c
committed
Fix unsafe event-trigger coding in ProcessUtility().
We mustn't run any of the event-trigger support code when handlingutility statements like START TRANSACTION or ABORT, because that codemay need to refresh event-trigger cache data, which requires beinginside a valid transaction. (This mistake explains the consistentbuild failures exhibited by the CLOBBER_CACHE_ALWAYS buildfarm members,as well as some irreproducible failures on other members.)The least messy fix seems to be to break standard_ProcessUtility into twofunctions, one that handles all the statements not supported by eventtriggers, and one that contains the event-trigger support code and handlesthe statements that are supported by event triggers.This change also fixes several inconsistencies, such as four cases wheresupport had been installed for "ddl_event_start" but not "ddl_event_end"triggers, plus the fact that InvokeDDLCommandEventTriggersIfSupported()paid no mind to isCompleteQuery.Dimitri Fontaine and Tom Lane1 parentbbb4db4 commit5525e6c
1 file changed
+569
-626
lines changed0 commit comments
Comments
(0)