Re: ALTER TABLE ... SET STORAGE does not propagate to indexes - Mailing list pgsql-hackers

From Kuntal Ghosh
Subject Re: ALTER TABLE ... SET STORAGE does not propagate to indexes
Date
Msg-id CAGz5QC+M3vquvX2x0v6VdUvsdJ_5dt9LpgzwzMCDSS-peucQxw@mail.gmail.com
Whole thread Raw
In response to Re: ALTER TABLE ... SET STORAGE does not propagate to indexes  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Responses Re: ALTER TABLE ... SET STORAGE does not propagate to indexes
List pgsql-hackers
Hello Peter,

On Mon, Feb 24, 2020 at 12:59 PM Peter Eisentraut
<peter.eisentraut@2ndquadrant.com> wrote:
>
> On 2020-01-06 13:32, Peter Eisentraut wrote:
> > Attached is a patch that attempts to fix this by propagating the storage
> > change to existing indexes.  This triggers a few regression test
> > failures (going from no error to error), which I attempted to fix up,
> > but I haven't analyzed what the tests were trying to do, so it might
> > need another look.
>
> Attached is a more polished patch, with tests.

I've reproduced the issue on head. And, the patch seems to solve the
problem. The patch looks good to me. But, I've a small doubt regarding
the changes in test_decoding regression file.

diff --git a/contrib/test_decoding/sql/toast.sql
b/contrib/test_decoding/sql/toast.sql
..
-INSERT INTO toasted_several(toasted_key) VALUES(repeat('9876543210', 10000));
-SELECT pg_column_size(toasted_key) > 2^16 FROM toasted_several;
+INSERT INTO toasted_several(toasted_key) VALUES(repeat('9876543210', 269));
+SELECT pg_column_size(toasted_key) > 2^11 FROM toasted_several;

This actually tests whether we can decode "old" tuples bigger than the
max heap tuple size correctly which is around 8KB. But, the above
changes will make the tuple size around 3KB. So, it'll not be able to
test that particular scenario.Thoughts?

-- 
Thanks & Regards,
Kuntal Ghosh
EnterpriseDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Richard Guo
Date:
Subject: Re: Parallel grouping sets
Next
From: Robert Haas
Date:
Subject: Re: allow frontend use of the backend's core hashing functions