Description:
Hi,
System: FreeBSD 7.0 amd64
MySQL: 5.1.20-beta
MyODBC 3.51.19
libiodbc: 3.52.5
All worked fine with MySQL 5.1.19-beta.
After upgrading to MySQL 5.1.20-beta, SQLGetData() won't work.
I neither upgrade libiodbc nor MyODBC.
I have this problem with all tests that include SQLGetData().
And I have no idea, if it is a bug in the MySQL Client, the iodbc or the MySQL ODBC.
When I only use iodbctest, the result is like this:
SQL>select * from test.bla;
Statement executed. 5 rows affected.
SQL>show databases;
Statement executed. 6 rows affected.
Also at c-programms and c-tests, I will get the number of rows but it seems, that the content wouldn't be carried forward.
I get no errors.
And insert, create and other statements work fine.
I'll append a truss file and my c-test-programm here.
I made a truss and I think, these are the relevant parts:
....
open("/usr/share/locale/de_DE.UTF-8/LC_NUMERIC",O_RDONLY,05213720646000) = 4 (0x4)
....
connect(4,{ AF_INET 127.0.0.1:3306 },16) = 0 (0x0)
setsockopt(0x4,0xffff,0x1006,0x7fffffff5710,0x10) ERR#33 'Numerical argument out of domain'
setsockopt(0x4,0xffff,0x1005,0x7fffffff5710,0x10) ERR#33 'Numerical argument out of domain'
....
After this the connect is ok and the create table and inserts will work fine.
...
write(1," SQLRETURN of SQLExecDirect from"...,47) = 47 (0x2f)
open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory'
write(1,"result of select: id: 0, random "...,39) = 39 (0x27)
open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory'
write(1,"result of select: id: 0, random "...,39) = 39 (0x27)
open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory'
write(1,"result of select: id: 0, random "...,39) = 39 (0x27)
open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory'
write(1,"result of select: id: 0, random "...,39) = 39 (0x27)
open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory'
write(1,"result of select: id: 0, random "...,39) = 39 (0x27)
Here it fails. Of course there is no directory in /usr/share/locale with the name English.
I have no idea, who tries to call this directory and I have no idea, how I can figure out this. Trying to figure out this with gdb failed.
Also all work fine on my FreeBSD 32bit system it's only 64bit.
How to repeat:
I can repeat it with every test or testcase that includes a SQLGetData().
Suggested fix:
I have no idea ...
Description: Hi, System: FreeBSD 7.0 amd64 MySQL: 5.1.20-beta MyODBC 3.51.19 libiodbc: 3.52.5 All worked fine with MySQL 5.1.19-beta. After upgrading to MySQL 5.1.20-beta, SQLGetData() won't work. I neither upgrade libiodbc nor MyODBC. I have this problem with all tests that include SQLGetData(). And I have no idea, if it is a bug in the MySQL Client, the iodbc or the MySQL ODBC. When I only use iodbctest, the result is like this: SQL>select * from test.bla; Statement executed. 5 rows affected. SQL>show databases; Statement executed. 6 rows affected. Also at c-programms and c-tests, I will get the number of rows but it seems, that the content wouldn't be carried forward. I get no errors. And insert, create and other statements work fine. I'll append a truss file and my c-test-programm here. I made a truss and I think, these are the relevant parts: .... open("/usr/share/locale/de_DE.UTF-8/LC_NUMERIC",O_RDONLY,05213720646000) = 4 (0x4) .... connect(4,{ AF_INET 127.0.0.1:3306 },16) = 0 (0x0) setsockopt(0x4,0xffff,0x1006,0x7fffffff5710,0x10) ERR#33 'Numerical argument out of domain' setsockopt(0x4,0xffff,0x1005,0x7fffffff5710,0x10) ERR#33 'Numerical argument out of domain' .... After this the connect is ok and the create table and inserts will work fine. ... write(1," SQLRETURN of SQLExecDirect from"...,47) = 47 (0x2f) open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory' write(1,"result of select: id: 0, random "...,39) = 39 (0x27) open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory' write(1,"result of select: id: 0, random "...,39) = 39 (0x27) open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory' write(1,"result of select: id: 0, random "...,39) = 39 (0x27) open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory' write(1,"result of select: id: 0, random "...,39) = 39 (0x27) open("/usr/share/locale/English/LC_NUMERIC",O_RDONLY,05213720646000) ERR#2 'No such file or directory' write(1,"result of select: id: 0, random "...,39) = 39 (0x27) Here it fails. Of course there is no directory in /usr/share/locale with the name English. I have no idea, who tries to call this directory and I have no idea, how I can figure out this. Trying to figure out this with gdb failed. Also all work fine on my FreeBSD 32bit system it's only 64bit. How to repeat: I can repeat it with every test or testcase that includes a SQLGetData(). Suggested fix: I have no idea ...