Re: Why can NUMERIC columns not use deduplication?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Why can NUMERIC columns not use deduplication?
Дата
Msg-id 3379157.1642173281@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Why can NUMERIC columns not use deduplication?  (PG Doc comments form <noreply@postgresql.org>)
Список pgsql-docs
PG Doc comments form <noreply@postgresql.org> writes:
> "64.4.3. Deduplication" says:
> "numeric cannot use deduplication. Numeric display scale must be preserved
> among equal datums."

> However I don't understand this. An equal datum is an equal datum regardless
> of display scale, isn't it?

No.  For example:

regression=# select 1.0, 1.00;
 ?column? | ?column? 
----------+----------
      1.0 |     1.00
(1 row)

regression=# select 1.0 = 1.00;
 ?column? 
----------
 t
(1 row)

These values are "equal" per the datatype's equality operator,
but there are some operations (not only output) that can distinguish
them, so the index can't lump them together.

There are similar issues in some other datatypes, for example
zero and minus zero in the float types.

            regards, tom lane



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

Предыдущее
От: PG Doc comments form
Дата:
Сообщение: Why can NUMERIC columns not use deduplication?
Следующее
От: PG Doc comments form
Дата:
Сообщение: CREATE INDEX USING documentation