[ psqlodbc-Bugs-1000412 ] Server Side Prepare doesn't work

From: <noreply(at)pgfoundry(dot)org>
To: noreply(at)pgfoundry(dot)org
Subject: [ psqlodbc-Bugs-1000412 ] Server Side Prepare doesn't work
Date: 2005-11-30 13:33:34
Message-ID: 20051130133334.364941125054@pgfoundry.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Bugs item #1000412, was opened at 2005-11-07 12:05
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000412&group_id=1000125

Category: None
Group: None
Status: Open
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: Ludek Finstrle (luf)
Date: 2005-11-30 14:33

Message:
I've fixed it (see later pgsql-odbc(at)postgresql(dot)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 right place - 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

Browse pgsql-odbc by date

  From Date Subject
Next Message noreply 2005-11-30 13:36:53 [ psqlodbc-Bugs-1000455 ] Autocommit, Cancel and DateStyle
Previous Message Ludek Finstrle 2005-11-30 09:45:09 Re: BLOB handling compatibility with PostgreSQL > 7.4