<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/php-git.git/ext/pdo_pgsql/tests, branch master</title>
<subtitle>git.php.net: repository/php-src.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/'/>
<entry>
<title>Rewrite PDO result binding</title>
<updated>2020-12-22T14:56:34+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-12-17T11:05:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=caa710037e663fd78f67533b29611183090068b2'/>
<id>caa710037e663fd78f67533b29611183090068b2</id>
<content type='text'>
Instead of requiring the type to be determined in advance by the
describer function and then requiring get_col to return a buffer
of appropriate type, allow get_col to return an arbitrary zval.
See UPGRADING.INTERNALS for a more detailed description of the
change.

This makes the result fetching simpler, more efficient and more
flexible. The general possibility already existed via the special
PDO_PARAM_ZVAL type, but the usage was very inconvenient and/or
inefficient. Now it's possible to easily implement behavior like
"return int if it fits, otherwise string" and to avoid any kind
of complex management of temporary buffers.

This also fixes bug #40913 (our second highest voted bug of all
time, for some reason). PARAM_LOB result bindings will now
consistently return a stream resource, independently of the used
database driver.

I've tried my best to update all PDO drivers for this change, but
some of the changes may be broken, as I cannot test or even build
some of these drivers (in particular PDO dblib and PDO oci).
Fixes are appreciated -- a working CI setup would be even more
appreciated ;)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of requiring the type to be determined in advance by the
describer function and then requiring get_col to return a buffer
of appropriate type, allow get_col to return an arbitrary zval.
See UPGRADING.INTERNALS for a more detailed description of the
change.

This makes the result fetching simpler, more efficient and more
flexible. The general possibility already existed via the special
PDO_PARAM_ZVAL type, but the usage was very inconvenient and/or
inefficient. Now it's possible to easily implement behavior like
"return int if it fits, otherwise string" and to avoid any kind
of complex management of temporary buffers.

This also fixes bug #40913 (our second highest voted bug of all
time, for some reason). PARAM_LOB result bindings will now
consistently return a stream resource, independently of the used
database driver.

I've tried my best to update all PDO drivers for this change, but
some of the changes may be broken, as I cannot test or even build
some of these drivers (in particular PDO dblib and PDO oci).
Fixes are appreciated -- a working CI setup would be even more
appreciated ;)
</pre>
</div>
</content>
</entry>
<entry>
<title>PDO: Honor ATTR_STRINGIFY_FETCHES for booleans</title>
<updated>2020-12-21T14:32:32+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-12-21T14:31:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=737195c3ae6ac53b9501cfc39cc80fd462909c82'/>
<id>737195c3ae6ac53b9501cfc39cc80fd462909c82</id>
<content type='text'>
Of the important PDO drivers, this affects only PDO PgSQL, as
both MySQL and SQLite do not return native boolean types.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Of the important PDO drivers, this affects only PDO PgSQL, as
both MySQL and SQLite do not return native boolean types.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed bug #72368</title>
<updated>2020-12-10T15:53:08+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-12-10T15:52:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=9e3ba775b7de7d7647c488beb9e302d03690f955'/>
<id>9e3ba775b7de7d7647c488beb9e302d03690f955</id>
<content type='text'>
Generate a param count mismatch error even if the query contains
no placeholders.

Additionally we shouldn't HANDLE errors from pdo_parse_params,
which are always reported via raise_impl_error. Doing so results
in duplicate error messages.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Generate a param count mismatch error even if the query contains
no placeholders.

Additionally we shouldn't HANDLE errors from pdo_parse_params,
which are always reported via raise_impl_error. Doing so results
in duplicate error messages.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow drivers to omit error code</title>
<updated>2020-12-10T15:04:33+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-12-10T15:03:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=a5527577e7e80dbaf4e0313c1bfc890b2cc5f3b7'/>
<id>a5527577e7e80dbaf4e0313c1bfc890b2cc5f3b7</id>
<content type='text'>
And thus generate error messages that match what PDO emulation
would generate.

