Re: An out-of-date comment in nodeIndexonlyscan.c

Поиск
Список
Период
Сортировка
От David Rowley
Тема Re: An out-of-date comment in nodeIndexonlyscan.c
Дата
Msg-id CAApHDvreE=y8p5nGEF4ur-0Yk_uXm7Nquk49JvAA+6ifce_exg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: An out-of-date comment in nodeIndexonlyscan.c  (Thomas Munro <thomas.munro@gmail.com>)
Ответы Re: An out-of-date comment in nodeIndexonlyscan.c  (Thomas Munro <thomas.munro@gmail.com>)
Список pgsql-hackers
On Mon, 14 Jun 2021 at 10:03, Thomas Munro <thomas.munro@gmail.com> wrote:
>
> On Mon, Jun 14, 2021 at 12:54 AM David Rowley <dgrowleyml@gmail.com> wrote:
> > I think a more optimal and nicer way of doing that would be setting
> > bits in a Bitmapset then checking bms_num_members is equal to
> > n_scan_keys.
>
> Shouldn't it be compared with indnkeyatts?  Yes, much nicer, thanks!

Oh yeah, I did mean that. Thanks for the correction.

Have you also thought about deferrable unique / primary key constraints?

It's possible to the uniqueness temporarily violated during a
transaction when the unique constraint is deferred,

For example:
create table t (id int primary key deferrable initially deferred);
begin;
insert into t values(1),(1);
select * from t;
 id
----
  1
  1
(2 rows)

I think you'd just need to add a check to ensure that indimmediate is
true around where you're checking the indisunique flag.

David



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

Предыдущее
От: Yugo NAGATA
Дата:
Сообщение: Re: Avoid stuck of pbgench due to skipped transactions
Следующее
От: Justin Pryzby
Дата:
Сообщение: Re: unnesting multirange data types