Tom, I am glad you added this repeat()/TOAST test to the cluster
regression test. It is a nice way to test TOAST. Folks, are there
other areas where we should testing TOAST in the regression tests?
---------------------------------------------------------------------------
Tom Lane wrote:
> momjian@postgresql.org (Bruce Momjian - CVS) writes:
> > Major improvement in CLUSTER which preserves table characteristics using
> > relfilenode.
>
> This patch is still a few bricks shy of a load. In particular,
> it completely destroys TOASTed data.
>
> regression=# create table f11 (f1 int unique, f2 text);
> NOTICE: CREATE TABLE / UNIQUE will create implicit index 'f11_f1_key' for table 'f11'
> CREATE TABLE
> regression=# insert into f11 values(0, repeat('xyzzy', 100000));
> INSERT 691177 1
> regression=# select f1,length(f2) from f11;
> f1 | length
> ----+--------
> 0 | 500000
> (1 row)
>
> regression=# cluster f11_f1_key on f11;
> CLUSTER
> regression=# select f1,length(f2) from f11;
> ERROR: Relation 691181 does not exist
>
>
> As-is the patch is entirely unacceptable. Ideally we should find a way
> to move tuples into the new table without invoking the TOAST code at
> all, but I'm not sure what that will entail.
>
> regards, tom lane
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073