From: Peter Eisentraut on
On ons, 2010-01-06 at 14:41 +0900, Takahiro Itagaki wrote:
> Simon Riggs <simon(a)2ndQuadrant.com> wrote:
>
> > > 1. Commit your patch, as-is (you/me)
> >
> > I assume this is OK with you now?
>
> I just applied the patch with a few additional comments.

Please clean up the compiler warnings:

cluster.c: In function 'cluster_rel':
cluster.c:789: warning: 'heapScan' may be used uninitialized in this function
cluster.c:789: note: 'heapScan' was declared here
cluster.c:788: warning: 'indexScan' may be used uninitialized in this function
cluster.c:788: note: 'indexScan' was declared here



--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Simon Riggs on
On Wed, 2010-01-06 at 14:41 +0900, Takahiro Itagaki wrote:

> I just applied the patch with a few additional comments.

I just realised that this new feature *removes* any clustering that was
previously defined on a table. Many people would see that as a bug and
would say that VACUUM FULL should retain the existing clustering, if any
exists. Can't remember if that was discussed already?

ISTM that it will be slower if we do that, so it should be either an
option or just documented as the new behaviour.

--
Simon Riggs www.2ndQuadrant.com


--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

From: Heikki Linnakangas on
Simon Riggs wrote:
> On Wed, 2010-01-06 at 14:41 +0900, Takahiro Itagaki wrote:
>
>> I just applied the patch with a few additional comments.
>
> I just realised that this new feature *removes* any clustering that was
> previously defined on a table.

Hmm, that's an overstatement. If the table was in order before, it will
be in the same order after VACUUM FULL, all empty gaps and dead tuples
are just removed. It also doesn't clear the indisclustered field in
pg_index, so the next time you run CLUSTER it will cluster the table
just fine.

I'm guessing that you mean that VACUUM FULL doesn't reorder the table
like CLUSTER does. I think that's OK, it has never done that. In fact
the current situation is already an improvement, the new VACUUM FULL
doesn't reshuffle the table and destroy old ordering like the old one does.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers