LATEST VERSION: 8.1.0 - CHANGELOG
Pivotal GemFire® v8.1

Using Indexes with Overflow Regions

Using Indexes with Overflow Regions

You can use indexes when querying on overflow regions; however, there are caveats.

The following are caveats for querying overflow regions:

  • You must use synchronous index maintenance for the region. This is the default maintenance setting.
  • The index FROM clause must specify only one iterator, and it must refer to the keys or entry values. The index cannot refer to the region’s entrySet.
  • The index data itself is not stored on (overflowed to) disk .

Examples:

The following example index creation calls DO NOT work for overflow regions.
// This index will not work on an overflow region because there are two iterators in the FROM clause.
createIndex("secIdIndex", "b.secId","/portfolios pf, pf.positions.values b");

// This index will not work on an overflow region because the FROM clause specifies the entrySet
createIndex("indx1", "entries.value.getID", "/exampleRegion.entrySet() entries");
The following example indexes will work for overflow regions.
createIndex("pkidIndex", "p.pkid", "/Portfolios p");

createIndex("indx1", "ks.toString", "/portfolio.keys() ks");
The same working examples in gfsh:
gfsh> create index -name="pkidIndex" --expression="p.pkid" --region="/Portfolios p"

gfsh> create index -name="indx1" --expression="ks.toString" --region="/portfolio.keys() ks"