Patent application number | Description | Published |
20090158047 | HIGH PERFORMANCE SECURE CACHING IN THE MID-TIER - In a multi-tier data server system, data from the first tier is cached in a mid-tier cache of the middle tier. Access control information from the first tier for the data is also cached within the mid-tier cache. Caching the security information in the middle tier allows the middle tier to make access control decisions regarding requests for data made by clients in the outer tier. | 06-18-2009 |
20090287719 | CREATING STORAGE FOR XML SCHEMAS WITH LIMITED NUMBERS OF COLUMNS PER TABLE - 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. | 11-19-2009 |
20090299989 | DETERMINING PREDICATE SELECTIVITY IN QUERY COSTING - Techniques for estimating a cost of executing a query are provided. A query includes multiple predicates, each of which is associated with a selectivity value that indicates a percentage of input that satisfies the condition of the corresponding predicate. The selectivity values are used to determine an estimated cost of executing the query. In one technique, a group of multiple predicates of a query are treated as a single predicate. Thus, a single selectivity value, rather than multiple selectivity values, is determined for that group. In a related technique, instead of determining a selectivity value of a predicate in isolation with respect to other predicates of a query, the selectivity value of a set of one or more predicates in a query is generated based on other predicates in the query. | 12-03-2009 |
20100030727 | Technique For Using Occurrence Constraints To Optimize XML Index Access - Approaches are provided for improving the performance of certain database queries that operate on binary-encoded XML. In particular, the approach uses occurrence and type constraint information about XML data stored in the database for optimizing the relational rewrite of a query. Constraint information can be obtained in several different ways including through a formal language specification such as an XML Schema or DTD, through discovery of a user-provided secondary index on a an XML path table, or through a structural summary that is derived from statistical analysis on a set of XML documents stored in the database. | 02-04-2010 |
20100036825 | Interleaving Query Transformations For XML Indexes - During query optimization, XML index and view merge transformations may be interleaved. | 02-11-2010 |
20100036846 | METHOD AND SYSTEM FOR OPTIMIZING ROW LEVEL SECURITY IN DATABASE SYSTEMS - One embodiment of the present invention provides a system that implements a security policy in a database. During operation, the system receives a request associated with a set of objects in the database. Next, the system obtains a set of access control lists (ACLs) associated with the database, wherein a respective ACL specifies one or more access privileges associated with a user or user group, and wherein a respective ACLs is not specific to a particular object in the database. The system then evaluates the ACLs to obtain a set of ACL results associated with the request and processes the request by applying the set of ACL results to the objects without evaluating the ACLs repeatedly for each of the objects. | 02-11-2010 |
20100169354 | Indexing Mechanism for Efficient Node-Aware Full-Text Search Over XML - Techniques are provided for searching within a collection of XML documents. A relational table in an XML index stores an entry for each node of a set of nodes in the collection. Each entry of the relational table stores an order key and a path identifier along with the atomized value of the node. An index on the atomized value provides a mechanism to perform a node-aware full-text search. Instead of storing the atomized value in the table, a virtual column may be created to represent, for each node, the atomized value of the node. Alternately, each entry of the relational table stores an order key and a path identifier along with, for simple nodes, the atomized value, and for complex nodes, a null value. For a complex node with a descendant text node, a separate entry is stored for the descendant text node in the relational table. | 07-01-2010 |
20100185683 | Indexing Strategy With Improved DML Performance and Space Usage for Node-Aware Full-Text Search Over XML - Techniques are provided for searching within a collection of XML documents. A relational table stores an entry for each node of a set of nodes in a collection of XML documents. Each entry of the relational table stores an order key and a path identifier along with the atomized value of the node. Instead of storing the atomized value in a full-text index, a virtual column can be created to represent, for each node, the atomized value of the node. Alternately, each entry of the relational table stores an order key and a path identifier along with, for simple nodes, the atomized value, and for complex nodes, a null value. For a complex node with a descendant text node, a separate entry is stored for the descendant text node in the relational table. | 07-22-2010 |
20100211560 | EFFICIENT EVALUATION OF XQUERY AND XPATH FULL TEXT EXTENSION - Techniques are provided for efficiently evaluating XML queries that conform to an extension of an XML language (e.g., XQuery or XPath). The extension allows XML queries to have full-text search capabilities. Such an XML query is compiled to generate a tree of nodes that correspond to one or more conditions in the full-text portion of the query. In one technique, the amount of memory for the execution state of the tree is determined at compile time and allocated only once throughout execution of the query. In another technique, to ensure at most a single scan of a document, all the words or phrases in the full-text portion of an XML query are located before any of the other conditions in the full-text portion are evaluated. In another technique, the elements of the full-text portion of an XML query are analyzed to determine, based at least in part on cost, which evaluation strategy, of a plurality of evaluation strategies, should be employed. | 08-19-2010 |
20100235348 | LOADING AN INDEX WITH MINIMAL EFFECT ON AVAILABILITY OF APPLICATIONS USING THE CORRESPONDING TABLE - A database server provides a partitioned table with a corresponding locally partitioned index. When a request is made to load data into the table by an application, a table partition, along with a corresponding index partition, is created for the application. The corresponding index partition in marked as asynchronously maintained, allowing other index partitions to be used by the query optimizer in formulating query plans for other table partitions. Once the loading of data is complete, a synchronization operation is called with the result of conforming the data in the asynchronously maintained index partition with its corresponding table in which the data was loaded. Once the data in the corresponding table partition and the data in the asynchronously maintained index partition are synchronized, the asynchronously maintained index partition is marked as synchronously maintained. | 09-16-2010 |
20110093485 | LEVERAGING STRUCTURED XML INDEX DATA FOR EVALUATING DATABASE QUERIES - A query may be rewritten to leverage information stored in a structured XML index. An operator in the query may be analyzed to determine an input source database object for the operator by traversing an operator tree rooted at the operator. The path expressions associated with the operator tree may be fused together to form an effective path expression for the operator. If the effective path expression directly matches a path expression derived from the index, the query may be rewritten using references to the index. Operators in a query that have effective paths that refer to data in the same index table may be grouped together. A single subquery may be written for a group of operators. Also, a structured XML index may be used as an implied schema for indexed XML data. This implied schema may be used to optimize queries that refer to the indexed XML data. | 04-21-2011 |
20110106811 | Efficient XML Tree Indexing Structure Over XML Content - A method and apparatus are provided for building and using a persistent XML tree index for navigating an XML document. The XML tree index is stored separately from the XML document content, and thus is able to optimize performance through the use of fixed-sized index entries. The XML document hierarchy need not be constructed in volatile memory, so creating and using the XML tree index scales even for large documents. To evaluate a path expression including descendent or ancestral syntax, navigation links can be read from persistent storage and used directly to find the nodes specified in the path expression. The use of an abstract navigational interface allows applications to be written that are independent of the storage implementation of the index and the content. Thus, the XML tree index can index documents stored at least in a database, a persistent file system, or as a sequence of in memory. | 05-05-2011 |
20110106812 | XPath-Based Creation Of Relational Indexes And Constraints Over XML Data Stored In Relational Tables - Techniques and approaches are provided for creating indexes and column constraints on structured XML data that is stored in a relational database. Data Definition Language (DDL) Create Index and Create Constraint commands have extended syntax that allows the specification of a path-based expression instead of requiring a column and table name. A mapping created by the system when an XML Schema is registered stores the correspondence of XML data elements to automatically-created database tables and columns that are given names only useful for the internal system. When a user provides a path-based expression in a DDL when creating an index or constraint, the path-based expression is translated to the underlying database constructs using the mapping. Issues are addressed for handling path-based expressions that evaluate to more than one element. Additional index optimization is described using data type information available in the XML schema to select the optimal index type. | 05-05-2011 |
20110179085 | Using Node Identifiers In Materialized XML Views And Indexes To Directly Navigate To And Within XML Fragments - A method and apparatus is provided for efficiently searching and navigating XML data stored in a relational database. When storing a collection of XML documents, certain scalar elements may be shredded and stored in a relational table, whereas unstructured data may be stored as a CLOB or BLOB column. The approach includes identifying a reference address to within an XML tree index entry and storing the address in an xmltable index. The tree index entry allows for navigation in all axes. A path-based expression may be evaluated in the context of the reference address of the LOB. The result of the evaluation identifies another XML tree index entry containing a LOB locator used to retrieve the content from the document. The tree index, node index, and secondary function indexes are used together to enhance the performance of querying the XML data. | 07-21-2011 |
20110302189 | PROVIDING CONTEXT AWARE SEARCH ADAPTIVELY - A method, computing device, and a non-transitory computer-readable medium is provided for facilitating a context-aware search on documents stored in an unstructured database column. The database server determines whether a document stored in an unstructured database object is marked up according to a recognized markup language. Documents that conform to the markup language are indexed with value-to-node mappings and node-to-physical-location mappings to provide a context-aware search of marked up nodes within the documents. Documents that do not conform to the markup language are indexed with value-to-document mappings to provide a full-text search of the documents. The database server evaluates a context-aware search against documents that conform to the markup language within the unstructured column without requiring the user identify the documents as XML documents and store the documents in an XMLType structured column. | 12-08-2011 |
20110302198 | SEARCHING BACKWARD TO SPEED UP QUERY - A method, computing device, and a non-transitory computer-readable medium are provided for performing a context-aware search by finding a set of nodes that are mapped to a given text or other value and, for each node in the set of nodes, performing a reverse path lookup to determine whether the node satisfies a given context. The query processor performs the reverse path lookup for a node by traversing up a node tree away from the node, using a stored mapping from the node to a parent of the node. Using mappings from nodes to parent nodes, the node tree is traversed backwards from the node up to distant ancestor nodes through parent nodes. An optimizer instructs the query processor to perform a value-based portion of the search before a path-based portion of the search based on value distribution statistics and path distribution statistics. | 12-08-2011 |
20140067819 | EFFICIENT XML TREE INDEXING STRUCTURE OVER XML CONTENT - A method and apparatus are provided for building and using a persistent XML tree index for navigating an XML document. The XML tree index is stored separately from the XML document content, and thus is able to optimize performance through the use of fixed-sized index entries. The XML document hierarchy need not be constructed in volatile memory, so creating and using the XML tree index scales even for large documents. To evaluate a path expression including descendent or ancestral syntax, navigation links can be read from persistent storage and used directly to find the nodes specified in the path expression. The use of an abstract navigational interface allows applications to be written that are independent of the storage implementation of the index and the content. Thus, the XML tree index can index documents stored at least in a database, a persistent file system, or as a sequence of in memory. | 03-06-2014 |
20150039642 | Leveraging Structured XML Index Data For Evaluating Database Queries - A query may be rewritten to leverage information stored in a structured XML index. An operator in the query may be analyzed to determine an input source database object for the operator by traversing an operator tree rooted at the operator. The path expressions associated with the operator tree may be fused together to form an effective path expression for the operator. If the effective path expression directly matches a path expression derived from the index, the query may be rewritten using references to the index. Operators in a query that have effective paths that refer to data in the same index table may be grouped together. A single subquery may be written for a group of operators. Also, a structured XML index may be used as an implied schema for indexed XML data. This implied schema may be used to optimize queries that refer to the indexed XML data. | 02-05-2015 |