[ODBC-146] Wrong decimal value (0) when after longtext field in select clausule (using ADO, client side cursor) Created: 2018-05-22 Updated: 2018-05-30 Resolved: 2018-05-30 |
|
| Status: | Closed |
| Project: | MariaDB Connector/ODBC |
| Component/s: | General |
| Affects Version/s: | 3.0.3 |
| Fix Version/s: | 2.0.17, 3.0.5 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marek Šrom | Assignee: | Lawrin Novitsky |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Windows server 2012 R2 |
||
| Attachments: |
|
| Description |
|
ODBC connector 3.0.3 returns always value 0 for decimal fields when accessed via ADODB with clientside cursor when decimal field is after longtext field in select clausule .e.g: vb6 code ;SERVER=...;DATABASE=...;UID=...;PWD=...; OPTION=3;" |
| Comments |
| Comment by Lawrin Novitsky [ 2018-05-23 ] |
|
Thank you for your report. |
| Comment by Marek Šrom [ 2018-05-23 ] |
|
Yes, if longtext column is behind decimal field in select clausule, everything is ok, also if field of different type (tried int) if before decimal, it is also ok... I modified samle code to be vbs to be easier to test... I'll attach odbc trace... |
| Comment by Lawrin Novitsky [ 2018-05-24 ] |
|
Thanks, that is even more than I expected |
| Comment by Marek Šrom [ 2018-05-24 ] |
|
If it helps, in mySQL ODBC connector 5.3.10 it works ok... |
| Comment by Lawrin Novitsky [ 2018-05-30 ] |
|
It happened, that SQLGetData converted incorrectly into SQL_NUMERIC(while converting while fetching into bound buffers worked well). Following some obscure logic, VB used SQLGetData if decimal field followed longtext, and SQLBindCol+SQLFetch otherwise. |