Bug #108431 | Empty TEXT columns not read correctly in Connector/ODBC | ||
---|---|---|---|
Submitted: | 8 Sep 2022 14:09 | Modified: | 30 Jun 8:45 |
Reporter: | Sruli Ganor | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / ODBC | Severity: | S1 (Critical) |
Version: | 8.0.30 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[8 Sep 2022 14:09]
Sruli Ganor
[8 Sep 2022 14:25]
Sruli Ganor
This bug causes production systems to generate wrong data and there is no workaround.
[8 Sep 2022 14:35]
Sruli Ganor
Let me emphasize that our application is used in production by many customers. Oracle recommended MySQL users to upgrade to MySQL ODBC driver 8.0.30. Once they upgraded, the bug appeared and affected their systems without a workaround :(
[14 Feb 2023 8:19]
Claudio Venturini
I'm experiencing the same problem when using MySQL as a source in Qlik Replicate. I triend different driver versions, from 8.0.29 to 8.0.32, but all ehave the same. Please we need a fix soon as it impacts production systems. Thank you
[15 Jun 2023 6:54]
Moshe Lin
This issue occurs also on the newest ODBC driver version - 8.0.33, can we get an ETA for the fix of this regression?
[22 May 2024 12:51]
MySQL Verification Team
Hello Sruli Ganor, Thank you for the bug report. Please upgrade to latest version and report us back if issue persist even in latest version along with test case. Thank you. Regards, Ashwini Patil
[23 Jun 2024 1:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[23 Jun 2024 15:46]
Sruli Ganor
I tested on the last driver version 8.4. Unfortunately the bug is still there. :( Note that the bug can be avoided by adding NO_SSPS=1 to the connection string. Thanks
[27 Jun 2024 7:42]
Rob Goodridge
This issue occurs in all 32 bit drivers after 8.0.23 including the latest driver 8.0.37. The test case provided earlier should be sufficient. Its simple and clear. And note that the issue will also occur if the SQLBindCol API is changed from SQL_BINARY to SQL_C_CHAR. Its the SQLPrepare that causes this. The option NO_SSPS=1 changes SQLPrepare so that SQLExecute acts like SQLExecDirect. In this case the issue does not occur. And that is NOT a workaround. Binding parameters will fail which are a requirement of performant applications. I'll upload another repro, but its more complex and only adds an example of it working using SQLExecDirect and failing using SQLPrepare/SQLExecute. Production systems are effected by this due to users obeying the directive of Oracle to update to the latest ODBC driver. An urgent fix is required. Its been in the system a long time. Its about time it was fixed.
[27 Jun 2024 7:44]
Rob Goodridge
C code Example of it working using SQLExecDirect & failing with SQLPrepare/SQLExecute
Attachment: MYSQLRepro.zip (application/x-zip-compressed, text), 6.01 KiB.
[28 Jun 2024 2:01]
Rob Goodridge
Clarifying the version of the driver that introduced this defect. 8.0.23 works 8.0.24 and all following versions fail.
[18 Jun 11:10]
MySQL Verification Team
Hello Sruli Ganor, Thank you for the details. Please upgrade to latest version and report us back if issue persist even in latest version along with test case. Thank you. Regards, Ashwini Patil
[30 Jun 8:29]
Sruli Ganor
Hello, I tested it with the lateset connector version 9.3 and it worked fine. Thanks for fixing this bug. In the meantime, I've found a workaroud for the bug: adding NO_SSPS=1 to the connection string. Unfortunately, we can't yet upgrade to connector 9.x due to the open bug #117608. It's a critical bug for us. Since we haven't recieved an ETA or even documentation explaining the new behavior, we are considering moving to connectors from other vendors. Best regards
[30 Jun 8:45]
MySQL Verification Team
Hello Sruli Ganor, Thank you for the feedback. Closing the report for now. Regards, Ashwini Patil