Re: [BUG] false positive in bt_index_check in case of short 4B varlena datum
От | Alexander Korotkov |
---|---|
Тема | Re: [BUG] false positive in bt_index_check in case of short 4B varlena datum |
Дата | |
Msg-id | CAPpHfdsAs-B7O2_=jGbF+BQzuW3kGSboY9CcxzEOWUgxxZCr5Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [BUG] false positive in bt_index_check in case of short 4B varlena datum (Alexander Lakhin <exclusion@gmail.com>) |
Ответы |
Re: [BUG] false positive in bt_index_check in case of short 4B varlena datum
Re: [BUG] false positive in bt_index_check in case of short 4B varlena datum |
Список | pgsql-bugs |
Hi! On Fri, Jan 26, 2024 at 9:00 AM Alexander Lakhin <exclusion@gmail.com> wrote: > > 23.01.2024 21:09, Andrey M. Borodin wrote: > > PFA draft fixes for both this errors. Alexander, Michael, Jian, what do you think? > > > > I did not touch anything in first step - fix for original bug in this thread. However, I think that comments from JianHe worth incorporating into the fix. > > > > I''m confused by a NOTICE added, as it printed now even for cases, which > worked before, for example: > CREATE TABLE t(f1 text); > CREATE INDEX idx ON t(f1); > INSERT INTO t VALUES(repeat('1234567890', 1000)); > SELECT bt_index_check('idx', true); > NOTICE: Index contain tuples that cannot fit into index page, if toasted with current toast policy > bt_index_check > ---------------- > > (1 row) Right, the patch number 0003 looks wrong to me. It uses heap_compute_data_size() to compute the size of the future index tuple. But heap_compute_data_size() doesn't apply any compression on the attributes. I suggest instead we just need to have a version of index_form_tuple() that reports an oversized tuple in a return value rather than throwing the error. BTW, 0001 and 0002 look good to me. I'm going to push them if no objections. ------ Regards, Alexander Korotkov
В списке pgsql-bugs по дате отправления: