<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/php-git.git/ext/pdo_pgsql/php_pdo_pgsql_int.h, branch php-5.2.2RC2</title>
<subtitle>git.php.net: repository/php-src.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/'/>
<entry>
<title>MFH: Bump year.</title>
<updated>2007-01-01T09:36:18+00:00</updated>
<author>
<name>Sebastian Bergmann</name>
<email>sebastian@php.net</email>
</author>
<published>2007-01-01T09:36:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=4223aa4d5e0f643c2f78f509a32a0ada4eddce91'/>
<id>4223aa4d5e0f643c2f78f509a32a0ada4eddce91</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bump year and license version</title>
<updated>2006-01-01T12:51:34+00:00</updated>
<author>
<name>foobar</name>
<email>sniper@php.net</email>
</author>
<published>2006-01-01T12:51:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=5bd93221a8d7f697cad7aeda4f10da08372315e0'/>
<id>5bd93221a8d7f697cad7aeda4f10da08372315e0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Retry on failed prepare resulting from duplicate statement name.</title>
<updated>2005-12-17T17:59:05+00:00</updated>
<author>
<name>Ilia Alshanetsky</name>
<email>iliaa@php.net</email>
</author>
<published>2005-12-17T17:59:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=c2ed71a8795567622b582f456af4148a7b54ae22'/>
<id>c2ed71a8795567622b582f456af4148a7b54ae22</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added PDO::pgsqlLOBCreate(), PDO::pgsqlLOBOpen() and PDO::pgsqlLOBUnlink().</title>
<updated>2005-11-29T02:11:39+00:00</updated>
<author>
<name>Wez Furlong</name>
<email>wez@php.net</email>
</author>
<published>2005-11-29T02:11:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=131033352d3a0d6ff59b9af4dbc8b2908ec30d11'/>
<id>131033352d3a0d6ff59b9af4dbc8b2908ec30d11</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Addresses #35338.</title>
<updated>2005-11-25T03:35:04+00:00</updated>
<author>
<name>Wez Furlong</name>
<email>wez@php.net</email>
</author>
<published>2005-11-25T03:35:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=70331c361e5457f09523bfbd81dce92c01741181'/>
<id>70331c361e5457f09523bfbd81dce92c01741181</id>
<content type='text'>
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.

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.

</pre>
</div>
</content>
</entry>
<entry>
<title>Add PDO_PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute, which, when set</title>
<updated>2005-07-20T02:37:57+00:00</updated>
<author>
<name>Wez Furlong</name>
<email>wez@php.net</email>
</author>
<published>2005-07-20T02:37:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=79f3cb9856abe0537f3fbd6004c7e2ed82aaeb84'/>
<id>79f3cb9856abe0537f3fbd6004c7e2ed82aaeb84</id>
<content type='text'>
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.

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.

</pre>
</div>
</content>
</entry>
<entry>
<title>Add early support for native prepared statements in pgsql.</title>
<updated>2005-07-08T15:27:34+00:00</updated>
<author>
<name>Wez Furlong</name>
<email>wez@php.net</email>
</author>
<published>2005-07-08T15:27:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=529d8177fea4e759332d96ab5714273f4c006158'/>
<id>529d8177fea4e759332d96ab5714273f4c006158</id>
<content type='text'>
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).

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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).

</pre>
</div>
</content>
</entry>
<entry>
<title>Fold PQresultErrorField() into a macro</title>
<updated>2005-07-01T22:30:55+00:00</updated>
<author>
<name>Edin Kadribasic</name>
<email>edink@php.net</email>
</author>
<published>2005-07-01T22:30:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=7ef1a91508ec876a3c79b9e4da42f3dca6c65b3e'/>
<id>7ef1a91508ec876a3c79b9e4da42f3dca6c65b3e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed define checks that break the build.</title>
<updated>2005-05-17T20:08:53+00:00</updated>
<author>
<name>Ilia Alshanetsky</name>
<email>iliaa@php.net</email>
</author>
<published>2005-05-17T20:08:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=57aa3b984bce4d2416cacccdc01a79cf6fbf8838'/>
<id>57aa3b984bce4d2416cacccdc01a79cf6fbf8838</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>patch by Christopher Kings-Lynne, slightly modified</title>
<updated>2005-05-13T18:09:03+00:00</updated>
<author>
<name>Wez Furlong</name>
<email>wez@php.net</email>
</author>
<published>2005-05-13T18:09:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=4f778ca31d3a1c71f9eeab0f9e29f3e462fc8f19'/>
<id>4f778ca31d3a1c71f9eeab0f9e29f3e462fc8f19</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
