Transactions in concrete5 (mysqli,adodb)?

Permalink
Hey Devs!

Has anybody experiences with transactions in c5?
This
http://codingexplained.com/coding/php/concrete5/using-transactions-...
points out that it should be possible, but they're using the mysqlt-driver?

I plan switching to mysqli driver, because they are some more pros:
http://stackoverflow.com/questions/548986/mysql-vs-mysqli-in-php...
But I don't know if concrete5 does fully support this?

And there seemed to be some trouble with transactions:
http://www.concrete5.org/developers/bugs/5-6-0-2/transaction-suppor...

So, maybe somebody has some hints for me!
Thanks in advance.

Cheers,
Matthias

programmieraffe
 
Remo replied on at Permalink Reply
Remo
Well, you've already found my post about transaction issues.

Using MYSQLT is currently a bad idea, you can create a site, add all the attributes, install the add-ons and then switch to MYSQLT, that should work fine but as soon as you want to add a new attribute, this will cause an error.

The reason behind this is the missing data dictionary for MYSQLT, check this commit:https://github.com/concrete5/concrete5/commit/8e2fea5d939e0ce5b71fba...

I've created some pull requests for this and it worked fine for me but I haven't done a lot of tests. I really hope that the branch where Andrew merged my changes will find its way into 5.7. concrete5 wants to be an enterprise CMS, better transaction support (as well as better internationalization but that's another story) is very important in my opinion.

If you don't mind switching between the database drivers (we're doing that for a few sites), you can work with MYSQL and use MYSQLT in production but it's not something I'd recommend to beginners.

Switching to mysqli or pdo is a completely different story I have tried to avoid so far. Dumping adodb completely would be a huge task though, especially with the xml data dictionaries etc. Using pdo through adodb might be possible at some point.