In a multi-master environment, a single transaction cannot span two different master databases. For example, the following transaction is invalid:
SAVE UPDATE table A in CATALOG A SAVE UPDATE table B in CATALOG B COMMIT WORK
A transaction is propagated to a specific master database. This master database cannot be changed in the middle of a transaction, which means that all saved statements in the transaction are propagated to one master database only. solidDB can detect cases where one transaction is updating data from two different master databases. In such cases, the operation fails with an error message.
solidDB Advanced Replication allows local data modifications in the same transaction within a catalog. The SET CATALOG statement explicitly defines the master database that is used for all operations related to Advanced Replication. The SET CATALOG statement is executed before any synchronization statement and is required when more than one catalog is defined in the database.