Re: type cache cleanup improvements
Andrei Lepikhov <lepihov@gmail.com>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Maintain RelIdToTypeIdCacheHash in TypeCacheOpcCallback()
- bb78e4267817 18.0 landed
-
Fix concurrrently in typcache_rel_type_cache.sql
- aa1e898dea66 18.0 landed
-
Avoid looping over all type cache entries in TypeCacheRelCallback()
- b85a9d046efd 18.0 landed
- c14d4acb8134 18.0 landed
-
Update header comment for lookup_type_cache()
- c1500a1ba7e1 18.0 landed
-
Revert: Avoid looping over all type cache entries in TypeCacheRelCallback()
- 8daa62a10c91 18.0 landed
-
Introduce hash_search_with_hash_value() function
- d0f020037e19 18.0 landed
-
Optimize InvalidateAttoptCacheCallback() and TypeCacheTypCallback()
- 40064a8ee1b3 18.0 landed
-
Refactor initial hash lookup in dynahash.c
- cc5ef90edd80 17.0 landed
-
Rationalize and improve error messages for some jsonpath items
- 92d2ab7554f9 17.0 cited
-
Avoid race in RelationBuildDesc() affecting CREATE INDEX CONCURRENTLY.
- fdd965d074d4 15.0 cited
-
Represent Lists as expansible arrays, not chains of cons-cells.
- 1cff1b95ab6d 13.0 cited
On 21/10/2024 06:32, Dagfinn Ilmari Mannsåker wrote: > Alexander Korotkov <aekorotkov@gmail.com> writes: > >> +static Oid *in_progress_list; >> +static int in_progress_list_len; >> +static int in_progress_list_maxlen; > > Is there any particular reason not to use pg_list.h for this? Sure. The type cache lookup has to be as much optimal as possible. Using an array and relating sequential access to it, we avoid memory allocations and deallocations 99.9% of the time. Also, quick access to the single element (which we will have in real life almost all of the time) is much faster than employing list machinery. -- regards, Andrei Lepikhov