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

Column scale is reset when a column's type is not changed during an ALTER TABLE

XMLWordPrintable

      Bug report

      Created Table as below.

      CREATE TABLE TEST_SIMPLE_NUMBER (
        id NUMBER(4) PRIMARY KEY,
        name VARCHAR2(20),
        a_number_20 NUMBER(20)
      );
      

       

      Connector published the schema history message. (Only the column information is excerpted)

      {
          "name": "A_NUMBER_20",
          "jdbcType": 2,
          "typeName": "NUMBER",
          "typeExpression": "NUMBER",
          "charsetName": null,
          "length": 20,
          "scale": 0,
          "position": 8,
          "optional": true,
          "autoIncremented": false,
          "generated": false,
          "comment": null,
          "hasDefaultValue": true,
          "enumValues": []
      }

      Next, modified the column default value.

      SQL> alter table TEST_SIMPLE_NUMBER MODIFY A_NUMBER_20 DEFAULT 1;
      Table altered.
      

       

      Schema history message posted as below the column definition.

      {
          "name": "A_NUMBER_20",
          "jdbcType": 2,
          "typeName": "NUMBER",
          "typeExpression": "NUMBER",
          "charsetName": null,
          "length": 20,
          "position": 8,
          "optional": true,
          "autoIncremented": false,
          "generated": false,
          "comment": null,
          "hasDefaultValue": true,
          "defaultValueExpression": "1",
          "enumValues": []
      }

       scale entity  was dropped as above.

      We have the problem with sink connector not handling the column correctly. Sink connector interprets data type is modified.

      We use bigquery sink connector 

      What Debezium connector do you use and what version?

      debezium-connector-oracle-3.0.7.Final

      What is the connector configuration?

      {
        "name": "oracle-connector",
        "config": {
          "connector.class" : "io.debezium.connector.oracle.OracleConnector",
          "tasks.max" : "1",
          "topic.prefix" : "oracle",
          "database.hostname" : "oracle",
          "database.port" : "1521",
          "database.user" : "c##dbzuser",
          "database.password" : "dbz",
          "database.dbname" : "XEPDB1",
          "database.pdb.name" : "xepdb1",
          "schema.history.internal.kafka.bootstrap.servers" : "kafka:9092",
          "schema.history.internal.kafka.topic": "schema.history.oracle",
          "signal.data.collection": "C##DBZUSER.DEBEZIUM_SIGNAL",
          "log.mining.strategy": "hybrid",
          "snapshot.locking.mode": "none",
          "snapshot.mode": "initial",
          "include.schema.comments": "true",
          "event.processing.failure.handling.mode": "warn",
          "schema.history.internal.store.only.captured.tables.ddl": "true",
          "schema.include.list": "C##DBZUSER"
        }
      }
      

       

      What is the captured database version and mode of deployment?

      Amazon RDS Oracle 19c

      What behavior do you expect?

      We expect scale entity set when alter table modify column.

      What behavior do you see?

      BigQuery Sink Connector cannot PUT the column.

      Do you see the same behaviour using the latest released Debezium version?

      (Ideally, also verify with latest Alpha/Beta/CR version)

      We confirmed only with 3.0.7 Final version.

      Do you have the connector logs, ideally from start till finish?

      (You might be asked later to provide DEBUG/TRACE level log)

      <Your answer>

      How to reproduce the issue using our tutorial deployment?

      Please see the bug report. docker compose environment enabled the reproduction.

      Feature request or enhancement

      For feature requests or enhancements, provide this information, please:

      Which use case/requirement will be addressed by the proposed feature?

      <Your answer>

      Implementation ideas (optional)

      <Your answer>

              ccranfor@redhat.com Chris Cranford
              _asako Asako TOYAMA
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: