Bug #100722 | tinyInt1isBit Configuration Property Is No Longer Honored | ||
---|---|---|---|
Submitted: | 2 Sep 2020 20:14 | Modified: | 9 Sep 2020 9:59 |
Reporter: | Chase Barrett | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | Connector / J | Severity: | S3 (Non-critical) |
Version: | 8.0.21 | OS: | Any (Discovered on RHEL 8, but likely not OS related) |
Assigned to: | CPU Architecture: | Any (Discovered on x86_64, but likely not CPU related) |
[2 Sep 2020 20:14]
Chase Barrett
[8 Sep 2020 12:36]
Alexander Soklakov
Hi Chase, There was a significant change in MySQL 8.0.19 under WL#13127, "Deprecate integer display width and ZEROFILL option". We had to follow in c/J with Bug#97413. The change is that starting from MySQL 8.0.19 only _signed_ TINYINT(1) can be treated as Boolean or Bit, other variants are not supplied with a display width thus always treated as TINYINT. Though there is no UNSIGNED for TINYINT(1) in your report I don't see any other reason for such behaviour. Please check your DDL to confirm that. We could add the server version check to c/J in order TINYINT(1) UNSIGNED could work with server versions prior to MySQL 8.0.19 but it would be better to follow the server changes and rework your DB structure to avoid possible problems with future migration. Please share your thoughts.
[8 Sep 2020 17:39]
Chase Barrett
Hello Alexander, Thanks for the explanation. The columns I am working with are all: TINYINT(1) UNSIGNED NULL DEFAULT 0 While I don't have control over the schema, knowing the behavior of the latest Connector/J allows me to adjust our software to accommodate. For my purposes at least, I don't believe another change to C/J is necessary.
[9 Sep 2020 9:59]
Alexander Soklakov
Thanks Chase, I close this bug as a duplicate of Bug#100309.