aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeBitmapAnd.c
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2022-11-24 08:21:55 +0900
committerMichael Paquier <michael@paquier.xyz>2022-11-24 08:21:55 +0900
commitefc981627a723d91e86865fb363d793282e473d1 (patch)
tree24b107248bd56ed943279a30916ee5b0693d7133 /src/backend/executor/nodeBitmapAnd.c
parentcee120951427fe39a54ab800abfa2834d85b8771 (diff)
downloadpostgresql-efc981627a723d91e86865fb363d793282e473d1.tar.gz
postgresql-efc981627a723d91e86865fb363d793282e473d1.zip
Rework memory contexts in charge of HBA/ident tokenization
The list of TokenizedAuthLines generated at parsing for the HBA and ident files is now stored in a static context called tokenize_context, where only all the parsed tokens are stored. This context is created when opening the first authentication file of a HBA/ident set (hba_file or ident_file), and is cleaned up once we are done all the work around it through a new routine called free_auth_file(). One call of open_auth_file() should have one matching call of free_auth_file(), the creation and deletion of the tokenization context is controlled by the recursion depth of the tokenization. Rather than having tokenize_auth_file() return a memory context that includes all the records, the tokenization logic now creates and deletes one memory context each time this function is called. This will simplify recursive calls to this routine for the upcoming inclusion record logic. While on it, rename tokenize_inc_file() to tokenize_expand_file() as this would conflict with the upcoming patch that will add inclusion records for HBA/ident files. An '@' file has its tokens added to an existing list. Reloading HBA/indent configuration in a tight loop shows no leaks, as of one type of test done (with and without -DEXEC_BACKEND). Author: Michael Paquier Reviewed-by: Julien Rouhaud Discussion: https://postgr.es/m/Y324HvGKiWxW2yxe@paquier.xyz
Diffstat (limited to 'src/backend/executor/nodeBitmapAnd.c')
0 files changed, 0 insertions, 0 deletions