Re: type cache cleanup improvements - Mailing list pgsql-hackers

From jian he
Subject Re: type cache cleanup improvements
Date
Msg-id CACJufxHJ7ZRMbYgmsM3S3Tcw9UxMa7hE1S_1L3V9N-pVG=Te0A@mail.gmail.com
Whole thread Raw
In response to Re: type cache cleanup improvements  (Teodor Sigaev <teodor@sigaev.ru>)
List pgsql-hackers
On Sun, Oct 13, 2024 at 8:09 PM Alexander Korotkov <aekorotkov@gmail.com> wrote:
>

hi. Alexander.
I don't fully understand all of it. but I did some tests anyway.

static void
cleanup_in_progress_typentries(void)
{
    int            i;
    if (in_progress_list_len > 1)
        elog(INFO, "%s:%d in_progress_list_len > 1", __FILE_NAME__, __LINE__);
    for (i = 0; i < in_progress_list_len; i++)
    {
        TypeCacheEntry *typentry;
        typentry = (TypeCacheEntry *) hash_search(TypeCacheHash,
                                                  &in_progress_list[i],
                                                  HASH_FIND, NULL);
        insert_rel_type_cache_if_needed(typentry);
    }
    in_progress_list_len = 0;
}

the regress still passed.
I assume "elog(INFO, " won't interfere in cleanup_in_progress_typentries.
So we lack tests for larger in_progress_list_len values or i missed something?



    /* Call check_delete_rel_type_cache() if we actually cleared something */
    if (hadTupDescOrOpclass)
        delete_rel_type_cache_if_needed(typentry);

        /*
         * Call check_delete_rel_type_cache() if we cleaned
         * TCFLAGS_HAVE_PG_TYPE_DATA flag previously.
         */
        if (hadPgTypeData)
            delete_rel_type_cache_if_needed(typentry);

check_delete_rel_type_cache don't exist, so these comments are wrong?



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Improve node type forward reference
Next
From: Benoit Lobréau
Date:
Subject: Re: Logging parallel worker draught