Feature compatibility
=====================

Server feature/commit scope interoperability
--------------------------------------------

Not all server features work with all commit scopes. This table shows
the ones that interoperate.

.. csv-table::
  :header: Async,Parallel,Transaction,Single
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  Not applicable,Does not interoperate,Does not interoperate  (Note 1),Interoperates
  Not applicable,Interoperates,Does not interoperate,Does not interoperate
  Interoperates,Interoperates,Interoperates,Interoperates
  Not applicable,Interoperates,Interoperates,Interoperates

Notes
^^^^^

**applicable** : The Async column in the table represents PGD without a
synchronous commit scope in use. Lag Control isn’t a synchronous commit
scope. It’s a controlling commit scope and is therefore available with
asynchronous operations.

Note 1 : Attempting to use Group Commit and Transaction Streaming
presents a warning. The warning suggests that you disable transaction
streaming, and the transaction appears to take place. In the background,
Group Commit was disabled to allow the transaction to occur.

Commit scope/commit scope interoperability
------------------------------------------

Although you can’t mix commit scopes, you can :ref:`combine rules <General rules for applications>`  with an
``AND`` operator. This table shows where commit scopes can be combined.

.. csv-table::
  :header: Group Commit,CAMO,Lag,Synchronous
  :widths: 15,12,12,20
  :align: left
  :class: longtable

  Not applicable,Does not combine,Combines,Combines
  Does not combine,Not applicable,Combines,Does not combine
  Combines,Combines,Not applicable,Combines
  Combines,Does not combine,Combines,Not applicable
  "","","",""

.. _notes-1:

Notes
^^^^^

Each commit scope implicitly works with itself.