This fixes the error message regression from the previous commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And thus generate error messages that match what PDO emulation
would generate.

This fixes the error message regression from the previous commit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed bug #79131</title>
<updated>2020-12-10T14:53:23+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-12-10T14:51:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=15b51a215ac08fa72aa6ea44755f7134710f9004'/>
<id>15b51a215ac08fa72aa6ea44755f7134710f9004</id>
<content type='text'>
When a driver reports an error during EVT_ALLOC (and some over EVTs),
make sure we handle it as usual, i.e. warn or throw.

This requires some adjustments in PDO PgSQL to stop manually doing
this through an impl error.

Unfortunately the PDO PgSQL error messages regress because of this,
as they now include a completely arbitrary error code. There doesn't
seem to be an ability to skip it right now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a driver reports an error during EVT_ALLOC (and some over EVTs),
make sure we handle it as usual, i.e. warn or throw.

This requires some adjustments in PDO PgSQL to stop manually doing
this through an impl error.

Unfortunately the PDO PgSQL error messages regress because of this,
as they now include a completely arbitrary error code. There doesn't
seem to be an ability to skip it right now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Run tidy</title>
<updated>2020-09-18T12:28:32+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-09-18T12:28:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=c5401854fcea27ff9aabfd0682ff4d81bbb3c888'/>
<id>c5401854fcea27ff9aabfd0682ff4d81bbb3c888</id>
<content type='text'>
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-7.4'</title>
<updated>2020-08-11T15:16:38+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-08-11T15:13:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=33028bf014270f94c9407725d9117fa9a5ecec02'/>
<id>33028bf014270f94c9407725d9117fa9a5ecec02</id>
<content type='text'>
* PHP-7.4:
  Fix #64705 errorInfo property of PDOException is null when PDO::__construct() fails
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-7.4:
  Fix #64705 errorInfo property of PDOException is null when PDO::__construct() fails
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-7.3' into PHP-7.4</title>
<updated>2020-08-11T15:13:28+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-08-11T15:13:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=981af26d7bc742a4cfe34b764a5f32f0e3fc776c'/>
<id>981af26d7bc742a4cfe34b764a5f32f0e3fc776c</id>
<content type='text'>
* PHP-7.3:
  Fix #64705 errorInfo property of PDOException is null when PDO::__construct() fails
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-7.3:
  Fix #64705 errorInfo property of PDOException is null when PDO::__construct() fails
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #64705 errorInfo property of PDOException is null when PDO::__construct() fails</title>
<updated>2020-08-11T15:12:48+00:00</updated>
<author>
<name>Ahmed Abdou</name>
<email>email@ahmed.ro</email>
</author>
<published>2019-02-17T21:59:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=2fe2e5b48f8cf9a45ac2530dd0e2dca8f4287e01'/>
<id>2fe2e5b48f8cf9a45ac2530dd0e2dca8f4287e01</id>
<content type='text'>
PDO driver constructors are throwing PdoException without setting
errorInfo, so create a new reusable function that throws exceptions
for PDO and will also set the errorInfo. Use this function in
pdo_mysql, pdo_sqlite, and pdo_pgsql.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PDO driver constructors are throwing PdoException without setting
errorInfo, so create a new reusable function that throws exceptions
for PDO and will also set the errorInfo. Use this function in
pdo_mysql, pdo_sqlite, and pdo_pgsql.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add many missing closing PHP tags to tests</title>
<updated>2020-08-09T20:03:36+00:00</updated>
<author>
<name>Máté Kocsis</name>
<email>kocsismate@woohoolabs.com</email>
</author>
<published>2020-08-09T09:06:57+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=7aacc705d03887c64a90489e367f4c40b46aa3c2'/>
<id>7aacc705d03887c64a90489e367f4c40b46aa3c2</id>
<content type='text'>
Closes GH-5958
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes GH-5958
</pre>
</div>
</content>
</entry>
</feed>
