Kamil Tekiela
6afbb74194
Fixed bug #81037 PDO discards error message text from prepared statement
2021-05-14 11:54:49 +01:00
Christoph M. Becker
10c9d615de
Drop pdo_mysql_prepare_load_data.phpt
...
Like the test title and some comments in this test describe, this test
was supposed to have `::prepare()` failing because `LOAD DATA INFILE`
would not be supported as prepared statement, and then the test checks
whether follow-up queries would succeed. However, `LOAD DATA INFILE`
is supported for prepared statements at least on Windows with mysqlnd,
so the test does no longer test what it is supposed to do. Therefore,
we drop it.
Closes GH-6509.
2020-12-14 18:26:12 +01:00
Nikita Popov
e450621f5e
Fixed bug #76815
...
When we receive an error while reading a result set, we should
assume that no more result sets are available. libmysqlclient
implements the same behavior.
2020-12-10 11:23:41 +01:00
Nikita Popov
4922049213
Fixed bug #71145
...
Consume any additional result sets when running INIT_COMMAND.
2020-12-10 10:28:10 +01:00
Nikita Popov
f3d5877845
Backport fix for bug #70066
...
Given the number of duplicates this bug report had, it seems
worthwhile to fix this on PHP-7.4 as well.
Cherry-pick of 106e7e4bca .
2020-12-10 09:58:47 +01:00
Nikita Popov
44b234a9bc
Fixed bug #78154
...
Handle errors during next_result in exec.
2020-12-09 12:46:47 +01:00
Nikita Popov
bd093ad861
Fixed bug #63185
2020-12-08 11:30:54 +01:00
Dharman
a83cc03c13
Fixed bug #80458
...
If there is no result set (e.g. for upsert queries), still allow
fetching to occur without error, i.e. treat it the same way as
an empty result set.
This normalizes behavior between native and emulated prepared
statements and addresses a regression in PHP 7.4.13.
2020-12-04 16:59:47 +01:00
Darek Slusarczyk
79a606bd95
Fix #80312 : change default engine from MyISAM to InnoDB in tests
...
Change mysqli and pdo_mysql tests configuration to use by default
InnoDB instead of MyISAM.
Closes GH-6405.
2020-11-17 13:15:15 +01:00
Nikita Popov
0044a81fbb
Handle errors during PDO row fetch
...
The EOF flag also gets set on error, so we always end up ignoring
errors here.
However, we should only check errors for unbuffered results. For
buffered results, this function is guaranteed not to error, and
querying the errno may return an unrelated error.
2020-10-29 14:17:29 +01:00
Nikita Popov
68dcaa29d8
Fixed bug #66528
...
Report errors in commit, rollback and autocommit handlers.
2020-10-28 12:18:02 +01:00
Dharman
b03776adb5
Fix bug #79375
...
Make sure deadlock errors are properly propagated and reports in
a number of places in mysqli and PDO MySQL.
This also fixes a memory and a segfault that can occur under these
conditions.
2020-10-28 11:01:47 +01:00
Nikita Popov
e6dc9abdb7
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Support NO_BACKSLASH_ESCAPES with newer libmysqlclient
2020-09-18 15:25:35 +02:00
Nikita Popov
70cba36fc9
Support NO_BACKSLASH_ESCAPES with newer libmysqlclient
...
Requires the use of mysql_real_escape_string_quote().
2020-09-18 15:24:57 +02:00
Nikita Popov
d591e1c4f5
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
pdo_mysql/mysqli (native) libmysqlclient_r no-longer used
mysql: native mysql-8.0 uses _Bool
mysqli: use native api
2020-09-17 11:32:01 +02:00
Daniel Black
1aab7db6c8
pdo_mysql/mysqli (native) libmysqlclient_r no-longer used
...
The mysqlclient_r library exists in mysql-5.6 for compatibility only.
Later versions have it removed.
2020-09-17 11:27:31 +02:00
Daniel Black
c9abb0c0ac
mysql: native mysql-8.0 uses _Bool
...
MySQL-8.0 removes option MYSQLI_OPT_SSL_VERIFY_SERVER_CERT
2020-09-17 11:27:31 +02:00
Matteo Beccati
42b6b8a3ae
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #80027 Terrible performance using $query->fetch on queries with many bind parameters
2020-08-31 11:08:26 +02:00
Matteo Beccati
44ade0e875
Fix #80027 Terrible performance using $query->fetch on queries with many bind parameters
...
Added new flags that allow skipping param_evt(s) that are not used by drivers,
in a backwards and forward compatible manner. Updated the pgsql, mysql, sqlite
and oci drivers to properly use the new flags. I've left out pdo_dblib, which
doesn't have a param_hook, and pdo_firebird, which seems to be using
PARAM_EVT_NORMALIZE in a wrong context (param type vs event type).
2020-08-31 11:03:03 +02:00
Nikita Popov
981af26d7b
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #64705 errorInfo property of PDOException is null when PDO::__construct() fails
2020-08-11 17:13:28 +02:00
Ahmed Abdou
2fe2e5b48f
Fix #64705 errorInfo property of PDOException is null when PDO::__construct() fails
...
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.
2020-08-11 17:12:48 +02:00
Christoph M. Becker
844a1245ef
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79596 : MySQL FLOAT truncates to int some locales
2020-05-15 09:11:44 +02:00
Christoph M. Becker
d1cd489a53
Fix #79596 : MySQL FLOAT truncates to int some locales
...
We must not do locale aware float to string conversion here; instead
we using our `snprintf()` implementation with the `F` specifier.
2020-05-15 09:09:41 +02:00
Nikita Popov
f684553c2c
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix MySQL local infile / attr handling on big endian systems
2020-04-16 11:22:43 +02:00
guirish
a1c1736bfb
Fix MySQL local infile / attr handling on big endian systems
...
Make sure pointer types match what is used by libmysql everywhere.
Closes GH-5380.
2020-04-16 11:22:17 +02:00
Nikita Popov
58b17906f5
Apply tidy formatting
...
Mostly reindent PHP scripts to spaces.
2020-02-03 13:41:31 +01:00
Nikita Popov
248c783e7d
Specify explicit row order in PDO MySQL test
2019-12-27 17:25:58 +01:00
Nikita Popov
8753975418
Fix intermittent error in pdo_mysql___construct_options.phpt
...
For the love of god, don't write tests based on mt_rand!
2019-12-06 07:39:54 +01:00
Christoph M. Becker
00c9c480eb
Make test more robust
...
Time flies, so obviously the reported uptime may differ a bit (as
already occasionally noticed on CI); we cater to that by allowing a
delay of up to one second.
2019-11-04 12:22:04 +01:00
Christoph M. Becker
b142e8a4b3
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78623 : Regression caused by "SP call yields additional empty result set"
2019-10-07 09:18:46 +02:00
Christoph M. Becker
3322c78a88
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78623 : Regression caused by "SP call yields additional empty result set"
2019-10-07 09:17:29 +02:00
Christoph M. Becker
114c03b9a6
Fix #78623 : Regression caused by "SP call yields additional empty result set"
...
This reverts commit 41a4379cb4 .
2019-10-07 09:15:51 +02:00
Fabien Villepinte
0aa3acc6c4
Fix borked SKIPIFs
2019-09-30 17:51:41 +02:00
Nikita Popov
645b0372e3
Fix double free of DSN credentials
2019-09-09 10:10:41 +02:00
Christoph M. Becker
fd7309d194
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #41997 : SP call yields additional empty result set
2019-09-03 13:33:15 +02:00
Christoph M. Becker
b90cd91eba
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #41997 : SP call yields additional empty result set
2019-09-03 13:31:24 +02:00
Christoph M. Becker
41a4379cb4
Fix #41997 : SP call yields additional empty result set
...
When stored procedures are called, the "final result set is a status
result that includes no result set". Calling `::nextRowset()` on the
actual last result set should return FALSE, since there is actually no
further result set to be processed.
2019-09-03 13:29:30 +02:00
Christoph M. Becker
a18f53ec2c
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
fix the problem for connect_attr, set db condition, and add a new attribute _server_host
2019-08-20 13:35:17 +02:00
Christoph M. Becker
3771d66142
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
fix the problem for connect_attr, set db condition, and add a new attribute _server_host
2019-08-20 13:33:45 +02:00
Qianqian Bu
cdf16c010a
fix the problem for connect_attr, set db condition, and add a new attribute _server_host
2019-08-20 13:31:58 +02:00
George Peter Banyard
6d6d954d0d
Cleanup of remaining E_STRICT in tests
2019-07-23 11:27:23 +02:00
Peter Kokot
7a6d737de7
Remove PHP_MYSQL variable
...
PHP_MYSQL variable was once defined by the ext/mysql (--with-mysql).
Closes GH-4399
2019-07-14 13:48:44 +02:00
Peter Kokot
a39ea91753
Simplify PHP_CHECK_PDO_INCLUDES calls
...
Conditional checks were once used for backwards compatibility with
phpize from PHP versions that didn't have this macro call yet.
Closes GH-4376
2019-07-08 10:24:41 +02:00
Sjon Hortensius
a7881df281
PDO: support username & password specified in DSN
2019-07-02 12:09:38 +02:00
Nikita Popov
d831f10724
Merge branch 'PHP-7.3' into PHP-7.4
2019-06-07 10:57:51 +02:00
Nikita Popov
9569a0b8ca
Merge branch 'PHP-7.2' into PHP-7.3
2019-06-07 10:57:43 +02:00
Nikita Popov
d7c7522be9
Enable STRICT_TRANS_TABLES in new test
...
The part testing error cases relies on this.
2019-06-07 10:57:09 +02:00
Nikita Popov
1c4e93e8bd
Merge branch 'PHP-7.3' into PHP-7.4
2019-06-07 09:49:09 +02:00
Nikita Popov
a5f98139c9
Merge branch 'PHP-7.2' into PHP-7.3
2019-06-07 09:49:01 +02:00
Cameron Porter
7d1aa7534d
Fixed bug #38546
...
Properly support binding boolean parameters with emulated prepared
statements disabled. Also add the necessary mysqlnd support for
MYSQL_TYPE_TINY.
2019-06-07 09:48:43 +02:00