Electronics & Programming

develissimo

Open Source electronics development and programming

  • You are not logged in.
  • Root
  • » PHP
  • » [PDO] Re: [PHP-DEV] Re: [PDO] Re: [PHP-DEV] [PATCH] New PDO methods for PostgreSQL driver [RSS Feed]

#1 June 14, 2010 08:29:22

Ferenc K.
Registered: 2009-11-02
Reputation: +  0  -
Profile   Send e-mail  

[PDO] Re: [PHP-DEV] Re: [PDO] Re: [PHP-DEV] [PATCH] New PDO methods for PostgreSQL driver


On Mon, Jun 14, 2010 at 5:38 AM, Stanley Sufficool <ssuffic***@*mail.com>wrote:

> On Sun, Jun 13, 2010 at 3:52 PM, Jared Williams
> <jared.willia***@*tlworld.com> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Stanley Sufficool
> >> Sent: 13 June 2010 20:10
> >> To: Ilia Alshanetsky
> >> Cc: Pierre Joye; Denis Gasparin; Matteo Beccati;
> >> intern***@*ists.php.net; pdo
> >> Subject: Re: Re: Re: New
> >> PDO methods for PostgreSQL driver
> >>
> >> On Sat, Jun 12, 2010 at 4:54 AM, Ilia Alshanetsky
> >> <i***@*rohost.org> wrote:
> >> > The concerns you raised about custom methods specific to database
> >> > drivers were not reflective of the PDO's intent as was
> >> clarified by Wez and myself.
> >> >
> >> > The code that was introduced was specific to PostgreSQL, the
> > common
> >> > functionality was introduced in a way that allows each
> >> driver to implement.
> >>
> >>
> >> Yet the rest of the copyFrom, copyTo, etc.. could have ben
> >> generic as well. I specifically stated that this could be
> >> done at the driver level for FreeTDS using the BCP extensions
> >> and/or using "BULK INSERT ". Yet now this is a specific
> >> pgsql*** interface that cannot be abstracted for other
> >> drivers OR implemented at the driver level. Now if I want a
> >> MSSQL / Sybase dump/load method, I need to preface it with
> >> dblibCopyFrom, dblibCopyTo.
> >>
> >> IMHO, every function should be a generic named interface to
> >> the driver or statement level and then throw a "not
> >> implemented" if the driver does not support it. This will
> >> allow for abstraction at a higher level and give the driver
> >> developers an opportunity to implement it. It will also give
> >> PDO users a more structured way to deal with unsupported
> >> methods with try/catch.
> >>
> >> I know I am a noob to the PDO development process, however I
> >> have used OO for quite awhile and I have never seen it DB
> >> abstractions implemented like this.
> >
> >
> > But a complete nonsense for a PDO driver maintainer.
> > If adds one function to a driver, then you have to had add an function
> > to all the rest.
>
> The interface would start out as "unsupported" / NULL function pointer
> in all other drivers and PDO should throw an unsupported as is does
> for all the other non-implemented driver interfaces.
>
> >
> > A generic copyFrom or copyTo method should only be added when there is
> > enough PDO drivers that behave in exactly the same manner, and to do
> > that, you needed specific implementations to test and compare with.
> >
> > If the dblib methods can't behave the same as the postgres methods,
> > then clearly they shouldn't be named the same.
>
> Yes, DBLIB behaves the same as pgsql in that it performs the copy in a
> transaction state and also has it's data visible from the server
> perspective. So would SQLite 2.x "COPY", IBM "EXPORT", MySQL "SELECT
> ... INTO OUTFILE", etc...
>
>
quoting Denis:

"Actually all the methods are wrappers against the native PostgreSQL
commands (connection status, copy to/from).

I needed to develop them as methods because it is not possible to get the
same results with a sql statement (in particular for connection status).

It was not possible also for COPY TO/FROM because of the way PostgreSQL
handle them ( special functions were developed also for the old pgsql
driver)."

I don't know sqlite or IBM, but the MySQL SELECT INTO OUTFILE is a plain SQL
statement, you don't need any special pdo function to use it, on the other
hand, you can't use the postgresql's COPY TO/FROM with PDO without the patch
above.
Did I misunderstood something?

Tyrael

Offline

  • Root
  • » PHP
  • » [PDO] Re: [PHP-DEV] Re: [PDO] Re: [PHP-DEV] [PATCH] New PDO methods for PostgreSQL driver [RSS Feed]

Board footer

Moderator control

Enjoy the 18th of October
PoweredBy

The Forums are managed by develissimo stuff members, if you find any issues or misplaced content please help us to fix it. Thank you! Tell us via Contact Options
Leave a Message
Welcome to Develissimo Live Support