  The transactional robustness problem revolves around deciding whether, for a
given workload, a lower isolation level than Serializable is sufficient to
guarantee serializability. The paper presents a new characterization for
robustness against isolation level (multi-version) Read Committed. It supports
transaction programs with control structures (loops and conditionals) and
inserts, deletes, and predicate reads -- scenarios that trigger the phantom
problem, which is known to be hard to analyze in this context. The
characterization is graph-theoretic and not unlike previous decision mechanisms
known from the concurrency control literature that database researchers and
practicians are comfortable with. We show experimentally that our
characterization pushes the frontier in allowing to recognize more and more
complex workloads as robust than before.
