RE: [PEAR-DEV] MDB postgres driver and MDB patch

From: Date: Thu, 20 Jun 2002 11:42:43 +0000
Subject: RE: [PEAR-DEV] MDB postgres driver and MDB patch
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-7232@lists.php.net to get a copy of this message
Hi, I did the first bunch of tests and it is looking good. I will add the driver in the next couple of minutes because I started to make little modifications. The manager does not work because a couple of methods are not implemented yet, but that’s allright .. we will take it once step at a time. Anyways after commenting out the manager stuff in MDB_test.php I found discrepancies in the following method outputs: tableInfo() not a big deal as I will probably rewrite the mysql version to use the management methods provided by MDB instead. So once all management methods are implemented it should probably work without a RDBMS specific method. limitQuery() createSequence() nextId() getOne() getAssoc() query() returns a resource even if the query was "just" a delete statement that does not really need a resource returned. Check PEAR DB's pgsql driver for a solution. Some of the above as well as the management class stuff is allready on your todo list ... so I am looking forward to this :-) Lukas Smith smith@dybnet.de _______________________________ DybNet Internet Solutions GbR Reuchlinstr. 10-11 Gebäude 4 1.OG Raum 6 (4.1.6) 10553 Berlin Germany Tel. : +49 30 83 22 50 00 Fax : +49 30 83 22 50 07 www.dybnet.de info@dybnet.de > -----Original Message----- > From: Lukas Smith [mailto:smith@dybnet.de] > Sent: Thursday, June 20, 2002 12:31 PM > To: 'Paul Cooper'; pear-dev@lists.php.net > Subject: RE: [PEAR-DEV] MDB postgres driver and MDB patch > > Hi, > > thx for the work. > I will install postgresql to check it out. > You can also run driver_test.php but you will first have to configure > driver_text_cfg.php. This will run Metabases test suite using the MDB > Metabase Wrapper. The good thing is that the tests are quite complete > and if they run through you know that a lot works :-) > If they fail it can of course be a problem in the Wrapper :-) > > Oh one thing: > If you find the time could you create a manager_pgsql.php similar to > manager_mysql.php. This is a new feature that is currently being > implemented into Metabase/MDB. All of the RDBMS management methods are > being moved to a separate class and are loaded on demand. > > General question: > Was the Readme.txt helpful? > If you have any further guidelines you would have liked to have seen > please mail them to me and I will include them. > > A couple of things concering your patch to common.php: > Thx for spotting those places where I was still checking for true/false > return values. I fear there are still a couple places where this is the > case but we are getting closer to elimination :-) > > Regarding the while loops in fetchCol and fetchAll I would much rather > leave it like it is ATM. This way we can do without seeking the row with > every fetchInto call. Why exactly did you feel it was necessary to add > $row? > > I assume you did this because of baseFetchInto? > I have added the following to the method: > function baseFetchInto($result, &$array, $rownum) > { > if($rownum == NULL) { > ++$this->highest_fetched_row[$result]; > $rownum = $this->highest_fetched_row[$result]; > } else { > $this->highest_fetched_row[$result] = > max($this->highest_fetched_row[$result], $row); > } > > and this to the mysql specific fetchInto: > > function fetchInto($result, &$array, $fetchmode = DB_FETCHMODE_DEFAULT, > $row = NULL) > { > if ($row !== NULL) { > if (!@mysql_data_seek($result, $row)) { > return NULL; > } > $this->highest_fetched_row[$result] = > max($this->highest_fetched_row[$result], $row); > } else { > ++$this->highest_fetched_row[$result]; > } > > Anyways I am preparing a release today. > If all goes well your pgsql driver should be in the next release. > > Best regards, > Lukas Smith > smith@dybnet.de > _______________________________ > DybNet Internet Solutions GbR > Reuchlinstr. 10-11 > Gebäude 4 1.OG Raum 6 (4.1.6) > 10553 Berlin > Germany > Tel. : +49 30 83 22 50 00 > Fax : +49 30 83 22 50 07 > www.dybnet.de info@dybnet.de > > > -----Original Message----- > > From: Paul Cooper [mailto:pgc@ucecom.com] > > Sent: Wednesday, June 19, 2002 5:14 PM > > To: pear-dev@lists.php.net > > Subject: [PEAR-DEV] MDB postgres driver and MDB patch > > > > I've been working on constructing a postgres driver for MDB. Following > > the instructions in the MDB readme I've ported the metabase driver, > > added methods from PEAR DB postgres driver as needed. You can get it > > from here, > > > > http://sparky.ucecom.com/~pgc/MDB/pgsql.phps > > > > I tried to go through the code and reformat to the pear cs. I haven't > > added the license. I presume we have permission to relicense metabase > > components into pear? > > > > I made some changes to common.php in the process of developing / > > debugging, see attached diff. > > > > It copes with everything in MDB_test.php (minus stuff on the todo :). > > > > TODO > > > > * sort out sequences and nextId > > * write / port a manager class > > * BLOB stuff - never really used BLOBs so this will be last > > * more PHPDoc and docs in general > > * more robust testing framework > > > > Paul > > > > -- > > ----------------------------------------------------------------- > > Paul Cooper | Tel: 0121 331 7858 > > Senior Programmer and Database Engineer | Fax: 0121 331 7859 > > UCEcom | > > mailto:pgc@ucecom.com > > University of Central England | > > http://www.ucecom.com > > Birmingham, B4 7DX | > > ----------------------------------------------------------------- > > > -- > PEAR Development Mailing List (http://pear.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.pear.dev (#7232) next »