摘要:
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 method and apparatus for compiling queries is provided. A first query in a first syntax of a query language is received. Based on the first query, a second query in a second syntax of the query language is generated. The first syntax and the second syntax are each among a plurality of syntaxes that are defined for the query language. The second query is parsed to generate parsed information. Based on the parsed information, the second query is compiled by a compiler that does not support compiling of queries in the first syntax.
摘要:
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).
摘要:
Constraints that restrict how corresponding identifiable groups of files are stored in a database, are enforced on corresponding file data. In response to a query on any data from an identifiable group of files, the effect of the constraint on how the corresponding data is stored is determined. The original query is rewritten, based on the effect of the constraint, so that the rewritten query is directed to a particular subset of the data stored in the database. Consequently, the search space is restricted to an identifiable subset of the database and execution of the rewritten query is more efficient than execution of the original query.
摘要:
Object-relational database systems process XML values in a way that preserves node identities of nodes in the XML values and perform node-id based operations more efficiently or even in circumstances where such operations were not performed. An object-relational database system represents an XML value as a serialized stream of bytes, herein referred to as a serialized image. A serialized image may represent an XML value of the XMLType that is stored and/or generated by an object-relational database system. The serialized image contains one or more node identifiers that identify nodes within the XML value. The serialized image may also contain a pointer to an in-memory representation of the XML value, allowing the in-memory representation to be accessed via the pointer without having re-create the in-memory representation.
摘要:
Techniques are provided for processing a query including receiving the query, where the query specifies certain operations; determining that the query includes a first portion in a first query language and a second portion in a second query language; generating a first in-memory representation for the first portion; generating a second in-memory representation for the second portion; generating a third in-memory representation of the query based on the first in-memory representation and the second in-memory representation; and performing the certain operations based on the third in-memory representation.
摘要:
A method and apparatus for rewriting a database command containing an embedded XML expression such that the rewritten database command recites a text function, in lieu of the embedded XML expression, is provided. Advantageously, a DBMS may take advantage of the efficiencies in storing XML data within the database, while avoiding the generation of unnecessary XML elements in processing the query when the XML elements contribute nothing to the outcome of the query. Cost-base or rule-based analysis may be performed to determine how to rewrite a received database command. The database server may functionally evaluate the text function or may use an index defined on a column of the database. The text function may function as a primary filter or may reference a column upon which an index is defined, wherein the index operates at the same or higher level than a column being referenced in the embedded XML expression.
摘要:
Transformation of a set of XML documents via an XSLT stylesheet is made more efficient by rewriting the stylesheet at compile-time, based on the structural description of the set of XML documents, into an optimized stylesheet containing fewer dynamic template-matching calls than the original stylesheet. This rewritten stylesheet can be further rewritten into a set of XQuery expressions. At compile-time, the particular transformation templates that are appropriate for transforming the particular nodes contained in the set of XML documents are determined, and XSLT calls to the templates are converted to calls to corresponding XQuery user-defined functions. Determination of the appropriate transformation templates may be based on the structural description of the input set of XML documents, such as an XML Schema or Document Type Definition. The data from each template is translated into corresponding XQuery constructors, instructions from the template are translated into XQuery expressions, and the XQuery functions are inlined if possible.
摘要:
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 for representing XML information is provided. A serialized image of XML information is generated. The serialized image comprises a collection of one or more serialized data values, where each particular serialized data value in the collection includes data associated with a particular serialized data value type of a plurality of serialized data value types. The serialized image may also comprise a first field that includes a first value, which indicates that the serialized image includes the collection of one or more serialized data values. In some embodiments, the method is performed at a database system that supports a native XML data type, wherein the XML information is one or more instances of the native XML data type.