4. Maintaining a Distributed Database : DDL Concurrency Mode
Share this page                  
DDL Concurrency Mode
The data definition language (DDL) statements register, remove, create, and drop cause updates to occur to the Ingres Star catalogs.
In order to increase multi-user concurrency and reduce the chance of deadlocks, these DDL statements are all committed immediately, independently of the user’s transaction. Even if a user’s transaction is subsequently aborted, the DDL statement is not aborted.
This DDL concurrency mode can be turned off with the set statement:
set ddl_concurrency off
In this case, the DDL statements will be part of the user’s transaction. However, updates to the Ingres Star catalogs will cause exclusive locks to be held until the end of the user’s transaction, thereby reducing multi-user concurrent access and increasing the chance of deadlocks.
Note:  Turning off ddl_concurrency may force the transaction into a two-phase commit transaction if the user’s transaction includes an update or a different node from the DDL statement. Such cases may be aborted by the server if any of the participating local databases do not support the slave two-phase commit protocol.
For a discussion of ddl_concurrency mode and rollback, see Rolling Back Transactions.