摘要:
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.
摘要:
A database server that manages a database retrieves metadata that is stored, within the database, in association with a procedure that is stored in the database. Based on the metadata, a Web service definition is automatically constructed to describe the procedure as a Web service. The WSDL definition can be referenced to construct SOAP messages with the appropriate arguments and in the appropriate format which, when received, are converted to a suitable format for invoking execution of the procedure by the database server.
摘要:
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.
摘要:
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).
摘要:
A method for optimizing queries is described. A query, which includes a first expression for determining whether each of a set of values evaluates to NULL or NOT NULL, is received. At compile-time, a first representation of the query is generated, where the first representation indicates that the query is to be performed based on the first expression. Based on the first expression, a second expression is determined. The second expression is such that the first expression would evaluate to any NOT NULL value if and only if the second expression would evaluate to any NOT NULL value. The second expression, when evaluated, is much more computationally efficient compared with the evaluation of the first expression. Based on the first representation, a second representation of the query is generated, where the second representation indicates that the query is to be performed based on the second expression. Thereafter, the query is executed based on the second representation.
摘要:
Techniques are described for executing queries that have XPath sections that specify unmappable paths. The techniques involve splitting the unmappable paths into (1) a mappable path fragment, and (2) an unmappable path fragment. After an unmappable path has been split into a mappable path fragment and an unmappable path fragment, the XPath section is replaced with a replacement XPath section. The replacement XPath section specifies two operations: a “mappable operation” that is based on the mappable path fragment, and an “unmappable operation” that is based on the unmappable path fragment. The portion of the replacement XPath section that specifies the mappable operation is rewritten to access underlying relational structures. Consequently, when the rewritten query is executed, a smaller amount of XML data needs to be materialized to evaluate the unmappable path fragment than would otherwise have been required to evaluate the original unmappable path.
摘要:
A method for optimizing queries is described. A query, which includes a first expression for determining whether each of a set of values evaluates to NULL or NOT NULL, is received. At compile-time, a first representation of the query is generated, where the first representation indicates that the query is to be performed based on the first expression. Based on the first expression, a second expression is determined. The second expression is such that the first expression would evaluate to any NOT NULL value if and only if the second expression would evaluate to any NOT NULL value. The second expression, when evaluated, is much more computationally efficient compared with the evaluation of the first expression. Based on the first representation, a second representation of the query is generated, where the second representation indicates that the query is to be performed based on the second expression. Thereafter, the query is executed based on the second representation.
摘要:
Disclosed is a method and mechanism for processing expressions and operator trees. An approach is particularly useful to optimize processing of XML statements with respect to SQL operators. A top-down processing approach can be taken to directly output data from operators to a data stream. In addition, multiple processing approaches can be taken within a single expression tree, with some operators processed using the top-down approach and other operators processed with the bottom-up approach. Even data that can not be streamed is copied fewer times using this approach, intermediate values from bottom-up processing may still be streamed if it is used by an operator that is eligible for top-down processing.
摘要:
Techniques are described herein for automatically generating multiple interrelated database tables to store XML data, while ensuring that each such table has no more than the maximum DBMS-allowed number of columns. In response to the registration of an XML schema with a database server, the server determines whether any of the elements specified in the XML schema are complex elements that have more than a threshold number of descendant elements. If a complex element has more than the threshold number of descendant elements, then the server automatically generates one or more separate “out-of-line” database tables for storing at least some of those descendant elements, so that the table created to store the complex element will have no more than the permitted number of columns. Each of the out-of-line database tables is similarly generated so as to have no more than the permitted number of columns.
摘要:
In one embodiment, a database server receives a request from a spreadsheet application to open a file with spreadsheet data. The spreadsheet data is stored in one or more relational tables in one or more relational databases that are managed by the database server. In response to the request, the database server generates the file, where generating the file comprises retrieving the spreadsheet data from an XML view that is defined by an XQuery query. When executed, the XQuery query returns the spreadsheet data in an XML spreadsheet format that is understood by the spreadsheet application. The database server provides the generated file with the spreadsheet data directly to the spreadsheet application, where the spreadsheet data as retrieved from the XML view is formatted according to the XML spreadsheet format.