Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-4059

Guidance or DDL enhancement for MariaDB support

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • Major
    • 2.2-backlog
    • None
    • mysql-connector
    • None
    • False
    • False

    Description

      I am hoping to use Debezium/MySql to track changes to a few of our core tables, but we are on MariaDB AND we use a maria-specific feature of temporal or system-versioned tables. This causes a DDL parsing error because of the "WITHOUT SYSTEM VERSIONING" "WITH SYSTEM VERSIONING" clauses:

      CREATE TABLE `external_identifier` (
         `id` int(11) NOT NULL AUTO_INCREMENT,
         `mapped_id` int(11) NOT NULL,
         `exteral_value` varchar(50) NOT NULL,
         `type` varchar(10) NOT NULL,      `edited_by` varchar(255) NOT NULL DEFAULT 'anonymousUser' WITHOUT SYSTEM VERSIONING,
         PRIMARY KEY (`id`)
       ) ENGINE=InnoDB AUTO_INCREMENT=145 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci WITH SYSTEM VERSIONING
      

      I tried using database.history.skip.unparseable.ddl, but I see now that for a tracked table debezium needs the DDL. 

      If there is some kind of config to tell it to ignore this DDL but still be able to process CDC on this table that would be great. Otherwise perhaps this can go on the backlog for supporting MariaDB. If I can make a fork to add this clause to the antlr definitions that would be great - but I don't know anything about antlr or the potential downstream impact if the code also needs modification to recognize this. Any advice would be much appreciated. 

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            matthewehoward Matt Howard (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: