Enum SqlServerConnectorConfig.SnapshotIsolationMode

java.lang.Object
java.lang.Enum<SqlServerConnectorConfig.SnapshotIsolationMode>
io.debezium.connector.sqlserver.SqlServerConnectorConfig.SnapshotIsolationMode
All Implemented Interfaces:
EnumeratedValue, Serializable, Comparable<SqlServerConnectorConfig.SnapshotIsolationMode>
Enclosing class:
SqlServerConnectorConfig

public static enum SqlServerConnectorConfig.SnapshotIsolationMode extends Enum<SqlServerConnectorConfig.SnapshotIsolationMode> implements EnumeratedValue
The set of predefined snapshot isolation mode options.
  • Enum Constant Details

    • EXCLUSIVE

      public static final SqlServerConnectorConfig.SnapshotIsolationMode EXCLUSIVE
      This mode will block all reads and writes for the entire duration of the snapshot. The connector will execute SELECT * FROM .. WITH (TABLOCKX)
    • SNAPSHOT

      public static final SqlServerConnectorConfig.SnapshotIsolationMode SNAPSHOT
      This mode uses SNAPSHOT isolation level. This way reads and writes are not blocked for the entire duration of the snapshot. Snapshot consistency is guaranteed as long as DDL statements are not executed at the time.
    • REPEATABLE_READ

      public static final SqlServerConnectorConfig.SnapshotIsolationMode REPEATABLE_READ
      This mode uses REPEATABLE READ isolation level. This mode will avoid taking any table locks during the snapshot process, except schema snapshot phase where exclusive table locks are acquired for a short period. Since phantom reads can occur, it does not fully guarantee consistency.
    • READ_COMMITTED

      public static final SqlServerConnectorConfig.SnapshotIsolationMode READ_COMMITTED
      This mode uses READ COMMITTED isolation level. This mode does not take any table locks during the snapshot process. In addition, it does not take any long-lasting row-level locks, like in repeatable read isolation level. Snapshot consistency is not guaranteed.
    • READ_UNCOMMITTED

      public static final SqlServerConnectorConfig.SnapshotIsolationMode READ_UNCOMMITTED
      This mode uses READ UNCOMMITTED isolation level. This mode takes neither table locks nor row-level locks during the snapshot process. This way other transactions are not affected by initial snapshot process. However, snapshot consistency is not guaranteed.
  • Field Details

    • value

      private final String value
  • Constructor Details

    • SnapshotIsolationMode

      private SnapshotIsolationMode(String value)
  • Method Details

    • values

      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • getValue

      public String getValue()
      Specified by:
      getValue in interface EnumeratedValue
    • parse

      Determine if the supplied value is one of the predefined options.
      Parameters:
      value - the configuration property value; may not be null
      Returns:
      the matching option, or null if no match is found
    • parse

      public static SqlServerConnectorConfig.SnapshotIsolationMode parse(String value, String defaultValue)
      Determine if the supplied value is one of the predefined options.
      Parameters:
      value - the configuration property value; may not be null
      defaultValue - the default value; may be null
      Returns:
      the matching option, or null if no match is found and the non-null default is invalid