org.teiid.query.processor.relational
Class XMLTableNode
java.lang.Object
org.teiid.query.processor.relational.RelationalNode
org.teiid.query.processor.relational.SubqueryAwareRelationalNode
org.teiid.query.processor.relational.XMLTableNode
- All Implemented Interfaces:
- java.lang.Cloneable, BatchCollector.BatchProducer, SaxonXQueryExpression.RowProcessor
public class XMLTableNode
- extends SubqueryAwareRelationalNode
- implements SaxonXQueryExpression.RowProcessor
Handles xml table processing.
When streaming the results will be fully built and stored in a buffer
before being returned
| Methods inherited from class org.teiid.query.processor.relational.RelationalNode |
addBatchRow, addChild, close, copy, createLookupMap, getBatchSize, getBufferManager, getChildren, getClassName, getConnectionID, getContext, getDataManager, getDescriptionProperties, getElements, getEstimateNodeCardinality, getID, getNodeStatistics, getNodeString, getOutputElements, getParent, getProjectionIndexes, hasPendingRows, initialize, isBatchFull, isClosed, isLastBatch, nextBatch, nodeToString, open, projectTuple, pullBatch, setContext, setElements, setEstimateDepAccessCardinality, setEstimateDepJoinCost, setEstimateJoinCost, setEstimateNodeCardinality, setEstimateNodeSetSize, setID, setParent, terminateBatches, toString |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
XMLTableNode
public XMLTableNode(int nodeID)
closeDirect
public void closeDirect()
- Overrides:
closeDirect in class SubqueryAwareRelationalNode
reset
public void reset()
- Overrides:
reset in class SubqueryAwareRelationalNode
setTable
public void setTable(XMLTable table)
setProjectedColumns
public void setProjectedColumns(java.util.List<XMLTable.XMLColumn> projectedColumns)
clone
public XMLTableNode clone()
- Description copied from class:
RelationalNode
- All the implementation of Cloneable interface need to implement clone() method.
The plan is only clonable in the pre-execution stage, not the execution state
(things like program state, result sets, etc). It's only safe to call that method in between query processings,
in other words, it's only safe to call clone() on a plan after nextTuple() returns null,
meaning the plan has finished processing.
- Specified by:
clone in class RelationalNode
nextBatchDirect
protected TupleBatch nextBatchDirect()
throws BlockedException,
TeiidComponentException,
TeiidProcessingException
- Description copied from class:
RelationalNode
- Template method for subclasses to implement.
- Specified by:
nextBatchDirect in class RelationalNode
- Returns:
-
- Throws:
BlockedException
TeiidComponentException
TeiidProcessingException - if exception related to user input occured
hasFinalBuffer
public boolean hasFinalBuffer()
- Specified by:
hasFinalBuffer in interface BatchCollector.BatchProducer- Overrides:
hasFinalBuffer in class RelationalNode
getFinalBuffer
public TupleBuffer getFinalBuffer()
throws BlockedException,
TeiidComponentException,
TeiidProcessingException
- Description copied from class:
RelationalNode
- return the final tuple buffer or null if not available
- Specified by:
getFinalBuffer in interface BatchCollector.BatchProducer- Overrides:
getFinalBuffer in class RelationalNode
- Returns:
-
- Throws:
BlockedException
TeiidComponentException
TeiidProcessingException
processRow
public void processRow(net.sf.saxon.om.NodeInfo row)
- Specified by:
processRow in interface SaxonXQueryExpression.RowProcessor
Copyright © 2011. All Rights Reserved.