Bugs item #1000412, was opened at 2005-11-07 11:05
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000412&group_id=1000125
Category: None
Group: None
>Status: Closed
Resolution: None
Priority: 3
Submitted By: Dave Page (dpage)
Assigned to: Nobody (None)
Summary: Server Side Prepare doesn't work
Initial Comment:
To reproduce in the ODBC Test suite
SQL command: "SELECT relname FROM pg_class WHERE relname!=?"
Bind the input [SQLBindParameter] and output [SQLBindCol] parameter before
calling SQLPrepare().
The following call to SQLExecute() returns SQL_SUCCESS. But the first call to
SQLFetch() produces this error message:
<1> {HY010}(3) Null statement result in PGAPI_ExtendedFetch.
----------------------------------------------------------------------
>Comment By: Dave Page (dpage)
Date: 2005-11-30 13:44
Message:
Excellent work Luf - tests perfectly here! Patch applied to CVS. Thanks :-)
----------------------------------------------------------------------
Comment By: Ludek Finstrle (luf)
Date: 2005-11-30 13:33
Message:
I've fixed it (see later pgsql-odbc@postgresql.org mailing list subject: Fixed server side prepare).
I have some problems with connectivity to mail server now so I copy&paste diff here (it's only add one "if" to the
rightplace - 8 hours of work for me :-( ).
Please test it and report errors back.
diff -c psqlodbc.orig\execute.c psqlodbc\execute.c
*** psqlodbc.orig\execute.c Wed Nov 30 15:10:05 2005
--- psqlodbc\execute.c Wed Nov 30 13:46:24 2005
***************
*** 301,312 ****
{
QResultClass *kres;
! kres = res->next;
! SC_set_Result(stmt, kres);
! res->next = NULL;
! QR_Destructor(res);
! res = kres;
! SC_set_prepared(stmt, TRUE);
}
else
{
--- 301,315 ----
{
QResultClass *kres;
! if (kres = res->next, kres)
! {
! kres = res->next;
! SC_set_Result(stmt, kres);
! res->next = NULL;
! QR_Destructor(res);
! res = kres;
! SC_set_prepared(stmt, TRUE);
! }
}
else
{
----------------------------------------------------------------------
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000412&group_id=1000125