Abstract:
Techniques are provided for detecting and resolving conflicts between native and transactional applications sharing a common database. As transactions are received at the database system, a timestamp is assigned to both the start and the commit time of a transaction, where the timestamps are synchronized with a logical clock in the database system. When the database system receives a native operation, the database system increments the time in the logical clock and assigns that updated time to the native operation. When the transaction is ready to commit, database system may determine conflicts between native and transactional operations. If the database system determines that a native operation conflicts with a transactional operation, database system will abort the transaction.