I suggest you investigate garbage collecting intermediate
unreachable record versions, which would completely take the sting out of
long running transactions. It's not difficult for superserver, but would
be problematic for classic. But I don't think that in itself is a problem.
I have never like read committed transactions. The concept basically
breaks the fundamental basis of the transaction model and only exists to
get around limitations of other types of databases. If somebody wants a
consistent view of the database, well, that's why transactions exist. If
they want a more up to date view of the database, finish the prior
transaction and start another. If they aren't smart enough to do this,
they should use autocommit.
Trying to maintain the appearance of a snapshot for one request while
another request in the same transaction sees a different snapshot is really
indefensible.
Still, if you really needed to implement a rigorous read committed
transaction, just start a real transaction for the duration of the request.
If you have the ability to garbage collect intermediate record versions,
there is no performance hit at all.
On Wednesday, June 25, 2014, Dmitry Yemanov <firebi...@yandex.ru> wrote:
> 25.06.2014 15:28, Alex Peshkoff wrote:
>
> >> The problem with RC+RO consistent transaction blocking GC may be gone if
> >> the engine runs the query till the end and store it in temporary buffer.
> >
> > Dmitry, is this (more or less) what is already done to support
> > bidirectional cursors?
>
> Yes, but this is done synchronously. I was thinking about this idea as
> well, but it may cost us quite a lot of memory (or swapped to temp files
> which is slow).
>
>
> Dmitry
>
>
>
> ------------------------------------------------------------------------------
> Open source business process management suite built on Java and Eclipse
> Turn processes into business applications with Bonita BPM Community Edition
> Quickly connect people, data, and systems into organized workflows
> Winner of BOSSIE, CODIE, OW2 and Gartner awards
> http://p.sf.net/sfu/Bonitasoft
> Firebird-Devel mailing list, web interface at
> https://lists.sourceforge.net/lists/listinfo/firebird-devel
>
--
Jim Starkey
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel