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

JDBC storage should be compatible with Oracle out-of-the-box

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • Backlog
    • 2.4.0.Alpha2
    • core-library
    • None
    • False
    • None
    • False

      The offset and schema history implementations make several opinionated decisions about object names and column types that force Oracle users to define an extremely verbose connector configuration.

      • Schema history table assumes VARCHAR fields, Oracle uses VARCHAR2.
      • Schema history table assumes VARCHAR(65000) is possible, this would be CLOB/BLOB.
      • Schema history assumes lower-case table names, Oracle uses all unless the table name is quoted to enforce case-sensitivity.
      • PROP_TABLE_SELECT and PROP_TABLE_DATA_EXISTS_SELECT use the same property name, these should be different.
      • Oracle uses ROWNUM or FETCH NEXT ROWS ONLY syntax.
      • Offset storage assumes VARCHAR fields, Oracle uses VARCHAR2.
      • Offset storage assumes lower-case table names, Oracle uses uppercase unless quoted to enforce case-sensitivity.

      I don't think it's necessarily good practice to have these properties have default values and yet these default values don't work for specific dialects. I understand why we did it, I just don't believe it's a great user experience.

      It should be possible to determine the database vendor and generate more realistic default values or using some dialect contract similar to the JDBC sink rather than explicitly forcing certain connector users to generate overly verbose configurations.

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

                Created:
                Updated: