Subject | Re[2]: [firebird-support] OIT / NT |
---|---|
Author | Dmitry Kuzmenko |
Post date | 2012-04-02T19:03:48Z |
Hello, Tiberiu!
TH> For me it is impossible to commit the transaction all the times.
?
TH> This would be the optimal way to handle comunication between client and server,
TH> this is opbvious. But whenever I connect to the server using a
TH> poor Internet connection it takes ages to reopen the tables especially
TH> if it is a graphical environment (grid or form containing data or Navigation bar or a master-detail form).
there are
no wait
read
read_committed
rec_version
transaction that can be open forewer without affecting versioning.
TH> I never automatically start a transaction.
cool. Than why you asked initial question about lot of transactions
started by some client? If you are not controlling transactions, then
you get unpredictable transactions starts and behaviors.
You can work "without" transactions only with RDBMS where there
are no transactions at all. Here, for versioning engine, you must
control transactions in your applications.
TH> You suggest that this way I ensure that nothing inside my client program will start opening transactions ?
This way transations are started and commited autimatically by
components whenewer you access data, update, insert, etc.
None operations with data can be done outside transaction context.
You have troubles with 4 clients, so, you may expect more troubles
with more clients - sudden slowdowns, record locking, lot of garbage,
slow performance, etc.
This is serious question, you may not control transactions only in
simple single-user "phonebook" application.
--
Dmitry Kuzmenko, www.ib-aid.com
TH> For me it is impossible to commit the transaction all the times.
?
TH> This would be the optimal way to handle comunication between client and server,
TH> this is opbvious. But whenever I connect to the server using a
TH> poor Internet connection it takes ages to reopen the tables especially
TH> if it is a graphical environment (grid or form containing data or Navigation bar or a master-detail form).
there are
no wait
read
read_committed
rec_version
transaction that can be open forewer without affecting versioning.
TH> I never automatically start a transaction.
cool. Than why you asked initial question about lot of transactions
started by some client? If you are not controlling transactions, then
you get unpredictable transactions starts and behaviors.
You can work "without" transactions only with RDBMS where there
are no transactions at all. Here, for versioning engine, you must
control transactions in your applications.
TH> You suggest that this way I ensure that nothing inside my client program will start opening transactions ?
This way transations are started and commited autimatically by
components whenewer you access data, update, insert, etc.
None operations with data can be done outside transaction context.
You have troubles with 4 clients, so, you may expect more troubles
with more clients - sudden slowdowns, record locking, lot of garbage,
slow performance, etc.
This is serious question, you may not control transactions only in
simple single-user "phonebook" application.
--
Dmitry Kuzmenko, www.ib-aid.com