From: Philippe V. <Phi...@to...> - 2004-07-03 14:27:56
|
Reini, The ADOdb/Oracle backend is working more or less (still have to fix a couple of things), but I am not too happy with the current state... So here are a couple of questions about WikiDB and backends: 1. Table names / database objects: where do the 'abstraction' happens? I was initially thinking that the backends were responsible for the 'physical' implementation -- including table naming (e.g. _table_names hash), but it looks it is not the case, since we find back table names in WikiDB.php. Given the fact that WikiDB is not using the same names ('links' io 'link') and does not uses prefixes, I am missing some 'translation table' here... Can you comment on this? 2. locking mechanism This is looking a bit weird to me: we are locking all over the place: WikiDB, backends, inside and outside transactions, ... Is there a rationale behind this? It does not look very compatible with a transactional DBMS which does not hold locks longer than a transaction (and cannot unlock without ending the transaction). The notion of transaction and locking are tighly bound. 3. ADOdb generic backend We do have a lot of mysql specifics testing in there... eg: if ((substr($dbh->databaseType,0,5) == 'mysql').... Shouldn't we try to have a backend which is really generic, and have all the database specifics in the ADODB_<db>.php subclass? Current situation is relatively messy (no offense -- just my impressions) -- Philippe |