Re: Which Database Abstraction Layer ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Lester Caine wrote:
<snip>
So you start with ADOdb datadict and build the database from that - works well when adding any supported engine. Reserved words which differ between engines are another problem area though.

Yeah, but not just reserved words -- but even what is allowable in a query. MySQL is notorious, of course, for not only the f'd up types (ENUM, proprietary TIMESTAMP format) but also for being rather lax about using aggregate functions w/o specifying columns in GROUP BY clause, etc.


There's other behavior that differs too: e.g. in MySQL (and others) LIKE performs case-insensitive search. In PostgreSQL we have instead ILIKE for insensitive searching and LIKE for case-sensitive searching.

Of course when you bring Oracle into the picture the differences are compounded many fold again (and at that point I no longer can keep up).

I would also suggest you also add Creole (http://creole.phpdb.org) to your test list if you are considering abstraction layers for PHP5.


Doesn't do Firebird yet ;) - but it looks interesting. As long as it has not made the mistake of using MySQL as the SQL standard. Many other packages are simply MySQL wrappers with cobbled support for a couple of other engines.

No, that's true; no Firebird yet. Drivers needed :) It's basically a slightly modified version of the JDBC API for PHP. It does not use MySQL as an authority on SQL ;) I use it primarily with PostgreSQL -- and to a lesser extent SQLite and MySQL.


Cheers,
Hans

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux