Hi, On May 12, 2026 5:30:53 AM GMT+02:00, Michael Paquier <[email protected]> wrote: >On Mon, May 11, 2026 at 04:11:41PM +0800, Chao Li wrote: >> On May 11, 2026, at 16:07, Chao Li <[email protected]> wrote: >>> In pgss_ProcessUtility(), there is this comment: >>> ``` >>> /* >>> * CAUTION: do not access the *pstmt data structure again below here. >>> * If it was a ROLLBACK or similar, that data structure may have been >>> * freed. We must copy everything we still need into local variables, >>> * which we did above. >>> * >>> * For the same reason, we can't risk restoring pstmt->queryId to its >>> * former value, which'd otherwise be a good idea. >>> */ >>> ``` >>> >>> The attached patch fixes this by saving pstmt->planOrigin, >>> following the same pattern already used for queryId, stmt_location, >>> and stmt_len. > >Yeah, you are right. This code should save the planOrigin but it does >not do so.
Seems like the code should make this clearer, by simply unsetting pstmt at the point it becomes unsafe to use? Andres
