[ODBC-214] Mediumint(INT24) is always empty Created: 2019-01-26 Updated: 2020-07-11 Resolved: 2020-07-11 |
|
| Status: | Closed |
| Project: | MariaDB Connector/ODBC |
| Component/s: | General |
| Affects Version/s: | 3.0.8 |
| Fix Version/s: | 3.1.9 |
| Type: | Bug | Priority: | Major |
| Reporter: | Matthias Schröder | Assignee: | Lawrin Novitsky |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Windows 10, Microsoft Visual FoxPro 9, MariaDB ODBC 3.0 Driver 32-Bit |
||
| Description |
|
Brief description When I try to fetch records from tables that contain mediumint columns, I get empty values. The problem doesn’t occur when I use the odbc driver 5.3 from oracle/mysql. Long description I am using Microsoft Visual FoxPro 9.0 to access the data. It is a quite old development environment from Microsoft. I was not able to trigger this bug in other ways than using Microsoft Visual FoxPro. However, I figured some things out: When I apply the following patch to the odbc driver, everything works fine:
But I am not sure whether this is the right solution because in the module ma_statement.c I found another snipped of code that could be related to this issue:
The comment says at some point: „Probably it makes sense to do this only for SQL_C_DEFAULT type, which MS Access uses. But atm it looks like this should not hurt if done for other types, too“. If I remove this line of code, everything works fine too: *StrLen_or_IndPtr= IrdRec->OctetLength; Maybe FoxPro doesn’t like this behavior and it should actually be done only for SQL_C_DEFAULT type. |
| Comments |
| Comment by Lawrin Novitsky [ 2020-07-11 ] |
|
Forgot to close it - the fix was pushed in the commit 9465795, and have been released in 3.1.9 |