Bug #32692 SQLSetDescRec missing from libmyodbc*.so
Submitted: 24 Nov 2007 21:23 Modified: 25 Nov 2007 1:15
Reporter: Vincenzo Liberatore Email Updates:
Status: Closed Impact on me:
Category:Connector / ODBC Severity:S1 (Critical)
Version:3.51.22 and 5.1.0-0 OS:Linux (FC3)
Assigned to: CPU Architecture:Any

[24 Nov 2007 21:23] Vincenzo Liberatore
Symbol SQLSetDescRec missing from libmyodbc*.so (Linux x86 generic RPM (dynamically linked) downloads.)

How to repeat:
Download mysql-connector-odbc-3.51.22-0.i386.rpm or mysql-connector-odbc-5.1.0-0.i386.rpm from Argonne National Laboratory / Chicago, IL; and install (e.g., rpm -i). Similarly, download and install the setup rpm.

$ ls -l /usr/lib/libmyodbc5.so
lrwxrwxrwx  1 root root 19 Nov 24 15:32 /usr/lib/libmyodbc5.so -> libmyodbc5-5.1.0.so
$ nm -V
GNU nm 20040927
Copyright 2004 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
$ nm  -D /usr/lib/libmyodbc5.so | fgrep SQLSetDescRec

but, for example ...

$ nm  -D /usr/lib/libmyodbc5.so | fgrep SQLMoreResults
0004b87c T SQLMoreResults
$ nm  -D /usr/lib/libmyodbc5_r.so | fgrep SQLSetEnvAttr
0004a582 T SQLSetEnvAttr

... and similarly with MyODBC 3.51.22.

Suggested fix:
Add the current implementation of SQLSetDescRec to libmyodbc*.so. 
It does not matter if some functionality is missing from SQLSetDescRec: for example, SQLSetEnvAttr may also be partial, yet included in .so.
[24 Nov 2007 21:45] Jim Winstead
Descriptor support is already implemented in the 5.1 tree, and will be included in 5.1.1.
[24 Nov 2007 22:17] Vincenzo Liberatore
Reminder: The same problem applies to 3.51.22.
[25 Nov 2007 1:15] Jim Winstead
No, it doesn't. 3.51 has absolutely no descriptor support, and never will.