History log of /PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a2045ff 01-Jan-2013 Xinchen Hui <laruence@php.net> Happy New Year~
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
d864063 26-Sep-2012 Will Fitch <willfitch@php.net> Bug #62593 Updated to account for INOUT parameters
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
646c0e5 25-Sep-2012 Will Fitch <willfitch@php.net> Bug #62593 Updated to always treat zval by value
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
7ea4f73 20-Sep-2012 Will Fitch <willfitch@php.net> Bug #62593 Updated pdo_pgsql driver to convert boolean values to pg native format in emulation mode
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
e4ca0ed 01-Jan-2012 Felipe Pena <felipe@php.net> - Year++
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
927bf09 01-Jan-2011 Felipe Pena <felipe@php.net> - Year++
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
83a7831 10-Dec-2010 Felipe Pena <felipe@php.net> - Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down)
patch by: gyp at balabit dot hu
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
9ba1e81 03-Jan-2010 Sebastian Bergmann <sebastian@php.net> sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
fa67c86 04-Nov-2009 Matteo Beccati <mbeccati@php.net> - Properly fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted transaction).
# Removed usage of the memory address when generating prepared statemend names
# as uniqueness can't be enforced. Used a statment counter instead.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
e6f4503 04-Nov-2009 Matteo Beccati <mbeccati@php.net> - Reverting previous fix for bug #49985
# Unmerged changes from revision 289924
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
42626ae 26-Oct-2009 Ilia Alshanetsky <iliaa@php.net> - Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted transaction).
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
4b95edd 25-May-2009 Kalle Sommer Nielsen <kalle@php.net> MFH: Typo
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
3fb4089 12-May-2009 Matteo Beccati <mbeccati@php.net> MFH
- Fixed bug #48188
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
6e22ab5 30-Apr-2009 Matteo Beccati <mbeccati@php.net> MFH:
- Changed PDO_PGSQL configure script to require libpq 7.4
- Cleaned up usage of HAVE_PQ* defines
- Fixed compiler warnings
- Removed custom implementation of PQunescapeByte
# Rationale:
# - PDO_PGSQL couldn't even compile when using libpq 7.3
# - PostgreSQL 7.3 is unsupported since a long time
# - Got consensus from pgsql devs on freenode
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
0b576f6 23-Apr-2009 Matteo Beccati <mbeccati@php.net> MFH:
- Reverted previous fix for bug #46274 and properly fixed it
- Fixed bug #48060
# Also added tests for pdo_oci as it's the only other driver currently
# using streams: no regression found
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
6c6c8fe 28-Mar-2009 Matteo Beccati <mbeccati@php.net> - Fixed bug #44861 (scrollable cursor don't work with pgsql)
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
08659c2 31-Dec-2008 Sebastian Bergmann <sebastian@php.net> MFH: Bump copyright year, 3 of 3.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
a88f7fb 12-Oct-2008 Felipe Pena <felipe@php.net> - Fixed compiler warnings
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
9552f1a 11-Oct-2008 Felipe Pena <felipe@php.net> - Fixed bug #46249 (pdo_pgsql always fill in NULL for empty BLOB)
- Fixed bug #46274 (pdo_pgsql - Segfault when using PDO::ATTR_STRINGIFY_FETCHES and blob)
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
43bcf75 26-Feb-2008 Ilia Alshanetsky <iliaa@php.net> Better fix for bug #44189
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
3eb3871 29-Jan-2008 Ilia Alshanetsky <iliaa@php.net> Simplify code
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
d1dded8 31-Dec-2007 Sebastian Bergmann <sebastian@php.net> MFH: Bump copyright year, 2 of 2.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
39f37ce 02-Dec-2007 Ilia Alshanetsky <iliaa@php.net> Fixed bug #43457 (Prepared statement with incorrect parms doens't
throw exception with pdo_pgsql driver)
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
204f9e1 20-Nov-2007 Ilia Alshanetsky <iliaa@php.net> Adjusted fix for bug #42978
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
1e0f6fe 17-Apr-2007 Ilia Alshanetsky <iliaa@php.net> Separate parm zval.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
4223aa4 01-Jan-2007 Sebastian Bergmann <sebastian@php.net> MFH: Bump year.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
2d4b8e1 28-Nov-2006 Ilia Alshanetsky <iliaa@php.net> Fixed bug #39656 (crash when calling fetch() on a PDO statment object
after closeCursor()).
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
c7d84b7 16-Nov-2006 Ilia Alshanetsky <iliaa@php.net> Fixed compiler warnings
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
2332e4f 19-Sep-2006 Ilia Alshanetsky <iliaa@php.net> Fixed bug #37870 (pgo_pgsql tries to de-allocate unused statements).
Fixed bug #36681 (pdo_pgsql driver incorrectly ignored some errors).
Fixed test for bug #38253 not to use faulty SQL that generates errors in
PostgreSQL
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
7f52671 01-Aug-2006 Ilia Alshanetsky <iliaa@php.net> Fixed bug #38168 (Crash in pdo_pgsql on missing bound parameters).
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
79ebfe3 08-May-2006 Ilia Alshanetsky <iliaa@php.net> Fixed memory leaks when working with cursors in PDO PostgreSQL driver.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
fb7d5bd 27-Mar-2006 Wez Furlong <wez@php.net> The fix for #35332 caused #35671 (and thus PECL #6504).

