From: Reini U. <ru...@x-...> - 2004-06-28 08:02:54
|
Philippe Vanhaesendonck schrieb: > Reini Urban said: >>Thanks a lot! >> >>I fixed some LIMIT issues (offset,count instead of 0,limit) >>and it works fine. >> >>One question though: did you try ADODB also? >>I try to bring this up-to-date also, based on your suggestions. > > > No I didn't try ADOdb (yet) -- actually I discovered it very recently :-X > But I'll work on that this week. > > BTW, what are the pros & cons of ADOdb vs Pear:DB? (I don't want to start > an interface war on the list, I'm just curious!) ADOdb is faster, more quick&dirty in style, has much more unneeded utilities, pre-fetches the next row (which is problematic for us). good things: much more drivers. better meta-level support: field list, table list. I posted this some time ago: adodb doesn't support table locking, but transactions. I've implemented a lot of mysql specific and some sqlite specific optimizations, to avoid locks, but for some destructive operations we will have to add some kind of locking manually as before. But this will not be as global as before, only the tables which are really affected. This are my notes (lib/WikiDB/backend/ADODB.php): * Now (phpwiki-1.3.10) with adodb-4.22, by Reini Urban: * 1) Extended to use all available database backend, not only mysql. * 2) It uses the ultra-fast binary adodb extension if loaded. (php_adodb.so/.dll) * 3) We use FETCH_NUM instead of FETCH_ASSOC (faster and more generic) * 4) To support generic iterators which return ASSOC fields, and to support queries with variable columns, some trickery was needed to use recordset specific fetchMode. The first Execute uses the global fetchMode (ASSOC), then it's resetted back to NUM and the recordset fetchmode is set to ASSOC. * 5) Transaction support, but no locking yet. ADODB basic differences to PearDB: It pre-fetches the first row into fields, is dirtier in style, layout and more low-level ("worse is better"). It has less needed basic features (modifyQuery, locks, ...), but some more unneeded features included: paging, monitoring and sessions, and much more drivers. No locking (which PearDB supports in some backends), and sequences are very bad compared to PearDB. -- Reini Urban http://xarch.tu-graz.ac.at/home/rurban/ |