.\" XXX standard disclaimer belongs here....
.\" $Header: RCS/cluster,v 1.3 91/08/15 01:44:29 kemnitz Exp $
.SP CLUSTER COMMANDS 6/14/90
.XA 2 Cluster
.uh NAME
.lp
cluster \*- give storage clustering advice to \*(PP
.uh SYNOPSIS
.lp
.b cluster
classname
.b on
attname [
.b using
operator ]
.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
/* cluster employees in salary order */
.sp
   cluster emp on salary
.fi
.uh BUGS
.lp
Cluster has no effect in Version 3.
