mirror of https://github.com/citusdata/citus.git
Recent changes to DDL and transaction logic resulted in a "regression" from the viewpoint of users. Previously, DDL commands were allowed in multi-command transaction blocks, though they were not processed in any actual transactional manner. We improved the atomicity of our DDL code, but added a restriction that DDL commands themselves must not occur in any BEGIN/END transaction block. To give users back the original functionality (and improved atomicity) we now keep track of whether a multi-command transaction has modified data (DML) or schema (DDL). Interleaving the two modification types in a single transaction is disallowed. This first step simply permits a single DDL command in such a block, admittedly an incomplete solution, but one which will permit us to add full multi-DDL command support in a subsequent commit. |
||
---|---|---|
.. | ||
multi_client_executor.c | ||
multi_executor.c | ||
multi_real_time_executor.c | ||
multi_router_executor.c | ||
multi_server_executor.c | ||
multi_task_tracker_executor.c | ||
multi_utility.c |