Re: [BUG] false positive in bt_index_check in case of short 4B varlena datum - Mailing list pgsql-bugs

From Alexander Korotkov
Subject Re: [BUG] false positive in bt_index_check in case of short 4B varlena datum
Date
Msg-id CAPpHfdsAs-B7O2_=jGbF+BQzuW3kGSboY9CcxzEOWUgxxZCr5Q@mail.gmail.com
Whole thread Raw
In response to Re: [BUG] false positive in bt_index_check in case of short 4B varlena datum  (Alexander Lakhin <exclusion@gmail.com>)
Responses 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  ("Andrey M. Borodin" <x4mmm@yandex-team.ru>)
List 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 by date:

Previous
From: Mingjun Yang
Date:
Subject: performance: `tuplehash_iterate` and `group by` question, very slow
Next
From: Kritika Agarwal
Date:
Subject: Re: BUG #18401: Cannot install