Subject | DataSnap and concurrency isolation |
---|---|
Author | kokok_kokok |
Post date | 2006-05-18T17:03:23Z |
DataSnaps does not use explicit transactions with Firebird. In fact,
when you call ClientDataSet.Open(), Firebird start a transaction and
it does not finish until ClientDataSet.ApplyUpdates or
ClientDataSet.CancelUpdates is called.
Sometimes I need to work with tiConcurrency isolation level due to
master-detail records, complex transactions, etc.
It is a problem because the deadlock error is very common. We are
blocking some records from the Open call.
Is there a way from IBObjects to call the Commit function just before
the ClientDataSet.Open. I can do it in the client side, but it is not
a good idea to mix the 2 layers.
I know that IBX has added a property called AutoStopAction, but I
cannot find any similar in IBO.
Thank you
when you call ClientDataSet.Open(), Firebird start a transaction and
it does not finish until ClientDataSet.ApplyUpdates or
ClientDataSet.CancelUpdates is called.
Sometimes I need to work with tiConcurrency isolation level due to
master-detail records, complex transactions, etc.
It is a problem because the deadlock error is very common. We are
blocking some records from the Open call.
Is there a way from IBObjects to call the Commit function just before
the ClientDataSet.Open. I can do it in the client side, but it is not
a good idea to mix the 2 layers.
I know that IBX has added a property called AutoStopAction, but I
cannot find any similar in IBO.
Thank you