Re: clarify equalTupleDescs()

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: clarify equalTupleDescs()
Дата
Msg-id 2233044.1707753598@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: clarify equalTupleDescs()  (Peter Eisentraut <peter@eisentraut.org>)
Список pgsql-hackers
Peter Eisentraut <peter@eisentraut.org> writes:
> On 06.02.24 16:14, Tom Lane wrote:
>> +1 for the general idea, but it seems like "row type equality"
>> might still be a slightly fuzzy concept.

> I did another pass across the callers to check what pg_attribute fields
> might be relevant.

> Collation definitely needs to be added, certainly for plancache.c, maybe
> for typcache.c, the other callers don't care.

+1

> Record types can have attisdropped fields, so it's probably good to
> check those.

Yeah, good idea.  (In most cases the attname comparison would catch
that, but we shouldn't rely on it.)  In a perfect world maybe a
dropped column should be invisible to this comparison, but we're
a very long way from being able to treat it that way.

> I'm suspicious about attndims.  Maybe one could create a test case where
> record types differ only in that.  Support for attndims throughout the
> system is weak, but maybe there is something to check there.

There was a discussion last year[1] about removing attndims
altogether, which still seems to me like possibly a good idea.
So I doubt we want to consider it as a core semantic field.

> On a conceptual level, I figured pg_attribute rows can be divided up
> into three categories:

> 1. "row type" stuff: attname, atttypid, atttypmod, attndims,
> attisdropped, attcollation

> 2. physical layout stuff: attlen, attcacheoff, attbyval, attalign

I recall some discussion about taking attcacheoff out of this data
structure too ...

> 3. table metadata stuff (everything else)

> It's not perfect, and sometimes it's not clear whether these categories
> inform the implementation or the other way around, but I think it helps
> conceptualize it.

Sure.

            regards, tom lane

[1] https://www.postgresql.org/message-id/flat/ZD%2B14YZ4IUue8Rhi%40gendo.asyd.net



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Nathan Bossart
Дата:
Сообщение: Re: glibc qsort() vulnerability
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: backend *.c #include cleanup (IWYU)