changes between Mysql server 5.0 and 5.1
Posted: Thu 29 Jan 2009 14:48
I have recently mysql updated to 5.1.30.
It workt fine, except using tclientdataset with tmyquery.
I have two forms witch using tclientdataset, because I have to selected some options. These options will be saved into the clientdataset. When using applyupdates(), the datasetprovider creates the queries I need to update the table in the database. But if I want to save the updates, Delphi comes with this error message:
Why do I have to change my transaction level in tmyconnection to get it worked, or did I found a bug in MyDAC 5.70.0.44.
My purpose is to use ilReadCommitted.
It workt fine, except using tclientdataset with tmyquery.
I have two forms witch using tclientdataset, because I have to selected some options. These options will be saved into the clientdataset. When using applyupdates(), the datasetprovider creates the queries I need to update the table in the database. But if I want to save the updates, Delphi comes with this error message:
This was not occurring in MySQL server 5.0.34. I did some research and found out the transaction level on InnoDB in 5.1 is 'REPEATABLE READ' by default.Project xxx raised exception class EMySQLException with message "
#HY000Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not save for binlog
mode 'STATEMENT'
Also in 5.0. But it all worked in 5.0. TMyconnection is default set to ilReadCommitted. My workaround is using ilRepeatableRead and all my modified records in clientdataset will be updated to the database.mysql> SELECT @@tx_isolation;
+-----------------+
| @@tx_isolation |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.00 sec)
Why do I have to change my transaction level in tmyconnection to get it worked, or did I found a bug in MyDAC 5.70.0.44.
My purpose is to use ilReadCommitted.