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

All to insert null value into numeric array columns

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 0.7.0
    • None
    • postgresql-connector
    • None

      Inserting null into a column of a type such as integer[] currently causes a NullPointerException as we fail to apply the correct default value handling in PostgresValueConverter#convertArray():

      java.lang.NullPointerException
      at io.debezium.jdbc.JdbcValueConverters.handleUnknownData(JdbcValueConverters.java:1233)
      at io.debezium.connector.postgresql.PostgresValueConverter.convertArray(PostgresValueConverter.java:415)
      at io.debezium.connector.postgresql.PostgresValueConverter.lambda$converter$9(PostgresValueConverter.java:219)
      at io.debezium.relational.TableSchemaBuilder.lambda$createValueGenerator$3(TableSchemaBuilder.java:230)
      at io.debezium.relational.TableSchema.valueFromColumnData(TableSchema.java:111)
      at io.debezium.connector.postgresql.RecordsStreamProducer.generateUpdateRecord(RecordsStreamProducer.java:294)
      at io.debezium.connector.postgresql.RecordsStreamProducer.process(RecordsStreamProducer.java:238)
      at io.debezium.connector.postgresql.RecordsStreamProducer.lambda$streamChanges$2(RecordsStreamProducer.java:111)
      at io.debezium.connector.postgresql.connection.pgproto.PgProtoMessageDecoder.processMessage(PgProtoMessageDecoder.java:42)
      at io.debezium.connector.postgresql.connection.PostgresReplicationConnection$1.deserializeMessages(PostgresReplicationConnection.java:196)
      at io.debezium.connector.postgresql.connection.PostgresReplicationConnection$1.read(PostgresReplicationConnection.java:181)
      at io.debezium.connector.postgresql.RecordsStreamProducer.streamChanges(RecordsStreamProducer.java:111)
      at io.debezium.connector.postgresql.RecordsStreamProducer.lambda$start$1(RecordsStreamProducer.java:97)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at java.lang.Thread.run(Thread.java:748)
      

              gunnar.morling Gunnar Morling
              gunnar.morling Gunnar Morling
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: