mirror of
https://github.com/php/php-src.git
synced 2026-04-06 07:32:54 +02:00
Postgres client API is pretty poor, so we have zero idea about the actual parameter types in a statement. We now defer the preparation of a statement until the first call to execute is made. At that point, we have the parameters defined by the calling script, so we can use the typing specified there when we perform the prepare. For PDO_PARAM_LOB parameters, we set the binary formatting flag. We can't just set this flag for all parameters, because its meaning is not "string data, counted length" but "data is in native format". If this flag is set for a numeric column and we send the number 1 formatted as a string, then we will get an "insufficient data left in message" error message, because the library was expecting sizeof(int4) bytes but only saw 1 byte for "1". This is infuriating because we have no way to determine the datatypes for parameters, and the type we explicitly set has to match the type in the database. The only choice we're left with is telling postgres to deduce the type; we still have no idea what type was deduced.
64 lines
1.8 KiB
XML
64 lines
1.8 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!DOCTYPE package SYSTEM "../pear/package.dtd">
|
|
<package version="1.0">
|
|
<name>PDO_PGSQL</name>
|
|
<summary>PostgreSQL driver for PDO</summary>
|
|
<maintainers>
|
|
<maintainer>
|
|
<user>edink</user>
|
|
<name>Edin Kadribasic</name>
|
|
<email>edink@php.net</email>
|
|
<role>lead</role>
|
|
</maintainer>
|
|
<maintainer>
|
|
<user>iliaa</user>
|
|
<name>Ilia Alshanetsky</name>
|
|
<email>iliaa@php.net</email>
|
|
<role>lead</role>
|
|
</maintainer>
|
|
<maintainer>
|
|
<user>wez</user>
|
|
<name>Wez Furlong</name>
|
|
<email>wez@php.net</email>
|
|
<role>lead</role>
|
|
</maintainer>
|
|
|
|
</maintainers>
|
|
<description>
|
|
This extension provides an PostgreSQL driver for PDO.
|
|
</description>
|
|
<license>PHP</license>
|
|
<release>
|
|
<state>beta</state>
|
|
<version>1.0</version>
|
|
<date>2005-11-01</date>
|
|
|
|
<notes>
|
|
Now features native prepared statements and numerous other improvements.
|
|
|
|
You need to install the PDO core module before you can make use of this one.
|
|
You also require PostgreSQL client libraries installed on the machine where you
|
|
intend to build and/or use it.
|
|
|
|
If you are running on windows, you can download the binary from here:
|
|
http://pecl4win.php.net/ext.php/php_pdo_pgsql.dll
|
|
</notes>
|
|
|
|
<filelist>
|
|
<file role="src" name="config.m4"/>
|
|
<file role="src" name="config.w32"/>
|
|
<file role="src" name="pdo_pgsql.c"/>
|
|
<file role="src" name="pgsql_driver.c"/>
|
|
<file role="src" name="pgsql_statement.c"/>
|
|
<file role="src" name="php_pdo_pgsql.h"/>
|
|
<file role="src" name="php_pdo_pgsql_int.h"/>
|
|
|
|
<file role="doc" name="CREDITS"/>
|
|
</filelist>
|
|
<deps>
|
|
<dep type="php" rel="ge" version="5.0.3"/>
|
|
<dep type="ext" rel="ge" name="pdo" version="1.0RC2"/>
|
|
</deps>
|
|
</release>
|
|
</package>
|