org.apache.xalan.lib.sql

## Class SQLDocument

- java.lang.Object
- - org.apache.xml.dtm.ref.DTMDefaultBase
  - - org.apache.xml.dtm.ref.DTMDefaultBaseTraversers
    - - org.apache.xml.dtm.ref.DTMDefaultBaseIterators
      - - org.apache.xalan.lib.sql.DTMDocument
        - - org.apache.xalan.lib.sql.SQLDocument

- All Implemented Interfaces:
    DTM

      public class SQLDocument
      extends DTMDocument

  The SQL Document is the main controlling class the executesa SQL Query

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.xalan.lib.sql.DTMDocument

      `DTMDocument.CharacterNodeHandler`

    - ### Nested classes/interfaces inherited from class org.apache.xml.dtm.ref.DTMDefaultBaseIterators

      `DTMDefaultBaseIterators.AncestorIterator, DTMDefaultBaseIterators.AttributeIterator, DTMDefaultBaseIterators.ChildrenIterator, DTMDefaultBaseIterators.DescendantIterator, DTMDefaultBaseIterators.FollowingIterator, DTMDefaultBaseIterators.FollowingSiblingIterator, DTMDefaultBaseIterators.InternalAxisIteratorBase, DTMDefaultBaseIterators.NamespaceAttributeIterator, DTMDefaultBaseIterators.NamespaceChildrenIterator, DTMDefaultBaseIterators.NamespaceIterator, DTMDefaultBaseIterators.NthDescendantIterator, DTMDefaultBaseIterators.ParentIterator, DTMDefaultBaseIterators.PrecedingIterator, DTMDefaultBaseIterators.PrecedingSiblingIterator, DTMDefaultBaseIterators.RootIterator, DTMDefaultBaseIterators.SingletonIterator, DTMDefaultBaseIterators.TypedAncestorIterator, DTMDefaultBaseIterators.TypedAttributeIterator, DTMDefaultBaseIterators.TypedChildrenIterator, DTMDefaultBaseIterators.TypedDescendantIterator, DTMDefaultBaseIterators.TypedFollowingIterator, DTMDefaultBaseIterators.TypedFollowingSiblingIterator, DTMDefaultBaseIterators.TypedNamespaceIterator, DTMDefaultBaseIterators.TypedPrecedingIterator, DTMDefaultBaseIterators.TypedPrecedingSiblingIterator, DTMDefaultBaseIterators.TypedRootIterator, DTMDefaultBaseIterators.TypedSingletonIterator`

  - ### Field Summary

    - ### Fields inherited from class org.apache.xml.dtm.ref.DTMDefaultBase

      `DEFAULT_BLOCKSIZE, DEFAULT_NUMBLOCKS, DEFAULT_NUMBLOCKS_SMALL, m_mgr, ROOTNODE`

    - ### Fields inherited from interface org.apache.xml.dtm.DTM

      `ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NAMESPACE_NODE, NOTATION_NODE, NTYPES, NULL, PROCESSING_INSTRUCTION_NODE, ROOT_NODE, TEXT_NODE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SQLDocument(DTMManager mgr, int ident)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.sql.SQLWarning` | `checkWarnings()`
    `void` | `close(boolean flushConnPool)` Close down any resources used by this document.
    `void` | `documentRegistration()` A dummy routine to satisify the abstract interface.
    `void` | `documentRelease()` A dummy routine to satisify the abstract interface.
    `void` | `execute(XConnection xconn, SQLQueryParser query)`
    `ExpressionContext` | `getExpressionContext()` Return the context used to build this document
    `static SQLDocument` | `getNewDocument(ExpressionContext exprContext)` This static method simplifies the creation of an SQL Document and allows us to embedd the complexity of creating / handling the dtmIdent inside the document.
    `boolean` | `hasErrors()` Used by the XConnection to determine if the Document should handle the document differently.
    `void` | `skip(int value)` Push the record set forward value rows.

    - ### Methods inherited from class org.apache.xalan.lib.sql.DTMDocument

      `appendChild, appendTextChild, dispatchCharactersEvents, dispatchToEvents, dumpDTM, getAttributeNode, getAxisIterator, getAxisTraverser, getContentHandler, getDeclHandler, getDocument, getDocumentAllDeclarationsProcessed, getDocumentBaseURI, getDocumentEncoding, getDocumentStandalone, getDocumentSystemIdentifier, getDocumentTypeDeclarationPublicIdentifier, getDocumentTypeDeclarationSystemIdentifier, getDocumentVersion, getDTDHandler, getElementById, getEntityResolver, getErrorHandler, getExpandedTypeID, getExpandedTypeID, getFirstAttribute, getFirstChild, getFirstNamespaceNode, getLastChild, getLevel, getLexicalHandler, getLocalName, getLocalNameFromExpandedNameID, getNamespaceFromExpandedNameID, getNamespaceType, getNamespaceURI, getNextAttribute, getNextNamespaceNode, getNextSibling, getNode, getNodeName, getNodeNameX, getNodeType, getNodeValue, getOwnerDocument, getParent, getPrefix, getPreviousSibling, getSourceLocatorFor, getStringValue, getStringValueChunk, getStringValueChunkCount, getTypedAxisIterator, getUnparsedEntityURI, hasChildNodes, isAttributeSpecified, isCharacterElementContentWhitespace, isDocumentAllDeclarationsProcessed, isNodeAfter, isSupported, needsTwoThreads, setDocumentBaseURI, setFeature, setProperty, supportsPreStripping`

    - ### Methods inherited from class org.apache.xml.dtm.ref.DTMDefaultBase

      `dumpDTM, dumpNode, getDocumentRoot, getDTMIDs, getManager, getNodeHandle, getNodeIdent, getTypedFirstChild, getTypedNextSibling, makeNodeHandle, makeNodeIdentity, migrateTo`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SQLDocument

          public SQLDocument(DTMManager mgr,
                             int ident)

      Parameters:
        `mgr` -
        `ident` -
      Throws:
        `java.sql.SQLException`

  - ### Method Detail

    - #### getNewDocument

          public static SQLDocument getNewDocument(ExpressionContext exprContext)

      This static method simplifies the creation of an SQL Document and allows us to embedd the complexity of creating / handling the dtmIdent inside the document. This type of method may better placed inside the DTMDocument code

    - #### getExpressionContext

          public ExpressionContext getExpressionContext()

      Return the context used to build this document

    - #### execute

          public void execute(XConnection xconn,
                              SQLQueryParser query)
                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### skip

          public void skip(int value)

      Push the record set forward value rows. Used to help in SQL pagination.
      Parameters:
        `value` -

    - #### hasErrors

          public boolean hasErrors()

      Used by the XConnection to determine if the Document should handle the document differently.

    - #### close

          public void close(boolean flushConnPool)

      Close down any resources used by this document. If an SQL Error occure while the document was being accessed, the SQL Connection used to create this document will be released to the Connection Pool on error. This allows the COnnection Pool to give special attention to any connection that may be in a errored state.

    - #### documentRegistration

          public void documentRegistration()

      Description copied from class: `DTMDefaultBase`
      A dummy routine to satisify the abstract interface. If the DTM implememtation that extends the default base requires notification of registration, they can override this method.
      Specified by:
        `documentRegistration` in interface `DTM`
      Overrides:
        `documentRegistration` in class `DTMDefaultBase`

    - #### documentRelease

          public void documentRelease()

      Description copied from class: `DTMDefaultBase`
      A dummy routine to satisify the abstract interface. If the DTM implememtation that extends the default base requires notification when the document is being released, they can override this method
      Specified by:
        `documentRelease` in interface `DTM`
      Overrides:
        `documentRelease` in class `DTMDefaultBase`

    - #### checkWarnings

          public java.sql.SQLWarning checkWarnings()

Copyright © 2023 Apache XML Project. All Rights Reserved.