摘要:
Techniques are provided for freeing up resources before operations that change the resources have successfully completed. Resources are freed up by committing database transactions that perform portions of operations before the operations themselves have successfully completed. If the operations fail to complete successfully, then “compensation information” is used to remove the effects of the committed changes that were performed as part of the operation. Techniques are also provided for allowing database transactions to update values without retaining exclusive locks on those values. Operational constraints set forth conditions that must be satisfied before an update is allowed to proceed. If an attempt is made to update a particular value that has changes that may be undone, then the database server determines a plurality of “possible result values” for the particular value. If the possible result values satisfy the operational constraint conditions, then the update is allowed to proceed.
摘要:
Techniques are provided for freeing up resources before operations that change the resources have successfully completed. Resources are freed up by committing database transactions that perform portions of operations before the operations themselves have successfully completed. If the operations fail to complete successfully, then “compensation information” is used to remove the effects of the committed changes that were performed as part of the operation. Techniques are also provided for allowing database transactions to update values without retaining exclusive locks on those values. Operational constraints set forth conditions that must be satisfied before an update is allowed to proceed. If an attempt is made to update a particular value that has changes that may be undone, then the database server determines a plurality of “possible result values” for the particular value. If the possible result values satisfy the operational constraint conditions, then the update is allowed to proceed.
摘要:
A method for managing expressions includes receiving a first query that includes a first conditional expression. The first expression is then represented as data in a column of a table. A second query is received that specifies a first set of criteria, and the second query is executed to select data based at least on whether expressions in the column satisfy the first set of criteria. In an embodiment, the second query further specifies a second set of criteria, wherein executing the second query includes selecting data based on whether data in columns other than the expression column satisfy the second criteria. A special index is defined, which can be created on the column that stores the expressions as data, to filter large sets of expressions efficiently. A method of evaluating an expression set stored as data in a table classifies each predicate from each expression, and filters the expression set based on the predicate classification.
摘要:
Systems, methods, and other embodiments associated with bi-temporal user profiling are described. An event is detected that occurs at a valid event time. In response to the event, a repository is accessed that stores data describing one or more user profiles that include a profile record valid time period specifying a time at which the given profile record is valid. A prior user profile record is retrieved that has a profile record valid time period that overlaps with the valid event time. An updated user profile record is created based, at least in part, on the event. The updated user profile record is saved with the valid event time demarcating the start of a profile valid time period. The prior user profile with the valid event time demarcating the end of the profile record valid time period is also saved for subsequent processing.
摘要:
Techniques are disclosed for creating and using a filter index in order to identify registered queries whose result sets are likely to have been changed by changes made to tables. The filter index entries are based on filter conditions. The filter conditions are created based on predicates contained in the registered queries. The filter conditions may include exclusive predicates and join predicates. Join predicates that join a table T1 with a table T2 may be instantiated by replacing references to table T2 with values extracted from table T2. Various techniques are described for recognizing situations in which a query can be included in, or excluded from, the set of likely-changed queries, without fully evaluating the filter conditions that correspond to the queries.
摘要:
A method and system are provided for handling within a database system data items that are associated with data types that are not supported by the database language used to the database system. The data types are registered with the database system by storing, in the database, metadata that indicates the structure, physical layout, and constraints that apply to the data types. The database system uses the structure and physical layout information to access individual elements of data items. The database system validates data items using the constraint information, which includes constraints that dictate what values are valid for certain elements based on what values are supplied for other elements. Data items associated with many different data types may be stored in the same table. Applications can access the data items through a transformation view that transforms the data items from their native format to a format expected by the applications.
摘要:
Techniques for sharing information in a wide variety of contexts allows both an explicit capture process and an implicit capture process to add information items to a staging area. An information sharing system supports both implicit and explicit consumption of information items that are stored in the staging area. A rules engine allows users to create and register rules that customize the behavior of the capture processes, the consuming processes, and propagation processes that propagate information from the staging areas to designated destinations. Exactly-once handling of sequence of items is achieved for items maintained in volatile memory. DDL operations are recorded, and operations are asynchronously performed based on the previously-performed DDL operations.
摘要:
An advanced message queuing system is integrated into a database system. A queue is an ordered list of messages. Messages are requests for processing by an application. Messages are database objects and can represent events or data. Messages comprise user data and control information such as a queue name. Each queue is part of a table in a relational database. A queue table holds a set of queues. Dictionary tables store configuration information describing queues and queue tables. Messages are entered into a queue by instructing the database system using an enqueuing command attached to a message and control information. The control information describes how to order, schedule, and execute the message, and can include a result queue name into which a result message is written after execution. The system responds to a dequeuing command by delivering a copy of a message from the queue. A user can define message order within a queue, message delay factors, and exception processing. Messages may be retained in their queues after delivery and can be preserved, queried, documented, correlated, reviewed and tracked, alone or in a set comprising a transaction, regardless of message state or execution state. The system can be used to develop large-scale, message-oriented distributed applications. Existing development tools for database applications can also be used to develop queuing applications. Administrative functions to create, delete, and specify access control for queues are provided. The system provides transactional integrity; a single transaction applies to both the database and the queue. A single transaction log is maintained.
摘要:
A two-stage brake valve includes a stepped valve bore and pressure piston defining a first stage with a large effective area and a second stage with a smaller effective area. The two stages become effective in succession so that, initially the first stage is used to fill a system and then, following a transitional phase, the second stage generates an operating pressure. A relief channel communicates the pressure chamber of the first stage with a reservoir. A relief valve closes the relief channel in response to an excess pressure generated by operation of the second stage.
摘要:
A database index file is maintained by a computer system having primary random access memory and secondary memory. A record for each item added to the database is stored in a sequential file in secondary memory (disk storage) and an indexed pointer to the new record is stored in a small B-tree stored in primary random access memory. The full index file for the database is a second, large B-tree stored in secondary memory. Leaf-nodes of the full index file are stored in indexed order. Periodically, a portion of the memory resident small B-tree is merged with a corresponding portion of the large B-tree by selecting a range of index values and retrieving from secondary memory all indexed pointers in the selected range of index values. The indexed pointers in the first B-tree in the selected range of index values are merged into the retrieved records, the resulting merged set of indexed pointers are stored in secondary memory in indexed order in a contiguous area of secondary memory. As a result, the indexed pointers for newly added database records are written to secondary memory in batches, thereby accessing secondary memory very efficiently.