FUNCTIONAL

The index type of a functional index.
A functional index is used for the comparison of some function
of a region value with a constant, using a relational operator.
The indexedExpression yields a value that is a Comparable. The "constant"
that it is to be compared to is any expression that is not dependent
on a value in the region. A simple example is an index on the
indexedExpression "age". This would be used for a query that has the
where clause "age < 55".

The indexedExpression for a functional index can be any Comparable
or any of the following primitive types:long int short byte char float double

PRIMARY_KEY

The index type of a primary key index. A primary key index uses the
keys in the region itself. By creating a primary key index, you make
the query service aware of the relationship between the values in the
region and the keys in the region and enable the relationship to be
used to optimize the execution of queries. For example, if the values
in a region are employee objects and the keys in the region is the
attribute empId on those employees, then you can create a primary key
index on that region with the indexedExpression "empId".

The type of the indexedExpression for a primary key index can be any
object type. Just as in a Region, the lookup is based on the implementation
of the equals and hashCode methods in the
object.