At Wed, 30 Mar 2022 10:06:17 +0900 (JST), Kyotaro Horiguchi <horikyota....@gmail.com> wrote in > At Tue, 29 Mar 2022 13:29:15 +0200, Erik Rijkers <e...@xs4all.nl> wrote in > > Op 29-03-2022 om 12:50 schreef Matthias van de Meent: > > > An shorter (?) reproducer might be the following, which forces any > > > value for 'a' to be toasted and thus triggering the check in > > > init_toast_snapshot regardless of value length: > > > CREATE TABLE t (a text); > > > ALTER TABLE t ALTER COLUMN a SET STORAGE EXTERNAL; > > > INSERT INTO t VALUES ('toast'); > > > BEGIN; > > > DECLARE c CURSOR FOR SELECT * FROM t; > > > FETCH ALL IN c; > > Yeah, unfortunately I tried that first and saw it didn't work. And it > still doesn't for me. With such a short text pg_detoast_datum_pakced > doesn't call detoast_attr. Actually it is VARATT_IS_1B. (@master) > > I think I'm missing something here. I'm going to examine around.
Hmm. Strange. My memory tells that I did the same thing before.. I thought that it is somewhat related to compression since repeat('x', 4096) didin't seem working at that time, but it worked this time. Maybe I was confused between extended and external.. But, in the first place the *fix* has been found to be wrong. I'm going to search for the right fix.. regards. -- Kyotaro Horiguchi NTT Open Source Software Center