Hi !!
When I download the MDB2 package (beta6) I just have the basic/common files within the MDB2 folder. Then I have to download each specific DB driver separately (http://pear.php.net/package/MDB2_Driver_mysql/)
ok, i just added all other drivers.
For Postgres support I think we have to replace all 'NOW()' commands to lowercased 'now()'.
that's true ? looks very strange ... anyone using postgres can confirm this ?
As far as we can trust this post: http://sourceforge.net/tracker/index.php?func=detail&aid=1320311&gro...
well, it's hard to understand why NOW() does not work and now() works, but as mysql works with both i changed it to now()
maybe it's not a good idea, mdb2 is still beta and does not support as many database backeds as pear does, maybe it's better to have both functional. Also having a first 'abstraction' layer at rcube_db will allow in the future to add or replace the database backend without effort.
You maybe right.... but I can live with just support for MDB2. I think MDB2 will be stable before RoundCube gets out of beta state.
from my point of view replacing the current rcube_db with mdb2 is a bad idea, first it involves work and no real beneffit, you loose replication support and if something goes wrong with mdb2 you are totally tied to it (what happens if mdb2 is still beta when rc has to be released). Having a own layer is a degree of freedom that does not impose any restriction or speed problem and let's you change all database backend whenever you like with little effort.
I saw your solution but this still requires to add a separate abstraction in our layer for each new database. If there's an abstraction functionality in the PEAR package we should use this.
as far as i know pear does not have this functionality and i cannot find any proper documentation for mdb2 so i also do not know how to do it with mdb2.
I would prefer that the rcube_db class gets similar methods for data type conversion and just pass them to the PEAR object if available (as in MDB2) and implements them itself if not (as for DB).
what do you mean ?