[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