Abstract:
A method for generating an execution plan for updating and retrieving data from a database in a single process includes: receiving a statement by a server to update a database with a first set of data and to retrieve a second set of data from the database; building a first execution plan to update the database with the first set of data; building a second execution plan to retrieve the second set of data from the database; and building a single execution plan including a combination of the first and second execution plans. The single execution plan allows for the updating and retrieval of data with a single crossing of an interface between a client and the database. By performing both functions in this manner, the efficiency of performing such tasks on the database is significantly increased.
Abstract:
A method, storage server, and computer readable medium for off-loading star-join operations from a host information processing system to a storage server. At least a first and second set of keys from a first and second dimension table, respectively are received from a host system. Each of the first and second set of keys is associated with at least one fact table. A set of locations associated with a set of foreign key indexes are received from the host system. A set of fact table indexes are traversed. At least a first set of Row Identifiers (“RIDs”) associated with the first set of keys and at least a second set of RIDs associated with the second set of keys are identified. An operation is performed on the first and second sets of RIDs to identify an intersecting set of RIDs. The intersecting set of RIDs are then stored.
Abstract:
An XML schema is compiled into an annotated automaton encoding, which includes a parsing table for structural information and annotation for type information. The representation is extended to include a mapping from schema types to states in a parsing table. To validate a fragment against a schema type, it is necessary simply to determine the state corresponding to the schema type, and start the validation process from that state. When the process returns to the state, fragment validation has reached successful completion. This approach is more efficient than a general tree representation. Only the data representation of the schema information is handled, making it much easier than manipulating validation parser code generated by a parser generator. In addition, only one representation is needed for schema information for both document and fragment validation. This approach also provides a basis for incremental validation after update.
Abstract:
Techniques are provided that determine that a query includes at least one subquery that may be correlated or decorrelated. An internal representation of the query that represents the subquery in both correlated and decorrelated form is generated, wherein the internal representation includes at least one virtual table.
Abstract:
Disclosed is a method, system, and program for processing an aggregate function. Rows that contain a reference to intermediate result structures are grouped to form groups. For each group, aggregate element structures are formed from the intermediate result structures and, if the aggregate function specifies ordering, the aggregate element structures are sorted based on a sort key.
Abstract:
A method, apparatus and article for manufacture for generating static, dynamic and hybrid sparse indices for use with workfiles used by SQL queries in a relational database management system. A workfile and a sparse index structure are temporarily created in the computer during execution of the query by the computer. The workfile stores intermediate relations resulting from execution of a portion of the SQL query, wherein the intermediate relations comprise sorted rows for an inner table referenced in the SQL query. The sparse index structure contains one or more entries indicating at least an approximate location for at least some of the rows in the workfile. As one or more rows from an outer table referenced in the SQL query are retrieved, the entries of the sparse index structure are searched for a closest matching entry for each retrieved row. The sorted workfile is then scanned for a row matching each retrieved row using the closest matching entry from the sparse index structure as a starting position. The sparse index structure is then updated with an entry corresponding to the row from the sorted workfile matching the retrieved row from the outer table.
Abstract:
Techniques for partitioning a query are provided. The techniques include establishing one or more criterion for partitioning a query, wherein the query comprises one or more tables, materializing a first of the one or more tables, partitioning the first of the one or more tables until the one or more criterion have been satisfied, and partitioning and joining a remainder of the one or more tables of the query.
Abstract:
Provided are a techniques for processing a query including semi-joins. At execution time, a next semi-join is selected from the semi-joins for execution in a current round of semi-join executions. A reporting threshold is determined that indicates a number of record-identifiers to be retrieved for the determined semi-join. The selected semi-join is executed until the determined number of record identifiers are retrieved.
Abstract:
Disclosed is a method, system, and program for processing a function. A set of nested functions are received. A composite function is generated for the set of nested functions. A tagging template is generated for the set of nested functions that corresponds to the composite function. A result is produced by evaluating the composite function using the tagging template.