RE: [PEAR-DEV] MDB postgres driver and MDB patch
| From: | Lukas Smith | 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 thats 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