[wp-trac] [WordPress Trac] #16091: Replace current DB class with a robust standardized DB abstraction layer

WordPress Trac wp-trac at lists.automattic.com
Tue Jan 4 16:26:10 UTC 2011


#16091: Replace current DB class with a robust standardized DB abstraction layer
-----------------------------+------------------------------
 Reporter:  sc0ttkclark      |       Owner:
     Type:  feature request  |      Status:  new
 Priority:  normal           |   Milestone:  Awaiting Review
Component:  Database         |     Version:  3.1
 Severity:  major            |  Resolution:
 Keywords:  4.0              |
-----------------------------+------------------------------

Comment (by sc0ttkclark):

 From Larry Garfield, the maintainer:

 I can't compare DBTNG and ADOdb directly, as I have not really used ADOdb.
 DBTNG originally was intended as a very thin set of tools to wrap SQL, not
 a
 complete and all-encompassing database library; it evolved into a fairly
 solid
 and robust database library over time through lots of good patches and
 careful
 curation of the design and architecture with an eye toward making it
 minimally-dependent on Drupal.  That it ended up as an almost-viable
 stand-
 alone library is a very nice side-effect and one that we are excited to
 try
 and exploit, but was not one of the original explicit design goals.

 We were approached by developers from Doctrine very early on to see if we
 wanted to just adopt Doctrine.  We considered that briefly but decided
 against
 it for a couple of reasons.

 1) Drupal has a poor history with leveraging 3rd party libraries, as its
 archtiecture tends toward integrated solutions rather than stitching
 together
 separate systems.

 2) Doctrine at the time was, I believe, larger than Drupal core itself,
 and we
 were looking for a lightweight solution, not to double the size of Drupal.

 3) Doctrine attempts to be an ORM using its own SQL-esque string syntax,
 which
 we believed was not a good architectural direction.  DBTNG is not an ORM
 nor
 does it attempt to be.

 Some more background on DBTNG's architectural decisions can be found here:

 http://www.garfieldtech.com/blog/orm-vs-query-builders

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/16091#comment:5>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list