摘要:
A method and apparatus for efficiently maintaining XML index structures in a database system is provided. Instead of immediately synchronizing the XML index structures for every change submitted to the database, the changes are stored in a PENDING table. The XML index structures are periodically synchronized, based on certain criteria or at a user's discretion. Between synchronizations, the XML index structures may be in stale mode or current mode. If in stale mode, a request to access indexed information will use the XML index structures to find the desired indexed information without checking the PENDING table. If in current mode, a request to access indexed information will search the XML index structures and also check the PENDING table to determine 1) whether the indexed information has been updated or deleted, and 2) whether information relevant to the request has been inserted or updated.
摘要:
A method and system are provided for extracting a valid, self-contained fragment for a node in a XML document stored in a database management system. An XML index is used to identify a location in which XML fragment data corresponding to the node is located. Ancestors of the node are identified and examined for any information needed for the proper interpretation of the fragment. If an ancestor node contains such needed information, this information is patched into the XML fragment to ensure that the fragment is a valid, self-contained XML fragment.
摘要:
A method and system are provided for determining whether a given path is an indexed path of XML documents stored in a database management system. A finite state machine is built using the path subsetting rules specified by a user. The finite state machine is traversed using the given path. If any accepting states are reached during the traversal of the finite state machine, the given path is determined to matching the path subsetting rules.
摘要:
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 database server determines, on an element-level of granularity, what form of VARRAY storage to map collections of elements defined by a XML schema. A collection element may be mapped to an in-line VARRAY or an out-of-line VARRAY. The determination may based on a variety of factors, including the database type mapped to the collection element, database limitations that limit the form storage for certain database types, and annotations (“mapping annotations”) embedded within that XML schema that specifying a database type for database representation of a collection element or a form of VARRAY storage.
摘要:
A database system automatically detects a cyclic construct in a XML schema, determines a database representation for the cyclic construct, and maps the XML schema and elements involved in the cyclic construct to the database representation.
摘要:
A mechanism is provided for detecting and disregarding application specific nodes contained in shared XML documents. The techniques described involve determining one or more application specific nodes within XML documents and performing path expression evaluations of the XML documents as if the nodes are not present. In one embodiment, a mechanism is provided by which a user may specify the criterion that determines which subset of nodes in XML documents are to be ignored from path expression evaluations. A query that specifies a path operation based on a path is evaluated ignoring said identified nodes when evaluating said path operation.
摘要:
A query is rewritten to combine streaming evaluation and XML index evaluation. The query is rewritten to include a streaming operator (e.g. function) that, when executed, uses streaming evaluation. Further, the query is rewritten so that XML index evaluation of a path expression also produces location information that identifies the location of a node within an XML document. The streaming operator is able to exploit the location information to begin and end scanning rather than scanning the entire XML document.
摘要:
Techniques for processing a query that includes a path expression are provided. A query processor determines whether an XML index may be used to execute the query instead of having to scan multiple XML documents. The query is parsed and normalized, which results in multiple normalized path expressions that are based on the original path expression. If the XML index is a path-subsetted index, then the query processor generates annotated path expressions based on the normalized path expressions. The query processor determines whether each of the annotated path expressions is satisfiable by the path-subsetted XML index. If so, then the XML index is used to process the query.