bump
is this done?

On Wed, Jun 9, 2010 at 3:04 AM, Ilia Alshanetsky <i...@prohost.org> wrote:

> Denis,
>
> I started reviewing the patch, but unfortunately things at work get a bit
> hectic so haven't made too much progress ;(
>
> On Thu, Jun 3, 2010 at 12:07 PM, Denis Gasparin
> <denis.gaspa...@edistar.com>wrote:
>
> > Hi.
> >
> > Did you have the time to review the patches? Any problem with them?
> >
> > Thank you in advance,
> > Denis
> >
> >
> > ----- Messaggio originale -----
> > > Da: "Denis Gasparin" <denis.gaspa...@edistar.com>
> > > A: "Ilia Alshanetsky" <i...@prohost.org>, "Matteo Beccati" <
> > p...@beccati.com>
> > > Cc: internals@lists.php.net, "pdo" <p...@lists.php.net>
> > > Inviato: Mercoledì, 26 maggio 2010 13:11:17
> > > Oggetto: Re: [PHP-DEV] [PATCH] New PDO methods for PostgreSQL driver
> >
> > > I attached to this mail a new version of the patch both in unified and
> > > single file format.
> > >
> > > I attached the unit tests for all the new methods too.
> > > They are three files: one for pgsqlIsInTransaction(), one for
> > > pgsqlCopyFrom* methods and one for pgsqlCopyTo* methods.
> > >
> > > I did a typo writing the documentation in my first mail. The typo is
> > > about the $fields parameter.
> > > It is actually a string (not an array) with field names separated by
> > > comma.
> > >
> > > If needed, I can write also documentation in a more suitable format
> > > for php web site.
> > >
> > > The updated documentation of the methods follows.
> > >
> > > Any feedback is appreciated.
> > >
> > > Thank you in advance,
> > > Denis
> > >
> > > pgsqlIsInTransaction()
> > >
> > > It uses the native Postgresql functions to check transaction status.
> > > It returns one of the following status codes:
> > > * PDO:GSQL_TRANSACTION_IDLE: connection in idle status
> > > * PDO:GSQL_TRANSACTION_ACTIVE: connection is executing a command
> > > * PDO:GSQL_TRANSACTION_INTRANS: connection is idle in a valid
> > > transaction block
> > > * PDO:GSQL_TRANSACTION_INERROR: connection is idle, in a failed
> > > transaction block
> > > * PDO:GSQL_TRANSACTION_UNKNOWN: connection is in a bad status
> > >
> > >
> > >
> > > pgsqlCopyFromArray($table,Array $data,$delimiter,$null, Array $fields)
> > >
> > > It uses the native Postgresql copy construct to append $data to
> > > $table. It returns boolean.
> > > Parameters: * (mandatory) $table: table to append data to
> > > * (mandatory) $data: Array of rows with data in table field order
> > > (or as specified in the $fields array). Fields must be separated by
> > > $delimiter or by
> > > postgresql standard \t)
> > > * $delimiter: alternative delimiter to use in place of the standard
> > > postgres delimiter ("\t")
> > > * $null: alternative string to use as null value. Default is "\N"
> > > * $fields: string with table fields that are specified in $data
> > > parameter. Fields are separated by comma
> > >
> > >
> > >
> > > pgsqlCopyFromFile($table,$filename,$delimiter,$null,$fields)
> > >
> > > It uses the native Postgresql copy construct to append $filename
> > > contents to $table.
> > > It returns boolean.
> > > Parameters: * (mandatory) $table: table to append data to.
> > > * (mandatory) $filename: file with contents to append to $table. See
> > > Postgresql documentation for the format.
> > > * $delimiter: alternative delimiter to use in place of the standard
> > > postgres delimiter ("\t")
> > > * $null: alternative string to use as null value. Default is "\N"
> > > * $fields: string with table fields that are specified in $filename
> > > file. Fields are separated by comma
> > >
> > > pgsqlCopyToArray($table,$delimiter,$null,$fields)
> > >
> > > It uses the native Postgresql copy construct to retrieve $table
> > > contents and store them to an array.
> > > It returns an array of rows or false in case of problems.
> > > The format of the rows into the array is indicated in the $delimiter,
> > > $null and $fields parameters.
> > > Parameters: * (mandatory) $table: table to retrieve data from.
> > > * $delimiter: alternative delimiter to use in place of the standard
> > > postgres delimiter ("\t")
> > > * $null: alternative string to use as null value. Default is "\N"
> > > * $fields: string with table fields to include in the row of the
> > > array. Fields are separated by comma
> > >
> > >
> > > pgsqlCopyToFile($table,$filename,$delimiter,$null,$fields)
> > >
> > >
> > > It uses the native Postgresql copy construct to retrieve $table
> > > contents and store them into a file.
> > > It returns boolean.
> > > The format of the rows stored into the file is indicated in the
> > > $delimiter, $null and $fields parameters.
> > > Parameters: * (mandatory) $table: table to retrieve data from.
> > > * (mandatory) $filename: file where to store the contents of the table
> > > * $delimiter: alternative delimiter to use in place of the standard
> > > postgres delimiter ("\t")
> > > * $null: alternative string to use as null value. Default is "\N"
> > > * $fields: string with table fields to include in the row of the
> > > array. Fields are separated by comma
> > >
> > >
> > > ----- Messaggio originale -----
> > > > Da: "Ilia Alshanetsky" <i...@prohost.org>
> > > > A: "Denis Gasparin" <denis.gaspa...@edistar.com>
> > > > Cc: internals@lists.php.net
> > > > Inviato: Martedì, 25 maggio 2010 18:40:09
> > > > Oggetto: Re: [PHP-DEV] [PATCH] New PDO methods for PostgreSQL driver
> > >
> > > > Good reason, I'll review the patch in the next day or two.
> > > >
> > > >
> > > > On Mon, May 24, 2010 at 5:55 PM, Denis Gasparin <
> > > > denis.gaspa...@edistar.com > wrote:
> > > >
> > > >
> > > >
> > > > The copy to/from sql statements accept both as main parameter a
> > > > filename or stdout/stdin respectively.
> > > >
> > > > The filename represents a file in the database filesystem
> > > > (apache/php and postgresql must reside on the same machine or share
> > > > the file via
> > > > shared filesystem). I quote from the postgresql manual:
> > > >
> > > > <<<
> > > > COPY with a file name instructs the PostgreSQL server to directly
> > > > read from or write to a file. The file must be accessible to the
> > > > server and
> > > > the name must be specified from the viewpoint of the (database)
> > > > server.
> > > > >>>
> > > >
> > > > Because of this "limitation", if you'd like to load a csv file into
> > > > pgsql via copy command, you must before copy into a shared folder
> > > > and the issue the copy from filename command.
> > > > Using the methods added to PDO, you can do it directly from the
> > > > webserver.
> > > >
> > > > About copying to/from stdin and stdout, PostgreSQL enters a
> > > > particular status after a copy stdin/stdout command has been issued
> > > > via sql.
> > > > These status codes are PGRES_COPY_OUT and PGRES_COPY_IN. When in
> > > > this status, the only way to interact with the database server is
> > > > via PQgetCopyData and PQputCopyData.
> > > >
> > > > There are not PDO methods or functions that implements these
> > > > functions and there is no way to share the connection between PDO
> > > > driver and old
> > > > pgsql drivers.
> > > >
> > > > These are the relevant PostgreSQL man pages:
> > > >
> > > > http://www.postgresql.org/docs/8.2/interactive/libpq-copy..html
> > > > http://www.postgresql.org/docs/8.2/interactive/sql-copy.html
> > > >
> > > > Denis
> > > >
> > > >
> > > >
> > > >
> > > > > Denis could you elaborate on what makes use of the COPY code via
> > > > > Sql behave differently then a PHP method call?
> > > > >
> > > > > Ilia Alshanetsky
> > > > > CIO/CSO Centah Inc.
> > > > >
> > > > > On 2010-05-24, at 15:45, Denis Gasparin <
> > > > > denis.gaspa...@edistar.com
> > > > > >
> > > > > wrote:
> > > > >
> > > > > >
> > > > > > I'll provide the patches in a single file as soon as possible..
> > > > > >
> > > > > > 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).
> > > > > >
> > > > > > We are currently using them in production and we needed them in
> > > > > > order to avoid additional connections to database (one with the
> > > > > > old driver and one with PDO).
> > > > > >
> > > > > > Denis
> > > > > >
> > > > > >
> > > > > > ----- Messaggio originale -----
> > > > > >> Da: "Ilia Alshanetsky" < i...@prohost.org >
> > > > > >> A: "Denis Gasparin" < denis.gaspa...@edistar.com >
> > > > > >> Cc: internals@lists.php.net
> > > > > >> Inviato: Lunedì, 24 maggio 2010 19:54:46
> > > > > >> Oggetto: Re: [PHP-DEV] [PATCH] New PDO methods for PostgreSQL
> > > > > >> driver
> > > > > >
> > > > > >> Denis,
> > > > > >>
> > > > > >>
> > > > > >> Could you merge the patches into a single for easier code
> > > > > >> review. Also, the copy to/from file seems like it would just be
> > > > > >> a wrapper
> > > > > >> against the native COPY PostgreSQL command, is there really a
> > > > > >> need to provide a method for it?
> > > > > >>
> > > > > >>
> > > > > >> On Mon, May 24, 2010 at 4:57 AM, Denis Gasparin <
> > > > > >> denis.gaspa...@edistar.com > wrote:
> > > > > >>
> > > > > >>
> > > > > >> Hi.
> > > > > >>
> > > > > >> I developed some patches for PDO/Postgresql driver in order to
> > > > > >> add some useful methods that were available in the original
> > > > > >> pgsql driver.
> > > > > >>
> > > > > >> The attached patches apply on 5.3.2 and svn 5.3.x.
> > > > > >> If needed, i have patches also for 5.2.x.
> > > > > >>
> > > > > >> Please comment and tell me improvements or tips.
> > > > > >>
> > > > > >> Thank you in advance,
> > > > > >>
> > > > > >> Denis Gasparin
> > > > > >>
> > > > > >> Documentation of the added methods follows:
> > > > > >>
> > > > > >> pgsqlIsInTransaction()
> > > > > >>
> > > > > >> It uses the native Postgresql functions to check transaction
> > > > > >> status..
> > > > > >> It returns one of the following status codes:
> > > > > >> * PDO::PGSQL_TRANSACTION_IDLE: connection in idle status
> > > > > >> * PDO::PGSQL_TRANSACTION_ACTIVE: connection is executing a
> > > > > >> command * PDO::PGSQL_TRANSACTION_INTRANS: connection is idle in
> > > > > >> a valid transaction block
> > > > > >> * PDO::PGSQL_TRANSACTION_INERROR: connection is idle, in a
> > > > > >> failed transaction block
> > > > > >> * PDO::PGSQL_TRANSACTION_UNKNOWN: connection is in a bad status
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >> pgsqlCopyFromArray($table,Array $data,$delimiter,$null, Array
> > > > > >> $fields)
> > > > > >>
> > > > > >> It uses the native Postgresql copy construct to append $data to
> > > > > >> $table. It returns boolean.
> > > > > >> Parameters: * (mandatory) $table: table to append data to
> > > > > >> * (mandatory) $data: Array of rows with data in table field
> > > > > >> order (or as specified in the $fields array). Fields must be
> > > > > >> separated by $delimiter or by
> > > > > >> postgresql standard \t)
> > > > > >> * $delimiter: alternative delimiter to use in place of the
> > > > > >> standard postgres delimiter ("\t")
> > > > > >> * $null: alternative string to use as null value. Default is
> > > > > >> "\N" * $fields: array with table fields that are specified in
> > > > > >> $data parameter
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >> pgsqlCopyFromFile($table,$filename,$delimiter,$null,$fields)
> > > > > >>
> > > > > >> It uses the native Postgresql copy construct to append
> > > > > >> $filename contents to $table.
> > > > > >> It returns boolean.
> > > > > >> Parameters: * (mandatory) $table: table to append data to.
> > > > > >> * (mandatory) $filename: file with contents to append to
> > > > > >> $table. See Postgresql documentation for the format.
> > > > > >> * $delimiter: alternative delimiter to use in place of the
> > > > > >> standard postgres delimiter ("\t")
> > > > > >> * $null: alternative string to use as null value. Default is
> > > > > >> "\N" * $fields: array with table fields that are specified in
> > > > > >> $filename file
> > > > > >>
> > > > > >> pgsqlCopyToArray($table,$delimiter,$null,$fields)
> > > > > >>
> > > > > >> It uses the native Postgresql copy construct to retrieve $table
> > > > > >> contents and store them to an array.
> > > > > >> It returns an array of rows or false in case of problems.
> > > > > >> The format of the rows into the array is indicated in the
> > > > > >> $delimiter, $null and $fields parameters.
> > > > > >> Parameters: * (mandatory) $table: table to retrieve data from..
> > > > > >> * $delimiter: alternative delimiter to use in place of the
> > > > > >> standard postgres delimiter ("\t")
> > > > > >> * $null: alternative string to use as null value. Default is
> > > > > >> "\N" * $fields: array with table fields to include in the row
> > > > > >> of the
> > > > > >> array.
> > > > > >>
> > > > > >>
> > > > > >> pgsqlCopyToFile($table,$filename,$delimiter,$null,$fields)
> > > > > >>
> > > > > >>
> > > > > >> It uses the native Postgresql copy construct to retrieve $table
> > > > > >> contents and store them into a file.
> > > > > >> It returns boolean.
> > > > > >> The format of the rows stored into the file is indicated in the
> > > > > >> $delimiter, $null and $fields parameters.
> > > > > >> Parameters: * (mandatory) $table: table to retrieve data from..
> > > > > >> * (mandatory) $filename: file where to store the contents of
> > > > > >> the table * $delimiter: alternative delimiter to use in place
> > > > > >> of the
> > > > > >> standard postgres delimiter ("\t")
> > > > > >> * $null: alternative string to use as null value. Default is
> > > > > >> "\N" * $fields: array with table fields to include in the row
> > > > > >> of the
> > > > > >> array.
> > > > > >>
> > > > > >> -- PHP Internals - PHP Runtime Development Mailing List
> > > > > >> To unsubscribe, visit: http://www.php.net/unsub.php
> > >
> > > -- PHP Internals - PHP Runtime Development Mailing List
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> >
>

Reply via email to