Partially back out that fix and introduce an extra optional step for drivers to
canonicalize the "name" that is used for registering parameters.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
7731dc9 17-Mar-2006 Antony Dovgal <tony2001@php.net> fix #36727 (segfault in pdo_pgsql bindValue() when no parameters are defined)
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
5bd9322 01-Jan-2006 foobar <sniper@php.net> bump year and license version
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
f7276af 17-Dec-2005 Ilia Alshanetsky <iliaa@php.net> Fixed compiler warning
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
c2ed71a 17-Dec-2005 Ilia Alshanetsky <iliaa@php.net> Retry on failed prepare resulting from duplicate statement name.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
4e03ce9 01-Dec-2005 Ilia Alshanetsky <iliaa@php.net> Fixed memory leaks
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
911355b 30-Nov-2005 Ilia Alshanetsky <iliaa@php.net> Fixed memory leak
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
1310333 29-Nov-2005 Wez Furlong <wez@php.net> Added PDO::pgsqlLOBCreate(), PDO::pgsqlLOBOpen() and PDO::pgsqlLOBUnlink().
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
70331c3 25-Nov-2005 Wez Furlong <wez@php.net> Addresses #35338.

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.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
6cc5e19 24-Sep-2005 Wez Furlong <wez@php.net> Refs #34630
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
edc3922 10-Sep-2005 Wez Furlong <wez@php.net> if a php bolean makes it as far as the parameter callback, it must really need
to be boolean; express is as native pgsql 't' or 'f'.

