Page 1 of 1

changes between Mysql server 5.0 and 5.1

Posted: Thu 29 Jan 2009 14:48
by jkuiper
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:
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'
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.
mysql> SELECT @@tx_isolation;
+-----------------+
| @@tx_isolation |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.00 sec)
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.

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.

Posted: Fri 30 Jan 2009 10:46
by Dimon
I could not reproduce the problem.
Please send me a complete small sample to dmitryg*devart*com to demonstrate it, including a script to create and fill table. Also specify the exact version of your IDE.

Posted: Sat 31 Jan 2009 14:26
by jkuiper
I see what you mean.
I also installed MysQL 5.1.30 on my pc, and this one will not give me the errors I reproduce on my RH 9.0. But I've installed a Fedora 6 server and try the same thing with my application.

In other words: to be continued. :wink: