Class SimpleQueryRecord.PartialResult.TraceStep

All Implemented Interfaces:
ExternalizableLite, PortableObject, QueryRecord.PartialResult.RecordableStep, QueryRecord.PartialResult.Step, QueryRecord.PartialResult.TraceStep, Serializable
Enclosing class:
SimpleQueryRecord.PartialResult

public class SimpleQueryRecord.PartialResult.TraceStep extends SimpleQueryRecord.PartialResult.AbstractRecordableStep implements QueryRecord.PartialResult.TraceStep
Simple QueryRecord.PartialResult.TraceStep implementation.
See Also:
  • Constructor Details

    • TraceStep

      public TraceStep(Filter filter)
      Construct a TraceStep
      Parameters:
      filter - the step filter
  • Method Details

    • recordPostFilterKeys

      public void recordPostFilterKeys(int nSizeOut)
      Record the number of keys remaining after filter evaluation. This method may be called repeatedly on the same step instance during the scan phase of a query trace plan operation. Each call will add to the total recorded post-evaluation key set size for this step.

      During the scan phase of a query trace plan operation, each entry is evaluated against the filter individually. Each call to trace should record a key set count of 1 and a result key set count of fResult ? 1 : 0 where fResult is the result of a call to EntryFilter.evaluateEntry(Map.Entry).

      Specified by:
      recordPostFilterKeys in interface QueryRecord.PartialResult.TraceStep
      Parameters:
      nSizeOut - the number of keys remaining after filter evaluation
    • recordDuration

      public void recordDuration(long cMillisElapsed)
      Record the time spent evaluating the filter or applying an index. This method may be called repeatedly on the same step instance during the scan phase of a query trace plan operation. Calling this method repeatedly will add to the total duration recorded for this step.
      Specified by:
      recordDuration in interface QueryRecord.PartialResult.TraceStep
      Parameters:
      cMillisElapsed - the number of milliseconds spent evaluating the filter
    • ensureStep

      public QueryRecord.PartialResult.TraceStep ensureStep(Filter filter)
      Ensure an inner nested trace step for the given filter. If there is no inner nested step associated with the given filter then a new step is created.
      Specified by:
      ensureStep in interface QueryRecord.PartialResult.TraceStep
      Parameters:
      filter - the filter to associate the new step with
      Returns:
      the inner nested step associated with the given filter