summaryrefslogtreecommitdiff
path: root/src/tools/pgindent
diff options
context:
space:
mode:
authorAndrew Dunstan2023-08-22 15:57:08 +0000
committerAndrew Dunstan2023-08-23 21:22:16 +0000
commit2d13dab048a7e0777875529620f81d32ce57dfd8 (patch)
tree53eb3d6dee6cd88f8f251c9468209b2ed97f2d4e /src/tools/pgindent
parentc176d97895be92ceb1454a3b7e14bffe7b7da364 (diff)
Cache by-reference missing values in a long lived context
Attribute missing values might be needed past the lifetime of the tuple descriptors from which they are extracted. To avoid possibly using pointers for by-reference values which might thus be left dangling, we cache a datumCopy'd version of the datum in the TopMemoryContext. Since we first search for the value this only needs to be done once per session for any such value. Original complaint from Tom Lane, idea for mitigation by Andrew Dunstan, tweaked by Tom Lane. Backpatch to version 11 where missing values were introduced. Discussion: https://postgr.es/m/1306569.1687978174@sss.pgh.pa.us
Diffstat (limited to 'src/tools/pgindent')
-rw-r--r--src/tools/pgindent/typedefs.list1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index c463596ea7b..e11a650b1c3 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -2910,6 +2910,7 @@ mblen_converter
mbverifier
md5_ctxt
metastring
+missing_cache_key
mix_data_t
mixedStruct
mode_t