locationtech/geomesa — pull request #62 by ronq (2014-06-17 14:58:32+00:00)
Title: GEOMESA-101,GEOMESA-130 Performance Enhancements to Iterator Stack For Simple Queries

GEOMMESA-101 Optimize geometry only queries in iterator
Add an IndexIterator to the iterator stack which is run in place of the SpatioTemporalIntersectingIterator AND the SimpleFeatureFilteringIterator.

The trigger for this action is a query which satisfies the following:
1) Defines a transform which projects ONLY the geometry and temporal attributes used in the GeoMesa index
2) Filters on only the geometry and temporal attributes, and can be distilled into the selection of a polygon and interval.
3) The Density Key in the Query is not set.

If the above requirements are met, the IndexIterator is run and a message indicating such is logged.

GEOMESA-130 Refactor SimpleFeatureFilteringIterator to skip decoding when the ECQL is Filter.INCLUDE
Add logic to IndexQueryPlanner that removes the SimpleFeatureFilteringIterator from the Iterator stack if:
1) No transform is defined.
2) The filter is defined on only the geometry and temporal attributes, and can be distilled into the selection of a polygon and interval.
3) The DensityIterator is not selected via setting of the DENSITY key in the Query.