Thread: SQLSetPos

SQLSetPos

From
"Dave Page"
Date:
Hi Hiroshi,

I've had a query about support for SQLSetPos(SQL_UPDATE) in psqlODBC.
Upon examination of the code there seems to be some there to handle
SQL_UPDATE, however the function exits with an error (Only
SQL_POSITION/REFRESH is supported for PGAPI_SetPos) before any of that
code is ever reached.

Do you know if that's an oversight, or is the code that's there not
ready for use yet?

Regards, Dave.


Re: SQLSetPos

From
"Hiroshi Inoue"
Date:
> -----Original Message-----
> From: Dave Page [mailto:dpage@vale-housing.co.uk]
>
> Hi Hiroshi,
>
> I've had a query about support for SQLSetPos(SQL_UPDATE) in psqlODBC.
> Upon examination of the code there seems to be some there to handle
> SQL_UPDATE, however the function exits with an error (Only
> SQL_POSITION/REFRESH is supported for PGAPI_SetPos) before any of that
> code is ever reached.
>
> Do you know if that's an oversight, or is the code that's there not
> ready for use yet?

You can use SQLSetPos(SQL_UPDATE) if you compiled the driver
with DRIVER_CURSOR_IMPLEMENT #defined(the current makefile
s in cvs already #define it) and turn on the *Updatable cursors* DSN
option.

regards,
Hiroshi Inoue


Re: SQLSetPos

From
"Dave Page"
Date:

> -----Original Message-----
> From: Hiroshi Inoue [mailto:inoue@tpf.co.jp]
> Sent: 03 April 2003 23:08
> To: Dave Page
> Cc: pgsql-odbc@postgresql.org
> Subject: RE: SQLSetPos
>
>
> > -----Original Message-----
> > From: Dave Page [mailto:dpage@vale-housing.co.uk]
> >
> > Hi Hiroshi,
> >
> > I've had a query about support for SQLSetPos(SQL_UPDATE) in
> psqlODBC.
> > Upon examination of the code there seems to be some there to handle
> > SQL_UPDATE, however the function exits with an error (Only
> > SQL_POSITION/REFRESH is supported for PGAPI_SetPos) before
> any of that
> > code is ever reached.
> >
> > Do you know if that's an oversight, or is the code that's there not
> > ready for use yet?
>
> You can use SQLSetPos(SQL_UPDATE) if you compiled the driver
> with DRIVER_CURSOR_IMPLEMENT #defined(the current makefile s
> in cvs already #define it) and turn on the *Updatable
> cursors* DSN option.

OK thanks. I'm confused by the following code towards the beginning of
PGAPI_SetPos which is not in any #ifdef block that I can see:

    if (fOption != SQL_POSITION && fOption != SQL_REFRESH)
    {
        SC_set_error(stmt, STMT_NOT_IMPLEMENTED_ERROR, "Only
SQL_POSITION/REFRESH is supported for PGAPI_SetPos");
        SC_log_error(func, "", stmt);
        return SQL_ERROR;
    }

Won't that make the function exit with an error before an SQL_UPDATE is
handled?

Regards, Dave.


Re: SQLSetPos

From
"Hiroshi Inoue"
Date:
> -----Original Message-----
> From: Dave Page [mailto:dpage@vale-housing.co.uk]
> > -----Original Message-----
> > From: Hiroshi Inoue [mailto:inoue@tpf.co.jp]
> > > -----Original Message-----
> > > From: Dave Page [mailto:dpage@vale-housing.co.uk]
> > >
> > > Hi Hiroshi,
> > >
> > > I've had a query about support for SQLSetPos(SQL_UPDATE) in
> > psqlODBC.
> > > Upon examination of the code there seems to be some there
> to handle
> > > SQL_UPDATE, however the function exits with an error (Only
> > > SQL_POSITION/REFRESH is supported for PGAPI_SetPos) before
> > any of that
> > > code is ever reached.
> > >
> > > Do you know if that's an oversight, or is the code that's
> there not
> > > ready for use yet?
> >
> > You can use SQLSetPos(SQL_UPDATE) if you compiled the driver
> > with DRIVER_CURSOR_IMPLEMENT #defined(the current makefile s
> > in cvs already #define it) and turn on the *Updatable
> > cursors* DSN option.
>
> OK thanks. I'm confused by the following code towards the beginning of
> PGAPI_SetPos which is not in any #ifdef block that I can see:

There's

    else
#endif   /* DRIVER_CURSOR_IMPLEMENT */

just before the below code. Please pay attention to the above *else*.

>     if (fOption != SQL_POSITION && fOption != SQL_REFRESH)
>     {
>         SC_set_error(stmt, STMT_NOT_IMPLEMENTED_ERROR, "Only
> SQL_POSITION/REFRESH is supported for PGAPI_SetPos");
>         SC_log_error(func, "", stmt);
>         return SQL_ERROR;
>     }
>
> Won't that make the function exit with an error before an
> SQL_UPDATE is
> handled?

regards,
Hiroshi Inoue


Re: SQLSetPos

From
"Dave Page"
Date:

> -----Original Message-----
> From: Hiroshi Inoue [mailto:inoue@tpf.co.jp]
> Sent: 05 April 2003 17:05
> To: Dave Page
> Cc: pgsql-odbc@postgresql.org
> Subject: RE: SQLSetPos
>

>
> There's
>
>     else
> #endif   /* DRIVER_CURSOR_IMPLEMENT */
>
> just before the below code. Please pay attention to the above *else*.

Acl!! Couldn't see it for looking!

Sorry :-)

Regards, Dave.