[Sources-MySQL] MySQL TINYINT(1) CDC sync produces “invalid number value false” error when syncing to Redshift #70380
-
|
I am using Airbyte version 2.0.1 with the following setup:
During the initial full load, MySQL columns with type TINYINT(1) were synced successfully, and the destination column type in Redshift was correctly created as INT, which is the expected behavior. However, during subsequent CDC sync runs, Airbyte throws the following error: It seems that during CDC events, Debezium still interprets TINYINT(1) as a boolean, causing values like false to appear instead of 0 or 1, even though tinyInt1isBit=false is set. The destination then fails because it expects a numeric value. Expected Behavior I want Airbyte to always preserve MySQL TINYINT(1) values exactly as 0 or 1, both in full load and CDC sync, without converting them to boolean. Question What configuration or workaround should I use to ensure that MySQL TINYINT(1) values are treated strictly as integers during CDC sync, so the destination continues receiving 0 and 1 instead of true/false? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
|
Hey, same issue here any workaround? @octavia-bot devin-ai-integration Matt Bayley (@mwbayley) Were you able to solve it, duongdr ? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.

We're in the process of releasing version
3.52.0ofsource-mysql. In this version you'll see a new option at the bottom of the source configuration page under the Optional fields to "Treat TINYINT(1) Columns as Integers". The default continues to be to treat these columns as Boolean, but this configuration allows you to change that to Integer. Note that the JDBC URL Params should not containtinyInt1isBit. Happy syncing!