Re: [PATCH] New PDO methods for PostgreSQL driver
| From: | Ilia Alshanetsky | Date: | Mon, 24 May 2010 17:54:46 +0000 |
| Subject: | Re: [PATCH] New PDO methods for PostgreSQL driver | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-48440@lists.php.net to get a copy of this message | ||
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.gasparin@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
>