摘要:
A method, apparatus, and article of manufacture for handling NULL values in SQL queries over object oriented data. A two-phase method is used to enable a query evaluator in a two-valued logic environment to properly handle occurrences of NULL values for predicates that involve subqueries, i.e., basic subquery predicates and/or quantified subquery predicates. For basic subquery predicates, negation reduction is performed by applying logical equivalence rules and inverting basic comparators (e.g., transforming =) to eliminate NOTs. Then, transformations are employed for the resulting positive predicates to include NULL value testing, i.e., NULL protection. For quantified subquery predicates, in addition to performing negation reduction, quantified subqueries are converted into existential subqueries. In most cases, this yields a predicate that can be handled using NULL protection transformations for positive predicates. The exception (i.e., a "NOT EXISTS" resulting from the conversion step of a universally quantified subquery) is handled using NULL protection transformations for negative predicates. The evaluation of the NULL tested positive and negative predicates ensures that if a predicate has a NULL value, it is not included in the query result.
摘要:
A method, apparatus, and article of manufacture for a computer-implemented technique for query optimization using a multi-layered object cache. An object-oriented query is executed to retrieve data from a database. The database is stored on a data storage device connected to a computer and queries are run against lower cache layers which have better performance characteristics than the external or upper layers. The multi-layered cache has an application objects (AOs) cache and a data access objects (DAOs) cache, and the application objects include methods deriving data from DAOs. The method includes a step of rewriting the query into a query directed against the DAOs cache, applying a pushdown transformation algorithm to the rewritten query directed against the DAOs cache, and executing the transformed query against the DAOs cache. The method also allows optimizing queries with path expressions by transforming path expression into joins. Another performance optimization includes using a limited data set only including the inserted and updated data, which allows the method to evaluate queries against a subset of a collection of cached objects instead of an entire collection of cached objects.
摘要:
A method, apparatus, and article of manufacture for a computer-implemented technique for query optimization with deferred updates and autonomous sources. An object-oriented query is executed to retrieve data from a database. The database is stored on a data storage device connected to a computer. The object-oriented query is transformed into subqueries, wherein at least one subquery is directed against a database, and wherein one subquery is directed against an object cache. Each subquery that is directed against a database is executed to retrieve data from the database into the object cache. The subquery that is directed against the object cache is executed to retrieve data for the query, wherein the data incorporates updates to the object cache and updates to the database.
摘要:
A method, apparatus, and article of manufacture for a computer-implemented technique for query optimization with deferred updates and autonomous sources. An object-oriented query is executed to retrieve data from a database. The database is stored on a data storage device connected to a computer. The object-oriented query is transformed into subqueries, wherein at least one subquery is directed against a database, and wherein one subquery is directed against an object cache. Each subquery that is directed against a database is executed to retrieve data from the database into the object cache. The subquery that is directed against the object cache is executed to retrieve data for the query, wherein the data incorporates updates to the object cache and updates to the database.
摘要:
A query optimization technique that determines whether a query includes a self join that is transitively derived through table expressions having UNION operators. If so, the query is simplified to eliminate the table expressions and to reduce the query to an equivalent query over tables.
摘要:
A system, method, and computer program product to automatically eliminate the distribution information available for reconstruction from a disguised dataset. The invention flattens input numerical values into a substantially uniformly distributed dataset, then maps the uniformly distributed dataset into equivalent data in a target distribution. The invention allows the incremental encryption of new values in an encrypted database while leaving existing encrypted values unchanged. The flattening comprises (1) partitioning, (2) mapping, and (3) saving auxiliary information about the data processing, which is encrypted and not updated. The partitioning is MDL based, and includes a growth phase for dividing a space into fine partitions and a prune phase for merging some partitions together.
摘要:
A method for publishing relational data as XML by translating XML queries into queries against a relational database. Conversion of the relational database into an XML database is not required. Each relational table is mapped to a virtual XML document, and XML queries are issued over these virtual documents. An XML query is parsed and transformed into a language-neutral intermediate representation, which is a sequence of operations describing how the output document is derived from the underlying relational tables. The intermediate representation is then translated into an SQL query over the underlying relational tables. The intermediate representation is also used to generate a tagger graph, which the tagger runtime ‘walks’ to generate the tagged, structured XML output. Each of the nodes of the tagger graph are operators which perform processing on the results of the SQL query. The SQL query is executed, and the SQL query results are then provided to the tagger. The tagger runtime applies the operators of each node to the inputs at that node to produce the structured XML document as a query result, guided by the structure of the tagger graph.
摘要:
A query optimization technique that determines whether any column from a right quantifier of a left outer join query is projected out of the query. If not, then all predicates in an ON clause are removed from the left outer join query, the right quantifier is removed from the left outer join query, and the left outer join query is converted to a simple select query. A number of steps are performed to determine whether any of the columns quantified by the right quantifier participate in a projection list of the query. A set of equivalence class columns is computed for the query, wherein the equivalence classes are derived from equi-join predicates in the query. A set of columns quantified by the right quantifier across the computed set of equivalence classes is computed. A determination is made whether a subset of the set of columns form a key for the right quantifier. If the right quantifier columns are not projected out of the query, then the optimization may be performed.
摘要:
The system, method, and program of this invention, referred to herein as nest elimination, performs query rewrite transformations, within a database management system (DBMS), for a certain class of object queries over views that involve derived nested sets. The nest elimination algorithm uses query rewriting to avoid computing these nested sets in certain common cases. For each quantifier in a query (if the quantifier is defined over a nested set that is a part of a view or if the quantifier is implemented by a subquery that projects a NEST aggregate) the following functions are performed: a) resetting an element to which a quantifier is bound in the database query to an argument of a nest aggregate function in a nest subquery of a view; b) adding a null testing predicate to the rewritten database query; c) adding quantifiers defined within the nest subquery to the rewritten database query; d) adding predicates from the nest subquery of the view to the rewritten database query; and e) rewriting each expression involving a quantifier over an instance into a path expression. The resulting rewritten query is then further processed by the DBMS such as through a query optimizer, etc. By avoiding nested set computations for a certain class of queries, the rewritten query can result in improved processing performance.
摘要:
A method and system for enhancing security in a database by establishing a bit pattern using secret information, the pattern establishing a watermark that can be detected in a copy (authorized or not) of the database only by using the secret information.