суббота, 22 июня 2013 г., 8:26:58 UTC+3 пользователь werner написал:
>
> On 22/06/2013 01:03, graf wrote:
> > sweep - sort of a garbage collector which removes unused versions of
> transaction. There is Database header page information, where you can see
> the the current transaction state, there are two parameters: Oldest
> transaction and Next transaction. The range from Oldest to Next - is the
> versions of transactions. The amount of versions slows down the database
> speed. So SQLAlchemy is looking somewhere this "Oldest transaction" and
> after the database works slowly.
> I am no expert but "oldest transaction" in Firebird only gets locked if
> a transaction is never released. Are you doing "commit retaining" in
> some way - not even sure you can do this via SQLalchemy.
>
> If you haven't already seen this it might help you find the real cause.
>
> http://www.ibphoenix.com/resources/documents/general/doc_67
>
> Werner
>
Thank you all guys. I found an issue - the do_commit and do_rollback
methods (the firebird dialect) use retaining=True by default, and there is
no option to change it. Suppose it is good solution to move this option as
firebird specific options
def do_rollback(self, dbapi_connection):
# Use the retaining feature, that keeps the transaction going
dbapi_connection.rollback(True)
def do_commit(self, dbapi_connection):
# Use the retaining feature, that keeps the transaction going
dbapi_connection.commit(True)
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/groups/opt_out.