Commit Graph

63 Commits

Author SHA1 Message Date
Hannes Magnusson
950ab95207 Fix ZTS build 2006-12-16 18:31:23 +00:00
Ilia Alshanetsky
460e59a1b5 MFB: Fixed bug #39663 (Memory leak in pg_get_notify() and a possible memory
corruption on Windows in pgsql and pdo_pgsql extensions).
2006-11-29 15:47:41 +00:00
Ilia Alshanetsky
0e6a629702 MFB: Make quote() in PostgreSQL use PQescapeByteaConn() whenever possible
for binary strings.
2006-10-06 22:34:29 +00:00
Ilia Alshanetsky
e448be3c28 MFB: Added support for character sets in PDO quote() method for PostgreSQL
8.1.4 and higher.
2006-10-04 23:53:54 +00:00
Ilia Alshanetsky
8690a5a2d9 MFB:
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
2006-09-19 15:46:25 +00:00
Ilia Alshanetsky
889f66837c MFB: Fixed memory leaks when working with cursors in PDO PostgreSQL driver. 2006-05-08 14:33:23 +00:00
Edin Kadribasic
7b156d6236 MFB: Fixed build 2006-03-14 11:14:05 +00:00
Ilia Alshanetsky
b90245d90a MFB51: Fixed bug #36176 (PDO_PGSQL - PDO::exec() does not return number of
rows affected by the operation).
2006-01-29 17:36:12 +00:00
foobar
251c5173fd bump year and license version 2006-01-01 13:10:10 +00:00
Marcus Boerger
7ffe23c515 - MFB Get rid of warnings 2005-12-20 21:12:13 +00:00
Wez Furlong
f6276a2b8a zts fixes 2005-08-12 23:32:31 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Wez Furlong
79f3cb9856 Add PDO_PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute, which, when set
to true, forces the driver to use PDO's own emulated prepared statement
support.

Why would you want that, considering that native prepared statements are
supposed to be the best thing ever?

"Often postgresql will have to plan the query without knowing the parameters -
and it will choose a bad plan.  In some cases it will plan based on the first
parameters you send. "

Ugh.  So now we have a way to let you decide that you know better than the
pgsql query planner.
2005-07-20 02:37:57 +00:00
Ilia Alshanetsky
858d827790 Added cursor closer handler.
Fixed memory leak.
2005-07-09 04:54:04 +00:00
Wez Furlong
529d8177fe 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).
2005-07-08 15:27:34 +00:00
Ilia Alshanetsky
6c332449f9 Use PQexecParams() when available, use original case in all other instances. 2005-07-07 13:35:39 +00:00
Ilia Alshanetsky
10e1eecf3f Leave it up to the user to decide if to escape the sequence name or not. 2005-07-07 02:17:20 +00:00
Ilia Alshanetsky
bcb447f6b8 Faster sequence id retrieval. 2005-07-07 00:52:19 +00:00
Edin Kadribasic
f05de12fcf Only check for InvalidOid when not looking up a sequence 2005-07-01 22:43:16 +00:00
Edin Kadribasic
7ef1a91508 Fold PQresultErrorField() into a macro 2005-07-01 22:30:55 +00:00
Edin Kadribasic
1a10666b08 Added support for fetching current value of a sequence when the
optional sequence name has been passed to PDO::lastInsertId()
2005-07-01 21:54:50 +00:00
Ilia Alshanetsky
613d30f215 Silence warnings. 2005-06-30 00:07:42 +00:00
Ilia Alshanetsky
8c0dc5e887 Make exec() return FALSE on error as do other drivers. 2005-06-28 14:54:44 +00:00
Ilia Alshanetsky
3fe8b55917 Fixed double-free bug. 2005-06-28 04:03:58 +00:00
Ilia Alshanetsky
f04cbae3fd fixed oid retrieval. 2005-06-28 02:09:53 +00:00
Ilia Alshanetsky
fa0e534f83 Various compiler warning fixes. 2005-05-18 22:40:56 +00:00
Wez Furlong
4f778ca31d patch by Christopher Kings-Lynne, slightly modified 2005-05-13 18:09:03 +00:00
Wez Furlong
2c5b2fc105 Alan: moved your fields away, but reserved you a pointer.
Changed PDO::lastInsertId() to have following proto:

	string PDO::lastInsertId([string name])

