Open
Description
Percona has reported the following use case:
- user application has several concurrent clients who share a certain table
- whenever a client connects to server, it makes sure that the table exists by issuing
CREATE TABLE ... IF NOT EXISTS
This DDL in turn causes the ongoing transactions from other clients that are already using this table to fail certification, even though this statement has no effect.
Proposal:
-
CREATE statements should not append table key to the writeset since they
- either have no effect
- or are not referencing an existing resource
-
ALTER statements which are not modifying existing columns (or their order) or unique indexes should not append table key for the same reasons
this is valid only if DDL statements are executed in TOI.