Re: Life cycles of tuple descriptors
Chapman Flack <chap@anastigmatix.net>
From: Chapman Flack <chap@anastigmatix.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Thomas Munro <thomas.munro@gmail.com>
Date: 2021-12-15T23:20:11Z
Lists: pgsql-hackers
On 12/15/21 17:50, Tom Lane wrote: > Here's a draft patch for this. There are several places that are > directly using DecrTupleDescRefCount after lookup_rowtype_tupdesc > or equivalent, which'd now be forbidden. I think they are all safe > given the assumption that the typcache's tupdescs for named composites > are refcounted. (The calls in expandedrecord.c could be working > with RECORD, but those code paths just checked that the tupdesc > is refcounted.) So there's no actual bug here, and no reason to > back-patch, but this seems like a good idea to decouple callers > a bit more from typcache's internal logic. I agree with the analysis at each of those sites, and the new comment clears up everything that had puzzled me before. Regards, -Chap
Commits
-
Always use ReleaseTupleDesc after lookup_rowtype_tupdesc et al.
- bbc227e951ec 15.0 landed