Patent application number | Description | Published |
20080281845 | Transforming values dynamically - When altering records in a repository of information to add an attribute that has a non-NULL default value and a corresponding constraint to the records, no update record is issued and instead, the existing records are essentially treated as having a NULL value for the attribute being added. To compute a query over the records to which the attribute has been added, a value is generated for rows that hold NULL values for the attribute in which the value in which the NULL values held therein are translated to the default value. | 11-13-2008 |
20080313133 | REFERRING TO PARTITIONS WITH FOR (VALUES) CLAUSE - A method and apparatus for referencing a partition of a data storage space in a request to perform an operation with relation to the partition are disclosed. The techniques disclosed do not rely on knowing the partition's name, thus simplifying the process of requesting a database to perform an operation on a partition when that partition's name is unknown. Data such as a DDL statement is received. The data indicates a value in a FOR clause in lieu of the partition name. The data also indicates an operation to be performed with respect to a particular partition of the partitioned space. The particular partition is not named in the received data. Based on the value, it is determined that the particular partition is a first partition. The operation is performed with respect to the first partition. | 12-18-2008 |
20080313209 | PARTITION/TABLE ALLOCATION ON DEMAND - A method and apparatus for the on-demand allocation of segments and creation of metadata for previously-created data storage spaces and partitions are provided. A space is created in a database. As part of this creation process, no segment is allocated for the space. Rather, metadata describing the space sufficiently to allocate the segment in the future is created and maintained by the database. Data is received indicating a new item. Based on the metadata, it is determined that the new item pertains to the space. In response to the determination, a segment is allocated for the space. Additional metadata necessary for normal database operations in relation to the space and newly-allocated segment may also be created at this time. The new item can then be stored in the space. | 12-18-2008 |
20080313246 | INTERVAL PARTITIONING - A method and apparatus for managing data in a partitioned data storage space is provided. Data referencing a new data item to be stored in the data storage space is received. It is determined that the data item does not pertain to any previously created partition. In response to the determination, a new partition is automatically created in the data storage space. The partition is mapped to a new set of values, such as to a next unpartitioned interval of dates or numbers. | 12-18-2008 |
20080313623 | CHANGING METADATA WITHOUT INVALIDATING CURSORS - A method and apparatus for changing versioned metadata without invalidating cursors is provided. Cursors may be linked to the appropriate version of metadata at execution time as opposed to compilation time, meaning that they do not require recompilation to link to a new version of metadata. A database system maintains compiled code implementing a plan with respect to data items in a data storage space. The compiled code may have been generated in response to receiving a request to perform an operation that may be implemented using the plan. A version of metadata is also maintained. The metadata describes characteristics of the data storage space implicated by the plan. The compiled code is executed. The step of execution comprises binding the compiled code to the version of metadata. A proxy object referenced in the compiled code may facilitate the binding of the compiled code to the appropriate version of metadata. | 12-18-2008 |
20090037366 | ONLINE INDEX BUILDS AND REBUILDS WITHOUT BLOCKING LOCKS - Techniques are provided for processing a CREATE INDEX statement that avoids one or more locks on the underlying table. The processing of such a statement may be divided into a build phase and a cooperation phase. During the build phase, a journal table is created and published. A snapshot of the table is obtained after the last DML transaction (that was pending at the time the journal table was published) commits. The index is built based on the state of the table as of the snapshot. Any changes to the table while the index is built are recorded in the journal table. During the cooperation phase, the index is partially published. A subsequent DML statement determines whether any changes in the journal table affect the same data as the subsequent DML statement. If so, then those changes are applied to the index followed by the subsequent DML statement. | 02-05-2009 |
20090037416 | METHOD FOR ACQUIRING LOCKS IN WAIT MODE IN A DEADLOCK FREE MANNER - Techniques for a data definition language (DDL) statement acquiring a lock on a table in wait mode in a deadlock free manner are provided. A DDL statement specifies metadata of a table that is to be modified, whereas a data manipulation language (DML) statement specifies a table to be modified. When a DDL statement is received, a proxy statement is initiated and executed instead of first acquiring an exclusive lock on metadata of a particular table. The proxy statement is similar to a DML statement in that the proxy statement acquires a lock on the particular table. After the proxy statement has been processed, an exclusive lock on the metadata is acquired. | 02-05-2009 |
20090037417 | AVOIDING LOCK CONTENTION BY USING A WAIT FOR COMPLETION MECHANISM - Techniques for avoiding lock contention when processing data definition language (DDL) statements are provided. Some DDL statements modify metadata of a table and then require access to the table. After such a DDL statement modifies the metadata of a table and the updated metadata is made available (i.e., published) to other database statements, execution of the DDL statement is suspended. Data manipulation language (DML) statements acquire locks on the table. In one approach, the locks, of any DML statement, that are granted after the DDL statement is issued are timestamped. The DDL statement uses the timestamps to determine when to access the table. The timestamps are used to determine when the last DML statement (that was pending at the time the modified metadata was published) commits and releases its lock on the table. | 02-05-2009 |