As a side note to this, I did another major overhall to my query 
builder/ simplified db access layer, db_oo - and put up a small amount 
of documentation, although there is a small amount of mysql dependance 
in there, it's not impossible to remove...

http://www.akbkhome.com/Projects/db_oo%20-%20an%20object%20based%20Sql%20builder%20and%20wrapper%20for%20peardb/

It is an evolving tool, as its the base I use for a number of projects - 
it can build a object based data access to any mysql database within 
about 2 minutes...., anyway if anyone wants to start thinking through 
ideas about sql builders, this does have alot of the 'chore work' done. 
Let us know if anybody is interested - it's API is still pretty flexible..

regards
alan


Stig S. Bakken wrote:

>On Fri, 2002-03-29 at 13:01, Daniel Lorch wrote:
>
>>Hi,
>>
>>I'm a bit confused about the ongoing projects aiming towards a
>>standard for database abstraction in PHP. There is DBA
>>[ http://php.net/dba ], PEAR DB and a project by l0t3k (and
>>many, many more).
>>
>>So what is going to be "the standard" in PHP's future?
>>
>>I think l0t3k is working on a C based solution, but there are several
>>reasons I'd like to see it written in PHP. PHP code could be easily
>>extended to handle mechanisms such as
>>
>>- caching: only a SELECT? then read from cached file (serialized
>>           result set). INSERT/DELETE/UPDATE? then refresh cache.
>>           
>>- safety: server1 down? ok, move to backup server2.
>>
>>- redundancy: randomly spread read-only queries (SELECT) to servers in
>>              a cluster.
>>              
>>(- extensibility (I put this in brackets, as it is only a vague idea):
>>   For example missing features in MySQL such as subselects could be
>>   simulated by using temporary HEAP tables. This would make this
>>   abstraction layer even more powerful than accessing the database
>>   directly)
>>
>>Most important: this all works *transparently* to the user's script.
>>                A system administrator could adjust this abstraction
>>                layer to fit the system configuration. The users would
>>                just include this file in their projects and never get in
>>                touch with these things.
>>                
>>What do you think? Am I completely wrong/fantasising/talking too much?
>>
>
>When speaking about database abstraction, people (including me) are
>often mixing different concepts, knowingly or not.  The layers involved
>are:
>
>1. common API
>2. feature compatibility layer (easy query rewrites, type abstraction,
>   handling slightly different usage paradigms such as mysql's
>   auto_increment vs. real sequences, etc.)
>3. query builders, schema management, etc. (basically everything that
>   can be done by wrapping existing functions/methods or generating SQL)
>
>All database abstraction layers provide (1).  Most provide (2) to a
>bigger or lesser extent, with Metabase going the furthest, while few
>provide much from (3).
>
>IMHO an efficient database abstraction layer should provide only (1) and
>(2).  The rest like caching, server redundancy, query builders etc. can
>be put on top of the abstraction layer itself and maintained separately.
>
>What PHP really needs is a common C API for (1) and possibly (2) that
>the database extensions themselves provide.  That way there would be no
>need for additional layers written in PHP or piggyback hacks like dbx
>(sorry Marc :).  Come to think of it, ODBC's CLI (Call Level Interface,
>what ext/odbc uses) could be this common C API.
>
> - Stig
>
>




-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to