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

Default values may be misinterpreted as bind parameters due to nested quotes

XMLWordPrintable

      When a default value is set to:

      to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')
      

      This will be injected into the DDL statement by the JDBC sink as:

      'to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')'
      

      this leads to Hibernate misparsing the SQL and throwing:

      2025-05-14 00:11:47,514 ERROR  ||  Failed to process record: No argument for named parameter ':mi:ss'   [io.debezium.connector.jdbc.JdbcSinkConnectorTask]
      org.hibernate.QueryParameterException: No argument for named parameter ':mi:ss'
          at org.hibernate.query.internal.QueryParameterBindingsImpl.lambda$validate$0(QueryParameterBindingsImpl.java:142)
          at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
          at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1116)
          at org.hibernate.query.internal.ParameterMetadataImpl.visitParameters(ParameterMetadataImpl.java:191)
          at org.hibernate.query.spi.ParameterMetadataImplementor.visitRegistrations(ParameterMetadataImplementor.java:29)
          at org.hibernate.query.internal.QueryParameterBindingsImpl.validate(QueryParameterBindingsImpl.java:138)
          at org.hibernate.query.spi.AbstractSelectionQuery.beforeQuery(AbstractSelectionQuery.java:455)
          at org.hibernate.query.spi.AbstractSelectionQuery.beforeQueryHandlingFetchProfiles(AbstractSelectionQuery.java:446)
      

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

                Created:
                Updated:
                Resolved: