Subject Re: [IBO] SQL Update where params
Author jensdein
After having done some reading on transaction isolation and some
testing I have come to the conclution that I had to change my
application that use TIBODataset's from transaction isolation level
committed to Concurrency.

This at least solved the problem of different transaction's
overwriting each other's values - which was my aim.

I actually tried to use isolation level committed and use my own
EditSQL, but that was not working either (don't quite grasp how it's
supposed to work) because my where statement had to consist of all
fields in table (to avoid changing a record where some values might
have changed). This natrually did not work either because the where
clause is static and use an = 'equality' sign to compare current with
old values in the record and when some values are null it will never
find the record to be updated - this is why I don't quite grasp how
this could ever work (if you have fields with null values). I could
see though that in the code there was a test for (when using EditSQL)
that if the record was not located it would generate an exception -
which it did.

Changing the application to use tiConcurrency also forced me to be
more aware of the length of transactions, because now I had to commit
in order to see other users/transactions changes - which might not be
a bad thing - but cost me some additional work to make sure the app
still behaved like before.

This was just a litt summary of my experinces with IBO and making sure
no record overwrites could occur - I just wanted to tell about my
experinces in hope someone else might find them usefull. If i'm not
totally wrong here I think this perhaps should be stated a little more
clearly in online help - I believe this is the core of client/server
development.

regards,
Jens Dein