Thread: SQLSetPos
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.
> -----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
> -----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.
> -----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
> -----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.