Class SaxonXMLTableNode

  • All Implemented Interfaces:
    Cloneable, org.teiid.query.processor.BatchCollector.BatchProducer

    public class SaxonXMLTableNode
    extends org.teiid.query.processor.relational.SubqueryAwareRelationalNode
    Handles xml table processing. When streaming the results will be fully built and stored in a buffer before being returned
    • Field Summary

      • Fields inherited from class org.teiid.query.processor.relational.RelationalNode

        childCount
    • Constructor Summary

      Constructors 
      Constructor Description
      SaxonXMLTableNode​(int nodeID)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      SaxonXMLTableNode clone()  
      void closeDirect()  
      org.teiid.client.plan.PlanNode getDescriptionProperties()  
      Collection<? extends org.teiid.query.sql.LanguageObject> getObjects()  
      static Object getValue​(Class<?> type, net.sf.saxon.om.Item colItem, net.sf.saxon.Configuration config, org.teiid.query.util.CommandContext context)  
      protected org.teiid.common.buffer.TupleBatch nextBatchDirect()  
      void open()  
      void processRow​(net.sf.saxon.om.NodeInfo row)  
      void reset()  
      void setProjectedColumns​(List<org.teiid.query.sql.lang.XMLTable.XMLColumn> projectedColumns)  
      void setTable​(org.teiid.query.sql.lang.XMLTable table)  
      • Methods inherited from class org.teiid.query.processor.relational.SubqueryAwareRelationalNode

        getEvaluator, requiresTransaction, requiresTransaction, setReferenceValues
      • Methods inherited from class org.teiid.query.processor.relational.RelationalNode

        addBatchRow, addChild, close, copyTo, createLookupMap, getBatchSize, getBuffer, getBufferDirect, getBufferManager, getChildCount, getChildren, getClassName, getConnectionID, getContext, getDataManager, getElements, getEstimateNodeCardinality, getID, getNodeStatistics, getNodeString, getOutputElements, getParent, getProjectionIndexes, hasBuffer, hasPendingRows, initialize, isBatchFull, isClosed, isLastBatch, nextBatch, nodeToString, projectTuple, projectTuple, pullBatch, setContext, setElements, setEstimateDepAccessCardinality, setEstimateDepJoinCost, setEstimateJoinCost, setEstimateNodeCardinality, setEstimateNodeSetSize, setID, setParent, terminateBatches, toString, unwrapException
    • Constructor Detail

      • SaxonXMLTableNode

        public SaxonXMLTableNode​(int nodeID)
    • Method Detail

      • closeDirect

        public void closeDirect()
        Overrides:
        closeDirect in class org.teiid.query.processor.relational.SubqueryAwareRelationalNode
      • reset

        public void reset()
        Overrides:
        reset in class org.teiid.query.processor.relational.SubqueryAwareRelationalNode
      • setTable

        public void setTable​(org.teiid.query.sql.lang.XMLTable table)
      • setProjectedColumns

        public void setProjectedColumns​(List<org.teiid.query.sql.lang.XMLTable.XMLColumn> projectedColumns)
      • clone

        public SaxonXMLTableNode clone()
        Specified by:
        clone in class org.teiid.query.processor.relational.RelationalNode
      • open

        public void open()
                  throws org.teiid.core.TeiidComponentException,
                         org.teiid.core.TeiidProcessingException
        Overrides:
        open in class org.teiid.query.processor.relational.RelationalNode
        Throws:
        org.teiid.core.TeiidComponentException
        org.teiid.core.TeiidProcessingException
      • nextBatchDirect

        protected org.teiid.common.buffer.TupleBatch nextBatchDirect()
                                                              throws org.teiid.common.buffer.BlockedException,
                                                                     org.teiid.core.TeiidComponentException,
                                                                     org.teiid.core.TeiidProcessingException
        Specified by:
        nextBatchDirect in class org.teiid.query.processor.relational.RelationalNode
        Throws:
        org.teiid.common.buffer.BlockedException
        org.teiid.core.TeiidComponentException
        org.teiid.core.TeiidProcessingException
      • getValue

        public static Object getValue​(Class<?> type,
                                      net.sf.saxon.om.Item colItem,
                                      net.sf.saxon.Configuration config,
                                      org.teiid.query.util.CommandContext context)
                               throws net.sf.saxon.trans.XPathException,
                                      net.sf.saxon.type.ValidationException,
                                      org.teiid.core.types.TransformationException
        Throws:
        net.sf.saxon.trans.XPathException
        net.sf.saxon.type.ValidationException
        org.teiid.core.types.TransformationException
      • processRow

        public void processRow​(net.sf.saxon.om.NodeInfo row)
      • getObjects

        public Collection<? extends org.teiid.query.sql.LanguageObject> getObjects()
        Specified by:
        getObjects in class org.teiid.query.processor.relational.SubqueryAwareRelationalNode
      • getDescriptionProperties

        public org.teiid.client.plan.PlanNode getDescriptionProperties()
        Overrides:
        getDescriptionProperties in class org.teiid.query.processor.relational.RelationalNode