Add a test case for Bug #33876, which is a partially bogus bug.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
38317bb 03-Sep-2005 Edin Kadribasic <edink@php.net> Don't crash on invalid parameter #34203 (Wez)
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
23e671a 03-Aug-2005 foobar <sniper@php.net> - Bumber up year
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
858d827 09-Jul-2005 Ilia Alshanetsky <iliaa@php.net> Added cursor closer handler.
Fixed memory leak.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
6ee00c8 08-Jul-2005 Wez Furlong <wez@php.net> fix leak
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
6377c0c 08-Jul-2005 Wez Furlong <wez@php.net> Fix PECL #4753
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
512af63 08-Jul-2005 Wez Furlong <wez@php.net> rewrite original names to our preferred format
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
2301d93 08-Jul-2005 Ilia Alshanetsky <iliaa@php.net> Some of us don't have PostgreSQL 8.0 :)
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
529d817 08-Jul-2005 Wez Furlong <wez@php.net> Add early support for native prepared statements in pgsql.
Note that some tests now fail; if we can't resolve this in time for the beta,
the prepare code should be disabled (I'll add a flag for this later today).
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
75cfa5c 03-Jul-2005 Wez Furlong <wez@php.net> probable fix for PECL bug #4546
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
7ef1a91 01-Jul-2005 Edin Kadribasic <edink@php.net> Fold PQresultErrorField() into a macro
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
fa0e534 18-May-2005 Ilia Alshanetsky <iliaa@php.net> Various compiler warning fixes.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
4f778ca 13-May-2005 Wez Furlong <wez@php.net> patch by Christopher Kings-Lynne, slightly modified
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
3e6fce8 23-Mar-2005 Christopher Kings-Lynne <chriskl@php.net> - Use a replacement for PQunescapeBytea so that linking against a pre-7.3
libpq is possible. This is exactly what ext/pgsql currently does.

# I hope this is an acceptable improvement.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
cdb042f 10-Mar-2005 Marcus Boerger <helly@php.net> - Fix fetching bound vars & tests
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
2c30686 15-Feb-2005 Edin Kadribasic <edink@php.net> Fixed bug #3478: handling of 64bit return values on 32bit machine
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
af16266 07-Feb-2005 Wez Furlong <wez@php.net> fix pointer indirection (and thus leak)
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
22ff90f 06-Feb-2005 Edin Kadribasic <edink@php.net> Adjust for the new get_col api
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
bf77a39 05-Feb-2005 Edin Kadribasic <edink@php.net> Decode pgsql LOB objects (bytea type) on fetch
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
95cc208 05-Feb-2005 Edin Kadribasic <edink@php.net> Removed unused variebles.
Return OID as int.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
1a962e9 04-Feb-2005 Edin Kadribasic <edink@php.net> Get OID of the last inserted row
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
60f5e66 23-Jan-2005 Edin Kadribasic <edink@php.net> Add support for fetching meta data
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
d8aa131 23-Jan-2005 Edin Kadribasic <edink@php.net> Store pgsql_type, intval and boolav per column
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
902c2b4 22-Jan-2005 Edin Kadribasic <edink@php.net> Remove debug stuff
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
e58a867 22-Jan-2005 Edin Kadribasic <edink@php.net> Support for native nulls, bools and ints
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
26f97a9 21-Jan-2005 Wez Furlong <wez@php.net> Eliminate unused parameter.
Don't start a transaction when asking for a cursor with pgsql.
Fix parameter binding for sqlite3
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
ef0de01 13-Jan-2005 Wez Furlong <wez@php.net> Take a blind stab at implementing scrollable cursors for pgsql.
We allocate a unique cursor name for each statement, so that we
don't interfere with other open statement handles on the same dbh.

Note, however, that we force a new transaction for each open scrollable cursor
(postgres requires cursors to be used inside a transaction). This is okay,
except for the case where a scrollable cursor is opened, an update is made and
the cursor is closed; closing the cursor commits the transaction that was begun
when it was opened.

It might well be better to avoid the transaction in PDO and force the user to
be aware of the requirements of cursors and explicitly initiate the transaction
themselves.

This is all untested code; it compiles and looks like it will work, but I
encourage someone with a real postgres setup to actually sit down and try to
use it.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
d3ab27f 12-Jan-2005 Wez Furlong <wez@php.net> stub out scrollable cursors
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
b7784d9 20-May-2004 Ilia Alshanetsky <iliaa@php.net> Fixed possible crash.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
38eb52b 20-May-2004 Ilia Alshanetsky <iliaa@php.net> Make doer() work.
Make error reporting system work.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
0699938 20-May-2004 Wez Furlong <wez@php.net> Don't dup here, PDO will do it as needed
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c
9d6c259 20-May-2004 Edin Kadribasic <edink@php.net> PostgreSQL PDO driver.
/PHP_5_3/ext/pdo_pgsql/pgsql_statement.c