Commit graph

524 commits

Author SHA1 Message Date
Saki Takamachi
5faef8e6c9
Fixed the test because libmysql results type is string. (#16709)
closes #16709
2024-11-06 21:07:03 +09:00
Máté Kocsis
a5f137821a
Fix GH-16314 "Pdo\Mysql object is uninitialized" when opening a persistent connection (#16369) 2024-11-05 08:32:44 +01:00
Matteo Beccati
cba92beac3
PDO_MYSQL: Properly quote binary strings
Closes GH-15949
2024-10-07 11:04:50 +02:00
Luís Cobucci
93c68caeb5
Reproduce unexpected MySQL warnings for binary values
The prepared statement emulation layer is handling binary content in a
way that creates warnings in MySQL.

When analysing the query logs, we saw that the content sent to the
server is missing `0x5C` characters when the using emulated prepares.

This introduces a minimal test case that reproduces the issue to aid the
solution.

More info: https://github.com/doctrine/dbal/pull/6522#issuecomment-2340939347

Signed-off-by: Luís Cobucci <lcobucci@gmail.com>
2024-10-07 09:29:02 +02:00
Gina Peter Bnayard
5853cdb73d Use "must not" instead of "cannot" wording 2024-08-21 21:12:17 +01:00
Matteo Beccati
5a3c4a2c9c
Fix test when using libmysqlclient
TL;DR
When suing libmysqlclient, ints are fetched as strings, so the strict comparison was failing
2024-06-20 13:25:52 +02:00
Matteo Beccati
037243ccd7
pdo_mysql: "--" should be followed by a whitespace character
This required changing how YYFILL works, with no apparent regressions
2024-06-17 23:31:25 +02:00
Matteo Beccati
715b9aaa09
Implemented PDO Driver specific SQL parsers
RFC: http://wiki.php.net/rfc/pdo_driver_specific_parsers
2024-06-17 23:31:24 +02:00
Máté Kocsis
6ec4220148
Amend PDO driver-specific class names (#14069)
As suggested in https://externals.io/message/123166
2024-05-30 20:15:42 +02:00
Saki Takamachi
3dc9503a96
Revert "Fixed GH-13167 Fixed the behavior of bindValue and bindParam. (#13384)"
This reverts commit 68f10504de.
2024-03-09 10:34:32 +09:00
Saki Takamachi
00bee30132
Revert "Tidy up UT and add NEWS entry"
This reverts commit 1d45357409.
2024-03-09 10:34:17 +09:00
Saki Takamachi
a31edaa99b
Merge branch 'PHP-8.3'
* PHP-8.3:
    Removed `REPORT_EXIT_STATUS=no` in libmysql tests
2024-02-29 08:49:53 +09:00
Niels Dossche
25dbe5374a Add test with quoting multibyte GBK vs utf8mb4 in PDO 2024-02-23 23:52:24 +01:00
Kamil Tekiela
50598a7097
Tidy up pdo_mysql_attr_max_buffer_size.phpt 2024-02-18 13:09:19 +01:00
Saki Takamachi
d433035319
Fixed tests for libmysql (#13424) 2024-02-18 13:08:31 +01:00
Kamil Tekiela
1d45357409
Tidy up UT and add NEWS entry 2024-02-18 12:47:30 +01:00
Saki Takamachi
68f10504de
Fixed GH-13167 Fixed the behavior of bindValue and bindParam. (#13384)
Fixed to generate an error when a non-scalar value is passed in
`PDO_PARAM_EVT_EXEC_PRE` of `pdo_mysql_stmt_param_hook` unless
it is a `Stringable` object.
2024-02-18 12:10:21 +01:00
Kamil Tekiela
a96cc80be2
Fix PDO unit test description 2024-01-22 17:29:17 +01:00
Máté Kocsis
d6a0b3af68
Implement PDO driver-specific subclasses
RFC: https://wiki.php.net/rfc/pdo_driver_specific_subclasses
Closes GH-12804

Co-Authored-By: Danack <Danack@basereality.com>
2024-01-11 23:22:41 +01:00
Saki Takamachi
866aa12bcd
ext/pdo: Fixed PDO::setAttribute() and PDO::getAttribute() (#12793) 2023-12-04 16:05:30 +00:00
Saki Takamachi
4bb75d569e
ext/pdo_mysql: Optimize tests (#12751) 2023-11-27 13:01:24 +00:00
Alexandre Daubois
6f95273941
ext/pdo_mysql: Improve tests cleanup (#11879)
This allows the tests to be run in parallel.
2023-11-16 18:49:43 +00:00
Ilija Tovilo
39459467f6
Attempt to fix pdo_mysql conflict on CircleCI (#12563) 2023-10-30 16:19:27 +01:00
George Peter Banyard
c1fec9bbc3
PDO: Clean-up tests so it's easier to see if they use default test table (#12552) 2023-10-29 23:13:30 +00:00
Ilija Tovilo
f39b5c4c25
Close PHP tags in tests
Closes GH-12422
2023-10-18 17:34:10 +02:00
Ilija Tovilo
b35e0c3069
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Move ARM build to CircleCI
2023-10-12 13:14:52 +02:00
Ilija Tovilo
9c3d3be8bd
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Move ARM build to CircleCI
2023-10-12 13:13:34 +02:00
Ilija Tovilo
4332546bbf
Move ARM build to CircleCI
Closes GH-12415
2023-10-12 13:11:38 +02:00
Kamil Tekiela
82934746b7
Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix MySQL Statement has a empty query result when the response field has changed, also Segmentation fault
2023-08-04 22:54:30 +01:00
Kamil Tekiela
4db701c049
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix MySQL Statement has a empty query result when the response field has changed, also Segmentation fault
2023-08-04 22:31:18 +01:00
Yurun
ca5d48213a
Fix MySQL Statement has a empty query result when the response field has changed, also Segmentation fault
Closes GH-11551.
2023-08-04 22:25:01 +01:00
Máté Kocsis
c322da0606
Fix misleading pass by reference error message (#10639) 2023-07-18 15:02:38 +02:00
George Peter Banyard
ca8dab3b8a
Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix GH-11587 PDO::ATTR_STRINGIFY_FETCHES should return strings even in if PDO::ATTR_EMULATE_PREPARES is enabled
2023-07-17 07:10:16 +01:00
George Peter Banyard
5f716bf2df
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-11587 PDO::ATTR_STRINGIFY_FETCHES should return strings even in if PDO::ATTR_EMULATE_PREPARES is enabled
2023-07-17 07:09:34 +01:00
SakiTakamachi
e0aadc1c0d
Fix GH-11587 PDO::ATTR_STRINGIFY_FETCHES should return strings even in if PDO::ATTR_EMULATE_PREPARES is enabled
This also includes a fix for the MySQL ND driver to actually respect the user decided behaviour.

Closes GH-11622

Signed-off-by: George Peter Banyard <girgias@php.net>
2023-07-17 07:08:45 +01:00
Ilija Tovilo
1e434fbcd8
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Move ARM64 build to Cirrus
2023-03-15 01:37:31 +01:00
Ilija Tovilo
ccca59728e
Move ARM64 build to Cirrus
Travis is very unreliable lately

Closes GH-10795
2023-03-15 01:35:01 +01:00
Ilija Tovilo
3fbdb132c8
[skip ci] Fix misleading xfail message 2023-03-15 00:08:11 +01:00
Ilija Tovilo
ff1e07c10c
Fix mysql tests on Cirrus ASAN
We used localhost instead of 127.0.0.1, so the tests were never actually run.

Closes GH-10802
2023-03-15 00:03:09 +01:00
Máté Kocsis
7936c8085e
Fix GH-8329 Print true/false instead of bool in error and debug messages (#8385) 2023-01-23 10:52:14 +01:00
Kamil Tekiela
da550e7762
MYSQL_ATTR_USE_BUFFERED_QUERY is a bool attribute (#10320) 2023-01-16 13:11:38 +00:00
Christoph M. Becker
e7a79719cc
Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix PDO URI test
2022-05-03 12:44:32 +02:00
Christoph M. Becker
7612ea8121
Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix PDO URI test
2022-05-03 12:43:14 +02:00
Michael Voříšek
136ef6f129
Fix PDO URI test
Especially for remote servers, the respective part of the test may fail
for a lot of different reasons; instead of trying to catch all, we
rewrite to not fail, still testing for the contained NUL byte.

Closes GH-8451.
2022-05-03 12:12:41 +02:00
Christoph M. Becker
15233a47b2
Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix bug where large bigints may be truncated
2021-12-30 19:11:22 +01:00
Christoph M. Becker
ae9e98640a
Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix bug where large bigints may be truncated
2021-12-30 19:10:36 +01:00
Nikita Popov
902d64390e Deprecate implicit dynamic properties
Writing to a proprety that hasn't been declared is deprecated,
unless the class uses the #[AllowDynamicProperties] attribute or
defines __get()/__set().

RFC: https://wiki.php.net/rfc/deprecate_dynamic_properties
2021-11-26 14:10:11 +01:00
Nikita Popov
a4da60f4b5 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix leak when persistent PDO connection fails
2021-11-16 16:16:34 +01:00
Nikita Popov
c02aa46126 Fix leak when persistent PDO connection fails
As we don't register the resource, the resource dtor is not called
and will not decrement the refcount.
2021-11-16 16:14:29 +01:00
Nikita Popov
ee510eed68 Deprecate partially supported callables
This deprecates all callables that are accepted by
call_user_func($callable) but not by $callable(). In particular:

    "self::method"
    "parent::method"
    "static::method"
    ["self", "method"]
    ["parent", "method"]
    ["static", "method"]
    ["Foo", "Bar::method"]
    [new Foo, "Bar::method"]

RFC: https://wiki.php.net/rfc/deprecate_partially_supported_callables

Closes GH-7446.
2021-10-22 10:15:24 +02:00