Subject Re: [firebird-support] How to hard commit
Author Chris M
Nando Dessena wrote:

> Helen,
>
>
>>> I have a tdatabase with transisolation set to tiReadCommitted. Do I
>>> need to do periodic hard commits or are those done immediately?
>
>
>
> H> Oh dear, you are using the BDE. This is the source of your problem,
> H> unfortunately.
>
> He didn't even tell what the problem is and you have identified
> the source already! :-)
>
> H> If you don't start and commit the transaction explicitly,
> H> the BDE driver uses CommitRetaining to simulate the non-transactional
> H> behaviour of the Paradox engine and memory resources get stuck
forever,
> H> until the database is in a shut down state.
>
> AFAIR the BDE doesn't even know what commit retaining is unless you set
> special driver flags. What it does is auto-commit each statement, so
> the OP is safe: it might not be efficient, but it's not going to
> generate garbage or other unpleasant results. And, the Paradox engine
> does support transactions. :-)
>
> H> That's one of the many reasons there are so many abstraction layers
> H> available for IB and Firebird: the BDE "out-of-the-box" simply
*never*
> H> manages transactions properly.
>
> From this POV it's not much worse than dbX or any other layer that
> don't support parallel transactions (which include ODBC and JDBC, for
> the record). Let's say it's much easy to get it wrong due to the
> default autocommit behaviour.
>
> I share you opinion that, anyway, the sooner the OP leaves BDE to its
> fate, the better. :-)
>

I would like to assure everyone that the BDE is trying to get phased
out, there is just so much work for little ole me that its taking time.

So if i Hear correctly, I do not need to hard commit anything if i'm
using BDE with no driver flags? Its commited everytime I post immediately?

Thanks