.\" XXX standard disclaimer belongs here....
.\" $Header: /private/postgres/ref/postquel/RCS/cluster,v 1.6 1992/07/14 05:54:17 ptong Exp $
.SP CLUSTER COMMANDS 6/14/90
.XA 2 Cluster
.uh NAME
.lp
cluster \*- give storage clustering advice to \*(PP
.uh SYNOPSIS
.lp
.(l
\fBcluster\fR classname \fBon\fR attname [\fBusing\fR operator ]
.)l
.uh DESCRIPTION
.lp
This command instructs \*(PP to keep the class specified by
.i classname
approximately sorted on
.i attname
using the specified operator
to determine the sort order.
The operator must be a binary operator
and both operands must be of type
.i attname
and the operator
must produce a result
of type boolean.  If no operator is specified, then
.q <
is used by default.
.lp
A class can be reclustered at any time on a different
.i attribute
and/or with a different operator.  
.lp
\*(PP will try to keep the heap data structure which stores the
instances of this class approximately in sorted order.  If the user
specifies an operator which does not define a linear ordering, this
command will produce unpredictable orderings.
.lp
Also, if there is no index for the clustering attribute,
then this command will have no effect.
.uh EXAMPLE
.lp
.nf
.ft C
/* cluster employees in salary order */

cluster emp on salary
.ft
.fi
.uh BUGS
.lp
Cluster has no effect in Version \*(PV.
