# `TiCDC` Limitations

+ Table prerequisites
  + At least one valid index presented as following:
    + The primary key
    + The unique index meets:
      + Every column of the index is explicitly defined as non-nullable
      + The index does not have virtual generated columns
+ Unsupported scenarios
  + The `TiKV` cluster that uses `RawKV` alone
  + **`SEQUENCE`** `DDL` operations are ignored

-------------------------------------------------------------
`TiCDC` only replicates the table that has at least one valid index. A valid index is defined as follows:
- The primary key (`PRIMARY KEY`) is a valid index.
- The unique index (`UNIQUE INDEX`) that meets the following conditions at the same time is a valid index:
  - Every column of the index is explicitly defined as non-nullable (`NOT NULL`).
  - The index does not have the virtual generated column (`VIRTUAL GENERATED COLUMNS`).

Since `v4.0.8`, `TiCDC` supports replicating tables without a valid index by modifying the task configuration. However, this compromises the guarantee of data consistency to some extent. For more details, see Replicate tables without a valid index.

Following scenarios are not supported:
- The `TiKV` cluster that uses RawKV alone.
- The `DDL` operation `CREATE SEQUENCE` and the `SEQUENCE` function in `TiDB`. When the upstream `TiDB` uses `SEQUENCE`, `TiCDC` ignores `SEQUENCE DDL` operations/functions performed upstream. However, `DML` operations using `SEQUENCE` functions can be correctly replicated.