Subject Re: JDBC Scrollable cursor
Author Roman Rokytskyy
> Hmmm...this seems like a very serious limitation to me.
> How do other databases handle it - is it all on the client, or on
> the server (hence the cross-post).

Oracle maintains cache of some rows, counts current row, and
re-fetches missing rows by row ID. PostgreSQL also maintains the
cache, but it seems that they cache complete result set (though I'm
not sure about this).

Situation with the Firebird is that scrollable cursosrs were
implemented on the server, however they were never released to the
public, probably because of lack of testing. Personally I do not like
implementing statement parsing and rewriting (in order to insert row
ID into the select) if one can have nice server-side API for this.

> Also, saw this in the release notes:
> 631090: Calling stored procedures - cannot be fixed with
> current Firebird implementation
> I saw the workarounds in the bug notes. Are there any situations
> where the workaround will NOT work?

Situation is following: Firebird does not support procedure
declaration where input and output parameters are mixed. Therefore,
standard JDBC syntax {call (?, ..., ?)} + call to
registerOutParameter(...) does not work. Workaround is not really
workaround, but adaptation of your procedure calls to Firebird syntax.
So, if you adapt your code correctly, it will work all the time.
However, this code will not be portable.