摘要:
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.
摘要:
Populating an XML index is parallelized, providing both inter-document and intra-document parallelism, by using multiple pull-type parser processes to parse respective XML documents in parallel and to call respective ‘instances’ of the function that generates the index entries based on parsed XML node information. The function is configured to operate according to a cursor-type interface model, whereby each function instance can operate on one node at a time in a controlled pull manner rather than in an uncontrolled streaming manner. Hence, the index load procedure flow can be in the control of an application or routine, via the pull parsers, rather than in the control of a serial stream-based parser.
摘要:
Techniques are provided for indexing XML documents using abridged indexes. According to one embodiment, a value index is created for each node of an XML documents as specified by one or more criteria. The criteria are used to determine one or more paths of XML documents. For each path specified, a abridged index is created and maintained. When processing a query in a DBMS that utilizes abridged indexes the abridged indexes are used instead the XML index, provided the abridged index can satisfy the query. Use of the abridged indexes improves the efficiency of XPath queries performance.
摘要:
Techniques and systems are disclosed for storing instances of an opaque type in a database according to a direct path loading approach. According to one aspect, an opaque type implementor registers, with a loader application, routines that the opaque type implementor implements. In response, the loader application associates the opaque type with the routines. The loader application reads data that comprises instances of the opaque type. The loader application determines which routines are associated with the opaque type. The loader application invokes the routines, which create an array for storing instances of the opaque type and populate the array with values specified in the data. The loader application converts the array into a data stream that conforms to the format of the database's data blocks. The loader application then streams the data to a database server, which writes the data directly into data blocks in the database.
摘要:
A method and mechanism to improve the response time of a query that is executed against a partitioned database object. Only a subset or portion of the partitions are accessed during each pass through the partitions, in which only the retrieved portions of the partitions are processed, and in which results can be immediately returned for the query. Processing only a subset of a partition in a given pass permits each partition to be processed multiple times, rather than requiring a first partition to be entirely processed before processing a second partition. In one approach, the query includes a statement to order the result set for a query against a partitioned database object that contains a local index.
摘要:
A method and system for optimizing the execution of database statement is described. Optimization of database statements having non-boolean predicates is disclosed. Also disclosed is the determination and use of different granularity levels of information for submitting database statement predicates to optimizer-related functions.
摘要:
A method and apparatus are provided for accessing ancillary data, and for generating and accessing ancillary data more efficiently. Ancillary data is generated during execution of the operator routine of a primary operator. The ancillary data is stored in a shared content and may be accessed through ancillary operators associated with the primary operator. Metadata is used to define a primary operator and ancillary operators associated with the primary operator. A DBMS, for example, receives a statement that includes a primary and at least one of its ancillary operators, and executes routines that implement the primary operator and the ancillary operator. During execution of the routine the implements the primary operator, ancillary data is generated and stored in shared content. During the execution of the routine that implements the ancillary operator, the ancillary data is retrieved from the shared content and is used. This mechanism enables efficient execution of a family of related functions over all the records in a dataset. The sharing of context avoids redundant computation and enables use of ancillary data.
摘要:
Techniques are provided for encoding/decoding binary XML data in a client program before sending/receiving the XML to/from a database server. By encoding the binary XML at the client, the overhead of parsing the XML text is avoided by the database server, thus improving database server scalability. Also, the XML data is sent by the server to the client in the binary form, and the binary format is decoded by the client program to perform the necessary operations.
摘要:
A method and system for the in-place evolution of XML schemas is disclosed. To automatically evolve an existing XML schema, a schema evolver receives both an existing XML schema and an XML document as input. The XML document indicates changes to be made to the existing XML schema. Based on the existing XML schema and the XML document, the schema evolver evolves the existing XML schema into a new XML schema that incorporates the changes indicated in the XML document. According to one aspect, the schema evolver generates one or more SQL statements based on the new XML schema. The SQL statements, when executed by a database server, cause the database server to evolve database structures that were based on the formerly existing XML schema so that the database structures conform to the new XML schema. This is accomplished “in place,” without copying the data in the database structures.
摘要:
A technique for differencing XML documents is provided. An edit graph is generated for computing the cost of possible edits that may be applied to a first XML document in order to generate a second XML document. A hash value is assigned to nodes included in the axes of the edit graph, where one axis includes nodes in the first XML document and the other axis includes nodes in the second XML document. The hash value may be generated based on a particular node's name and attributes, and the hash value of the name and attributes of each child node of the particular node. A technique for patching an XML document is also provided. Events are generated for each node in the input document and for at least one operation specified in the edit script. The edit script is applied to the input document by performing one or more operations specified in the operation events on one or more node events.