|
Instructions
NOTE BUILD # 52 MAKES A LARGE CHANGE TO HOW TRANSACTIONS ARE HANDLED
The REALbasic connectivity module attempts to follow the REAL basic API as closely as possible.
However, this API is ambiguous as to how transactions are handled in all cases.
In the language reference it is noted that when you use the InsertRecord method a transaction is automatically started.
But, if you use the RecordSet UPDATE or DELETE methods one is not.
This makes transactions ambiguous and you can run into issues.
Sometimes you will find you do need to commit, and sometimes the operations would happen immediately.
For instance, code like
db.insertrecord
rs.delete
db.commit
would have both the insert and commit in a transaction but code like
rs.delete
db.insertrecord
db.commit
would only include the insertrecord since delete does not automatically start a transaction.
This seems horribly inconsistent.
With that in mind the following changes for B52 are made to make TRANSACTIONS entirely MANUALLY controlled and no automatic start of transactions is done any longer.
Most people should NOT notice this.
[B52]
? ? [CHG][DBRS]? ? ? - reverted change from B51 where delete and update fof recordsets would start a transaction
?? ? ? ? ? ? ? ? ? ? ? removed transaction start from InsertRecord as well
?? ? ? ? ? ? ? ? ? ? ? ALL transactions are MANUALLY INITIATED and COMPLETED (rolled back or committed)
? The change for INSERT should not be noticeable to most users
?? ? [NEW][DB] ? ? ? - added a new method BeginTransaction that takes an optional parameter to start a passive transaction

|