Re: Injection points: preloading and runtime arguments
От | Heikki Linnakangas |
---|---|
Тема | Re: Injection points: preloading and runtime arguments |
Дата | |
Msg-id | 58d588d0-e63f-432f-9181-bed29313dece@iki.fi обсуждение исходный текст |
Ответ на | Re: Injection points: preloading and runtime arguments (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: Injection points: preloading and runtime arguments
|
Список | pgsql-hackers |
On 05/07/2024 12:16, Michael Paquier wrote: > On Mon, Jun 10, 2024 at 03:10:33PM +0900, Michael Paquier wrote: >> OK, cool. I'll try to get that into the tree once v18 opens up. > > And I've spent more time on this one, and applied it to v18 after some > slight tweaks. If you do: INJECTION_POINT_LOAD(foo); START_CRIT_SECTION(); INJECTION_POINT(foo); END_CRIT_SECTION(); And the injection point is attached in between the INJECTION_POINT_LOAD() and INJECTION_POINT() calls, you will still get an assertion failure. For a testing facility, maybe that's acceptable, but it could be fixed pretty easily. I propose we introduce an INJECTION_POINT_CACHED(name) macro that *only* uses the local cache. We could then also add an assertion in InjectionPointRun() to check that it's not used in a critical section, to enforce correct usage. -- Heikki Linnakangas Neon (https://neon.tech)
В списке pgsql-hackers по дате отправления: