摘要:
A method and apparatus for dynamic lock granularity escalation and de-escalation in a computer system is provided. Upon receiving a request for a resource, a scope of a previously granted lock is modified. According to one embodiment, hash lock de-escalation is employed. In hash lock de-escalation, the scope of the previously granted lock held on a set of resources is reduced by de-escalating the previously granted lock from a coarser-grain lock to one or more finer-grain locks on members of the set. According to another embodiment, hash lock escalation is employed. In hash lock escalation, the scope of previously granted locks held on one or more members of the set of resources are released and promoted into a coarser-grain lock that covers the set of resources as well as the requested resource.
摘要:
A mechanism is provided for reporting errors in a computer system. The mechanism detecting an error in the computer system. The mechanism identifies a first error message associated with the error and a second error message associated with the error. The first error message and the second error message are then reported by the mechanism. The error messages provide different details regarding the error such that the first error message provides a general description of the error and the second error message provides a detailed description of the error. The mechanism is capable of displaying the first error message and the second error message on the computer system. The first error message can be associated with a first software module and the second error message can be associated with a second software module. An error message stack is used to store the first error message and the second error message.
摘要:
A uniform object model integrates objects defined by foreign type systems into a single integrated object oriented system. The type system for the integrated object oriented system supports a superset of features from foreign object systems. The uniform object model approach converts foreign objects into uniform object model objects defined by the integrated type system and layers onto the uniform object model objects additional members supported by the integrated type system. Adapters integrate foreign objects and data sources into the integrated object oriented system by implementing foreign objects as full fledged objects of the system. The foreign object adapters are bi-directional such that objects, registered in the system, are exposed to foreign object systems. During run time, clients obtain a connection to the data source adapter, which supports the target data source, to execute transactions in the target data source. When executing transactions in the target data source, the data source adapter operates as an object access mechanism by generating an object populated with data from the target data source. The data source adapters support a single predetermined dialect of a query language, regardless of the target data source, and generate a query statement compatible with the target data source. The data source adapters also support persistence of objects in the data sources.
摘要:
A method and apparatus are provided for performing incremental refreshes to materialized views defined by one-to-one lossless joins. Each base table of the materialized view is selected to be processed as the current "selected table". During the processing, if the selected table is the right table of an outer join, then selected columns of rows of the materialized view are set to NULL based on rows of the selected table that have been updated or deleted in the selected table after a prior refresh operation. Then, NULL values in selected columns of the materialized view are updated to reflect new values caused by updates and inserts into the selected table that occurred after the prior refresh operation. If the selected table is not the right table of an outer join, then rows from the materialized view are deleted based on rows of the selected table that have been updated or deleted in the selected table after the prior refresh operation. Then, rows are inserted into the materialized view based on updates and inserts into the selected table that occurred after the prior refresh operation. The incremental refresh techniques are "memoryless" in that they do not require a record of the sequence of changes that were made subsequent to the prior refresh operation. Techniques are described for performing the incremental refresh steps through the use of database commands and queries.
摘要:
A multithreaded client application initiates multiple database operations associated with at least one transaction. The client application allocates and stores a separate runtime context for each of the database transactions. These transaction runtime contexts are also distinct from the state information, or runtime context, of the thread initiating a particular operation of the transaction. As a result, operations started by a thread that terminates may be continued, or resumed, by a subsequent thread without having to reperform previously executed operations. The duration of the transactions' runtime context is thus decoupled from the duration of the thread's runtime context. Special syntax and routines are provided for explicitly allocating a runtime context and deallocating a runtime context.
摘要:
An apparatus and process for storing representations of information objects having null values in a database are disclosed. A null object is established in memory associated with an information-bearing object. The null object has an attribute null value corresponding to each data-bearing attribute of the information-bearing object. Each attribute null value is set to a value indicating whether the corresponding attribute of the information-bearing object is null, not null, or not capable of having a null value. The null object also has an atomic null value that indicates whether the entire information-bearing object is null. When the information-bearing object is to be accessed, the null object is first accessed to determine whether the entire information-bearing object or any attributes thereof are null. Accordingly, unnecessary retrieval and manipulation of the information-bearing object is avoided.
摘要:
A method and apparatus for passing runtime contexts between threads in a multithreading application is provided. A precompiler is provided which allows programmers to declare and use runtime contexts in the same manner as other conventional variable types are declared and used. Special syntax and routines are provided for explicitly allocating a runtime context and deallocating a runtime context, thus decoupling the duration of a runtime context from the duration of the thread that initiated the operations whose states are stored in the runtime context. Consequently, operations started by a thread that terminates may be continued by a subsequent thread without having to re-perform previously executed operations. Precompiler directives are provided to explicitly state which runtime contexts will be used for certain operations. A single thread can therefore use one or more runtime contexts.
摘要:
A record management system is provided for generating a multi-dimensional view for different measures. A set of records is retrieved in response to a set of queries. The records include dimension values and measure values, which are associated with the measures. The set of records is maintained in a master table. The record management system generates a record structure foundation, including a query map and a master table index. The record management system then employs the record structure foundation to generate a multi-dimensional layout mapping for the measures that are to be represented in the view. The record structure foundation and measure values in the master table are used to convert the layout mapping into the desired multi-dimensional view. The record management system includes data storage units for implementing the master table, query map, master table index, and layout mapping. These data storage units are coupled to a set of processing engines, which include a control engine, query engine, index engine, and layout engine that provide for performing operations that result in the generation of a multi-dimensional view.
摘要:
A consistent set of data is supplied to a software application from databases. When a particular set of data is identified, a first process is requested to obtain a snapshot time from a database server associated with the first database. The snapshot time causes all subsequent reads of the first database by the first process to return data that reflects a database state associated with the snapshot time. A first set of data in the first database is locked in order to produce a copy of data from a first database. After locking the first set of data, a plurality of processes are requested to obtain snapshot times from a database server associated with the first database. The snapshot times cause all subsequent reads of the first database by the plurality of processes to return data from the first database as of the snapshot times.
摘要:
An information retrieval system generates hierarchical query feedback to a user to facilitate the user in reformulating the query. The information retrieval system, which supports both text and theme queries, includes a knowledge base comprising a plurality of nodes of terminology, arranged hierarchically, that reflect associations among the terminology. For the hierarchical query feedback terms, the information retrieval system selects terminology that broadens and narrows the query terms by selecting parent nodes and child nodes, respectively, of the nodes for terminology that corresponds to the terms of the query. The information retrieval system also selects terminology that is generally related to the query terms by selecting nodes of the knowledge base that are cross linked to the nodes for terminology that corresponds to the terms of the query. Normalization processing, which generates canonical forms for query processing, and a content processing system, which generates themes for theme queries, are also disclosed.