Friday, May 9, 2008

[ODBC] [ psqlodbc-Bugs-1010376 ] GUID code missing in convert.c ("Unrecognized C_parameter ..") and fix

Bugs item #1010376, was opened at 2008-04-15 13:02
You can respond by visiting:

http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1010376&group_id=1000125

Category: None
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Jan-Willem Goossens (jgoossens)
Assigned to: Nobody (None)
Summary: GUID code missing in convert.c ("Unrecognized C_parameter ..") and fix

Initial Comment:
Hi,
Either I'm missing something, or there's the GUID (UUID) implementation missing in ResolveOneParam(..) in convert.c [08.03.0100], since I'm getting "Unrecognized C_parameter type in copy_statement_with_parameters" exceptions with param_ctype == -11 (=SQL_C_GUID).

I admit I dont really know what I'm doing, but adding the following lines seems to work well:

[convert.c, line 3745]
#if (ODBCVER >= 0x0350)
case SQL_C_GUID:
{
SQLGUID *g = (SQLGUID *) buffer;
sprintf (param_string,
"%08lX-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X",
(unsigned long) g->Data1,
g->Data2, g->Data3,
g->Data4[0], g->Data4[1], g->Data4[2], g->Data4[3],
g->Data4[4], g->Data4[5], g->Data4[6], g->Data4[7]);
}
break;

No comments: