摘要:
An XQuery access API is described, for providing access to XML data from a data source, using the XQuery language. A requestor can request, from a server, performance of an operation on XML data, wherein request messages and response messages conform to the Simple Object Access Protocol (SOAP). Request and response messages can be transmitted using Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol over Secure Socket Layer (HTTPS). The format of the request and response messages is specified in a definition of a Web service, where the definition conforms to the Web Service Description Language (WSDL).
摘要:
Techniques for determining whether an XML query may be written are provided. In one scenario, an XML query includes an expandable path, which is a path expression that includes a wildcard character (*) or a descendant axis (//). An XML schema is used to generate multiple expanded paths (each of which is a simple path expression) from the expandable path. The XML schema is used to compare each expanded path to another expanded path and to determine whether the nodes identified by the respective expanded paths are guaranteed to occur in a particular order in XML documents that conform to the XML schema. In another scenario, an XML query includes an order operator that takes two paths as input. Similarly, an XML schema is used to compare the two paths and to determine whether the nodes identified by the two paths are guaranteed to occur in a particular order in XML documents that conform to the XML schema.
摘要:
Techniques for processing reference-based SQL/XML operators are provided. Instead of extracting copies of one or more nodes from XML data, a reference-based operator returns a reference to a node. Such a reference is used to determine, for example, whether the corresponding node comes logical before, after, or is the same as another node. An SQL/XML query that includes a reference-based operator may be the original query, or may be generated (e.g., rewritten) from a non-SQL/XML query, such as an XQuery query. One or more physical rewrites may be performed on the SQL/XML query, depending on how the XML data is stored and/or whether an XML index exists for the XML data.
摘要:
Instances of complex types are logically replicated. In general, the logical replication of complex types involves converting a complex type instance from its storage format into a logical representation written in a markup language, like XML. The logical representation is then propagated to a destination (or destinations), which converts the logical representation to a storage format used at the destination for that complex type.
摘要:
A universal format is used to create a type representation of XMLType instances that are generated in various ways from various sources. An XMLType Type Tree is represented as a hierarchy of nodes, including leaf item node, composite item node, operator node, aggregate node, referred to herein as an XMLType Type Tree. An XMLType Type Tree serves as a digest of the type structure of XMLType, no matter the source of the XMLType instance or its manner of its generation and it creates one uniform abstraction of the type structure of XMLType for the data-typing analysis of XPath and XQuery during query compile time.
摘要:
Techniques are provided for processing a query, including receiving the query, where the query specifies certain operations to be performed, including (a) a first set of one or more operations that are to be performed on a markup language data source and (b) a second set of one or more operations that are to be performed on a second data source. Then it is determined that a first server that manages the markup language data source is capable of performing the first set of operations. A request is sent to the first server to perform the first set of operations. A response is received, where the response contains results of performing the first set of operations on the markup language data source. Finally, results are generated for the query based at least in part on the results of performing the first set of operations.
摘要:
A system which combines sequential and iterative source code is provided. The system decides which type of processing would be most suitable for all portions of the source code, regardless of type. The system can adjust that decision based on the specific nature of the constructs within the source code, and can also adjust that decision based on the platform upon which the resulting executable program will run.
摘要:
To associate XML data objects (“child objects”), stored in rows of relational or object-relational tables, with the appropriate XML data objects (“parent objects”) from which the child objects descend, tables that contain child objects (“out-of-line” tables) are constructed with an additional column. In one embodiment, this column stores values that identify the root objects, in the appropriate table, from which the respective child objects descend. Hence, the root object from which any given object descends is traceable by following the respective value back to the corresponding root object. In one embodiment, this column stores values that identify the complete XML hierarchical path, through multiple tables, back to the root object from which the respective child objects descend. Consequently, XML query language queries against XML documents stored in such tables can be rewritten as SQL queries against the data in the tables, even in the presence of cyclic constructs.
摘要:
A method and apparatus for optimizing XML queries over heterogeneous XML tables is provided. A query that targets a container (e.g. table or collection) that contains a plurality of XML documents is received, wherein at least two XML documents in the plurality do not conform to the same schema. Based on the received query, a plurality of execution plans is generated. Each execution plan is associated with a different XML schema. An execution plan is used to execute the query relative to those XML documents that conform to the XML schema associated with the execution plan.
摘要:
A method for processing queries is provided. A first representation of a query is generated, where the query includes a certain operator that is to be performed based on an XPath expression that is expandable into multiple location paths. The first representation of the query is rewritten into a second representation that corresponds to an equivalent query, where rewriting the first representation includes expanding the XPath expression into the plurality of location paths and, based on the certain operator, including a plurality of operators in the second representation, where the plurality of operators include: a first set of operators that is to be performed based on each of the plurality of location paths, and a second set of operators that is to be performed based on data returned from at least one operator included in the first set of operators. The query may thereafter be executed based on the second representation. The second representation may be further rewritten to third representation depending on the physical storage of XML.