this allows arbitrary unique identitifers to be returned from the driver.

The optional name parameter is for databases that require additional contextual
information to be able to return the correct identifier.  None currently use
it, but pgsql will be on the list of drivers that do.
2005-02-26 17:27:51 +00:00
Marcus Boerger
a455c7abcb - Shutup notices 2005-02-20 19:26:27 +00:00
Ilia Alshanetsky
9b394af973 Simplify code and fix compiler warning. 2005-02-12 20:55:28 +00:00
Edin Kadribasic
accdde8c19 Finalized pgsql LOB support using native pgsql bytea type.
If paramater is bound with type PDO_PARAM_LOB the quoter function
gets a hint that specific LOB type quoting should be used:

$stmt->bindParam(":lob", $lob, PDO_PARAM_LOB);
2005-02-06 01:27:27 +00:00
Edin Kadribasic
bf77a39349 Decode pgsql LOB objects (bytea type) on fetch 2005-02-05 22:55:23 +00:00
Ilia Alshanetsky
996b464e30 Use the created connection string. 2005-02-03 22:24:50 +00:00
Edin Kadribasic
60f5e66aa9 Add support for fetching meta data 2005-01-23 14:50:06 +00:00
Wez Furlong
26f97a911b Eliminate unused parameter.
Don't start a transaction when asking for a cursor with pgsql.
Fix parameter binding for sqlite3
2005-01-21 00:39:03 +00:00
Wez Furlong
a9d98544de Allow drivers to select bind emulation on a per statement basis 2005-01-18 04:58:50 +00:00
Edin Kadribasic
095a6f1eb3 Use PQescapeBytea() for quoting. Need to think how to add binary safe
quoting for blobls (pgsql bytea type).
Fixes #2818
2005-01-17 10:37:41 +00:00
Wez Furlong
ef0de01b62 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.
2005-01-13 01:59:39 +00:00
Wez Furlong
02d6b65c67 lame implementation of SQLSTATE error codes 2005-01-07 05:25:57 +00:00
Ilia Alshanetsky
1fc2b79172 Make handle error messages handle persistent situations better. 2004-09-23 21:15:51 +00:00
Wez Furlong
72040f7f2a more method table adjustments.
mysql driver needs work with the error message stuff.
Other drivers need a bit more auditing...
2004-09-23 20:43:11 +00:00
Ilia Alshanetsky
65ae35729d Proper parameter separators for PostgreSQL connection initialization. 2004-07-29 00:18:02 +00:00
Marcus Boerger
0b40c1d82b - Trim error messages 2004-07-28 00:51:48 +00:00
Marcus Boerger
7557b388de - Fix shutdown problems 2004-07-28 00:40:01 +00:00
Wez Furlong
d5923d9121 equivalent segv/shutdown fix for failed connect 2004-07-28 00:15:19 +00:00
Ilia Alshanetsky
0d085b253f Allow pgsql driver to accept login & password as separate parameters like
other PDO drivers can.
2004-07-20 00:33:21 +00:00
Edin Kadribasic
9cc4fb18b6 PQfreemem() is only available in 7.4 2004-05-26 17:45:03 +00:00
Edin Kadribasic
c7a2cf7385 Whitespace: editor in the wrong mode ;) 2004-05-25 17:38:58 +00:00
Edin Kadribasic
16a53a00ea Add transaction support 2004-05-25 17:36:22 +00:00
Edin Kadribasic
ff1cbb8460 Use binary safe function for quoting 2004-05-25 16:24:29 +00:00