Be more paranoid about OOM in search_path cache.

Jeff Davis <jdavis@postgresql.org>

Commit: 8efa301532c8c93938e04451a74754c91b0b760d
Author: Jeff Davis <jdavis@postgresql.org>
Date: 2023-11-20T23:36:07Z
Releases: 17.0
Be more paranoid about OOM in search_path cache.

Recent commit f26c2368dc introduced a search_path cache, but left some
potential out-of-memory hazards. Simplify the code and make it safer
against OOM.

This change reintroduces one list_copy(), losing a small amount of the
performance gained in f26c2368dc. A future change may optimize away
the list_copy() again if it can be done in a safer way.

Discussion: https://postgr.es/m/e6fded24cb8a2c53d4ef069d9f69cc7baaafe9ef.camel@j-davis.com

Files

PathChange+/−
src/backend/catalog/namespace.c modified +36 −83

Discussion