MDB 2.0
| From: | Lukas Smith | Date: | Fri, 27 Jun 2003 15:04:04 +0000 |
| Subject: | MDB 2.0 | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-17793@lists.php.net to get a copy of this message | ||
Hi,
as some of you may have noticed I have started to commit to a new branch
of MDB which will become MDB 2.0.
The main goals of MDB 2.0 are as follows:
1) improve the API
2) improve performance for users that don't need all the features of MDB
3) make writing drivers easier
Especially for 1) I welcome user comments.
Just as a general heads up here are some comments:
- the core class will be much much slimmer than before as the following
things will be removed from the core class: datatype conversion,
management methods, high level methods (like get*). This will make the
class easier to maintain and understand for users and developers. It
will also improve performance and memory consumption for users that
don't need all those features. In turn it will do the reverse for users
that need all the features almost in every instance call (like myself).
- the cell based fetching methods will be removed (unless they are
needed for emulating the bulk fetching methods)
- I will also look at some of the issues that users have been having
with the fetch* methods for example
- I will try to simplify the LOB support (I think I didn't do a very
good job merging in this feature from Metabase)
- the management methods will remain accessable through their own class
(as would actually be possible today already), except for the method
used for reverse engineering xml schema files (those method will be
moved to the new manager package)
- the datatype conversion will be moved to a new class, the methods will
still be accessible through the core class (for example via
MDB_Common::getValue('text', $value))
- the high level methods will be moved to a separate class (any ideas
for a name .. MDB_Highlevel sounds pretty crappy)
- all the new classes will be loadable (but not on demand, except for
the datatype conversion class) through the core class, so it will simply
result in a bit more verbose calls ($mdb->createSequence() will become
$mdb->management->createSequence())
- the manager class will be removed from the package and will become a
new standalone class. I have mailed a separate proposal about this class
which apparently will be called DB_Schema
- the metabase wrapper will now emulate the direct object API not the
functional interface. However I am not sure if I will move the cell
based fetching methods here, so maybe the wrapper will not be feature
complete (obviously someone else could add them). I am not quite sure
what this means for MetaStorage compatibility
I am sure I forgot things. But there is still a bit of time until MDB
2.0 will be released. I think 1-2 months is a good estimate. The result
of the LinutxTag DB extension maintainer meeting might affect this
schedule.
Regards,
Lukas Smith
smith@backendmedia.com
_______________________________
BackendMedia
www.backendmedia.com
berlin@backendmedia.com
Linn Zwoch Smith GbR
Pariser Str. 44
D-10707 Berlin
Tel +49 30 83 22 50 00
Fax +49 30 83 22 50 07