flourishlib / flourish-classes

The class files for Flourish
http://flourishlib.com
182 stars 78 forks source link

Allow 3rd party changes to fDatabase driver pref #150

Open wbond opened 12 years ago

wbond commented 12 years ago

Ticket #762 by theodore

fDatabase currently defaults to prefering mysqli over PDO, if both are present. I'd like to know why, like is mysqli more performant?

In any case, fDatabase currently is not currently built in a way to allow 3rd party devs to change the driver preference in fDatabase::determineExtension().

I would like the ability to be able to set the DB driver to always prefer PDO (no matter which database server [mysql, pgsql, etc.]) so that I can, if needed, get the underlying PDO driver at will.

Thank you for listening to these concerns.

Comment by @MrDamien

In some cases mysqli is faster. To get around the issue temporarily you could uninstall the mysqli extension from PHP.

Why do you need access to the underlying DB driver?

wbond commented 12 years ago

Yes, in general, mysqli is more performant than PDO, based on the Flourish unit test suite.

hopeseekr commented 12 years ago

Will, my use case for generating this was possibly pretty out there ;-)

I created a DAL that uses fCache and fDatabase together where it will first attempt to fetch via APC -> Memcache(d) -> fDatabase. It probably had something to do with that.

Or it may have had to do with my wanting to ensure that fDatabase uses non-simulated prepared statements... Can't remember ;/