public static class SimpleQueryRecord.PartialResult.Step extends Object implements QueryRecord.PartialResult.Step, ExternalizableLite, PortableObject
Modifier and Type | Field and Description |
---|---|
protected long |
m_cMillis
The execution time in milliseconds.
|
protected List<SimpleQueryRecord.PartialResult.Step> |
m_listSubSteps
The list of child steps.
|
protected int |
m_nEfficiency
The estimated cost.
|
protected int |
m_nSizeIn
The pre-execution key set size.
|
protected int |
m_nSizeOut
The post-execution key set size.
|
protected Set<SimpleQueryRecord.PartialResult.IndexLookupRecord> |
m_setIndexLookupRecords
The set of index lookup records.
|
protected String |
m_sFilter
The filter description.
|
Constructor and Description |
---|
Step()
Default constructor (necessary for the ExternalizableLite interface).
|
Step(Filter filter)
Construct a step.
|
Step(QueryRecord.PartialResult.Step step)
Copy constructor for a Step.
|
Modifier and Type | Method and Description |
---|---|
long |
getDuration()
Get the amount of time (in ms) spent evaluating the filter or applying an index for this query plan step.
|
int |
getEfficiency()
Get the calculated cost of applying the filter as defined by
calculateEffectiveness |
String |
getFilterDescription()
Get a description of the filter that was associated with this step during its creation.
|
Set<? extends QueryRecord.PartialResult.IndexLookupRecord> |
getIndexLookupRecords()
Get the recorded information about the index lookups performed during filter evaluation as part of a query record.
|
int |
getPostFilterKeySetSize()
Get the size of the key set remaining after evaluating the filter or applying an index.
|
int |
getPreFilterKeySetSize()
Get the size of the key set prior to evaluating the filter or applying an index.
|
List<? extends QueryRecord.PartialResult.Step> |
getSteps()
Return inner nested steps, may be null if not nested.
|
protected boolean |
isMatching(QueryRecord.PartialResult.Step step)
Determine whether or not the given step is capable of being placed in one-to-one correspondence with this step.
|
protected void |
merge(QueryRecord.PartialResult.Step step)
Merge the given step with this one.
|
void |
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from the passed DataInput object.
|
void |
readExternal(PofReader in)
Restore the contents of a user type instance by reading its state using the specified PofReader object.
|
void |
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into the passed DataOutput object.
|
void |
writeExternal(PofWriter out)
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
|
protected String m_sFilter
protected int m_nEfficiency
protected int m_nSizeIn
protected int m_nSizeOut
protected long m_cMillis
protected Set<SimpleQueryRecord.PartialResult.IndexLookupRecord> m_setIndexLookupRecords
protected List<SimpleQueryRecord.PartialResult.Step> m_listSubSteps
public Step()
public Step(Filter filter)
filter
- the filterpublic Step(QueryRecord.PartialResult.Step step)
step
- the step to copypublic List<? extends QueryRecord.PartialResult.Step> getSteps()
getSteps
in interface QueryRecord.PartialResult.Step
public String getFilterDescription()
getFilterDescription
in interface QueryRecord.PartialResult.Step
public Set<? extends QueryRecord.PartialResult.IndexLookupRecord> getIndexLookupRecords()
getIndexLookupRecords
in interface QueryRecord.PartialResult.Step
QueryRecord.PartialResult.IndexLookupRecord
public int getEfficiency()
calculateEffectiveness
getEfficiency
in interface QueryRecord.PartialResult.Step
public int getPreFilterKeySetSize()
QueryRecord.PartialResult.Step.getPostFilterKeySetSize()
to calculate an actual effectiveness (reduction of the key set) for this filter step.getPreFilterKeySetSize
in interface QueryRecord.PartialResult.Step
public int getPostFilterKeySetSize()
QueryRecord.PartialResult.Step.getPreFilterKeySetSize()
to calculate an actual effectiveness (reduction of the key set) for this filter step.getPostFilterKeySetSize
in interface QueryRecord.PartialResult.Step
public long getDuration()
getDuration
in interface QueryRecord.PartialResult.Step
protected boolean isMatching(QueryRecord.PartialResult.Step step)
step
- the step to checkprotected void merge(QueryRecord.PartialResult.Step step)
step
- the step to mergepublic void readExternal(DataInput in) throws IOException
readExternal
in interface ExternalizableLite
in
- the DataInput stream to read data from in order to restore the state of this objectIOException
- if an I/O exception occursNotActiveException
- if the object is not in its initial state, and therefore cannot be deserialized intopublic void writeExternal(DataOutput out) throws IOException
writeExternal
in interface ExternalizableLite
out
- the DataOutput stream to write the state of this object toIOException
- if an I/O exception occurspublic void readExternal(PofReader in) throws IOException
readExternal
in interface PortableObject
in
- the PofReader from which to read the object's stateIOException
- if an I/O error occurspublic void writeExternal(PofWriter out) throws IOException
writeExternal
in interface PortableObject
out
- the PofWriter to which to write the object's stateIOException
- if an I/O error occurs