摘要:
In a database management system, when the table to be accessed by a statement is partitioned, a respective partition scan operator is used to access rows of each respective database table partition. A fan out operator receives requests from a calling application to access rows from table, and responds by sending requests for rows to the partition scan operators. It receives rows of the table from the partition scan operators and sends the received rows of the database table to another node in the execution tree. Each of the partition scan operators responds to the requests for rows by returning to the fan out operator qualifying rows, if any, from the corresponding table partition. If the statement being executed includes an embedded delete or update operation, the qualifying rows are deleted or updated at the same time that the qualifying rows are returned to the fan out operator. Control is returned to the calling application only after all rows deleted or updated by the partition scan operators have been sent to the calling application. When the statement being executed is a streaming mode query, the fan out operator sends non-blocking requests to the partition scan operators so that when one access to one partition is blocked, rows from another partition are processed.
摘要:
The SQL compiler and SQL executor in a database management system are extended to execute statements for dequeuing rows from a database table and statements that both updating tuples and return those tuples to a calling application. During execution of a select statement that includes an embedded update or delete operation, a table access operator accesses a defined range of rows in a database table. The table access operator receives from a calling application a request for rows dequeued from the database table. The table access operator responds to the requests for rows by returning to the calling application qualifying rows, if any, from the database table and also by performing the embedded delete or update operation. The SQL executor returns control to the calling application only after all rows deleted or updated by the table access operator have been sent to the calling application.
摘要:
The SQL compiler and SQL executor in a database management system are extended to process queries requiring streaming mode processing of data stored in a table. A scan operator performs table access functions during execution of the streaming mode query. The scan operator first performs an initial scan to access rows in a specified database table, and then performs a delta scan to access new rows added to the table, as well as rows modified by other queries. The scan operator continues to process new data added to the table until the initiating user or application closes the associated cursor. A set of data structures are provided to keep track of active scan operators, including a session control block that includes fields for keeping track of whether the scan operator is performing an initial scan or a delta scan. The session control block also includes, for streaming mode scan operators, a delta scan list of new and modified rows to be processed in the delta scan. When a transaction terminates, any streaming mode scan operators whose operation was suspended because of rows locked by the transaction are automatically rescheduled for execution.
摘要:
The SQL compiler and SQL executor in a database management system are extended to process queries requiring streaming mode processing of data stored in a table. A scan operator performs table access functions during execution of the streaming mode query. The scan operator first performs an initial scan to access rows in a specified database table, and then performs a delta scan to access new rows added to the table, as well as rows modified by other queries. The scan operator continues to process new data added to the table until the initiating user or application closes the associated cursor. A set of data structures are provided to keep track of active scan operators, including a session control block that includes fields for keeping track of whether the scan operator is performing an initial scan or a delta scan. The session control block also includes, for streaming mode scan operators, a delta scan list of new and modified rows to be processed in the delta scan. When a transaction terminates, any streaming mode scan operators whose operation was suspended because of rows locked by the transaction are automatically rescheduled for execution.
摘要:
A database management system includes an execution engine that, upon rollback of an aborted transaction, has the ability to set fields of the rows that are updated or deleted by the transaction prior to aborting. In particular, when a select, update or delete statement includes a “set on rollback” clause, the respective table access operator of the execution engine modifies the “before image” of each row that is stored by the transaction log manager. The modified before image includes the field updates specified by the set on rollback clause. If a transaction associated with the statement aborts, when the transaction log manager restores the before images of each row that was deleted or updated by the transaction, the restored before images include the field updates specified by the set on rollback clause.
摘要翻译:数据库管理系统包括一个执行引擎,在中止事务的回滚之后,能够在中止之前设置事务更新或删除的行的字段。 特别地,当select,update或delete语句包括“set on rollback”子句时,执行引擎的相应表访问操作符修改由事务日志管理器存储的每一行的“before image”。 修改后的图像包括由rollback子句中指定的字段更新。 如果与该语句关联的事务中止,则当事务日志管理器恢复由事务删除或更新的每一行的先前图像时,恢复的映像之前包括由rollback子句设置的字段更新。
摘要:
A database management system is extended to process SQL statements so as to skip over rows that are locked in conflicting modes. Normally, a table access operator is blocked when it attempts to access a row that is locked in a conflicting mode, such as a write lock mode, that is inconsistent with the read or write access required by the operator. Generally, the lock in the conflicting mode will be held by a transaction other than the transaction associated with the operator in question. When the SQL statement being executed uses the “skip conflict” syntax provided by the present invention, the operator skips over rows that are locked in conflicting modes, which would otherwise cause the operator to suspend operation. Furthermore, if the operator is operating in streaming mode, a key that identifies such skipped rows is added to the operator's list of rows to be processed at a later time.
摘要:
A system and method of processing a message in an asynchronous architecture is provided. In the method, a determination is made that a response to a message sent by an instance of software code is to be received, where the response indicates whether the message succeeded or failed. Another determination is made as to whether the response has been received. If the response has not been received, the instance of the software code is stored in memory, thereby suspending the instance. The response is received, the instance resumed and the response is processed.
摘要:
Identifying a mobile operator account associated with a user to apply charges incurred by the user at a mobile marketplace service. The mobile operator provides an account identifier for the account to a billing token service associated with the mobile marketplace service. The billing token service creates a billing token including the account identifier, and provides the billing token to the user. When subsequently ordering from the mobile marketplace service, the user sends order requests with the billing token to the mobile marketplace service. The mobile marketplace service extracts the account identifier from the billing token and provides the order requests and the extracted account identifier to a mobile operator billing service. The mobile operator billing service applies a charge to the mobile operator account identified by the account identifier. Based on a charge status from the mobile operator billing service (e.g., a successful or unsuccessful charge), the mobile marketplace service allows or denies access by the user to an item identified in the order request.
摘要:
The present invention relates to systems and methods that facilitate pulling and/or receiving data from a client and posting the data for access by subscribing systems. The systems and methods include a message agent that generates a connection instance that can store connection-related information such as data conveyance state, data identification, and connection identification. Access to the connection instance can be provided to a machine, which can utilize the information to lock the connection and connection instance and begin pulling or receiving data from the client. As the machine pulls or receives data, the data can be published and the connection instance can be concurrently updated to reflect the present state of data conveyance. The information within the connection instance can be utilized to re-establish of severed connection, and to dynamically float the connection between machines to dynamically balance load, ensure reliability and recover from errors.
摘要:
A framework for data change notification includes a notification queue storing event notifications. Client applications can request event information regarding various data change events. For example, a client application can subscribe, via one or more APIs, to receive event information. The framework allows for session specific event notification mechanisms as well as durable event notification mechanisms that can be preserved across client sessions as well as server restarts. Innovative aspects of this invention include guaranteed delivery of event notifications, APIs to allow applications get summary of past events on the subscribed objects, automatic garbage collection/cleanup of notifications when a client session terminates.