Niels Dossche
0ef57501d9
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix memory leak when destroying PDORow
2025-03-20 23:14:14 +01:00
Niels Dossche
2dde07af55
Fix memory leak when destroying PDORow
...
This should call zend_object_std_dtor() to clean the property table etc.
This also has a semantic influence because previously weak refs were not
notified for example.
This fixes the final issue in GH-18114 (the crash was master-only and
fixed already).
Closes GH-18114.
Closes GH-18123.
2025-03-20 23:13:42 +01:00
Christoph M. Becker
4a514f653a
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-17837: ::getColumnMeta() on unexecuted statement segfaults
2025-02-18 17:03:00 +01:00
Christoph M. Becker
260e0e9bd3
Fix GH-17837: ::getColumnMeta() on unexecuted statement segfaults
...
We cannot properly get the column meta data of a statement which has
been prepared, but has not yet been executed. As such we bail out
early, reporting failure.
Closes GH-17850.
2025-02-18 17:01:46 +01:00
Máté Kocsis
5892991941
Fix GH-16131: Prevent mixing PDO sub-classes with different DSN
2024-10-22 22:51:29 +02:00
David Carlier
58a6e5551e
Merge branch 'PHP-8.3'
2024-06-29 15:52:52 +01:00
David Carlier
1b71a9e01f
Merge branch 'PHP-8.2' into PHP-8.3
2024-06-29 15:52:28 +01:00
David Carlier
c03196a5be
Fix GH-14712: segfault on invalid object.
...
If the extension does not allow to get a property pointer (like PDORow
object), we fallback
to the read property cb anyway.
2024-06-29 15:51:57 +01:00
Matteo Beccati
3096ffa7ab
pdo_sqlite: identifier quoting with square brakets
2024-06-17 23:31:24 +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
Niels Dossche
b7bf846f72
Fix bug #81227 : PDO::inTransaction reports false when in transaction ( #14268 )
2024-05-20 13:59:26 +02:00
Saki Takamachi
cf92a191e8
ext/pdo_sqlite: Use new F ZPP ( #14059 )
...
closes #14059
2024-05-01 23:44:41 +09:00
Saki Takamachi
3e3875c379
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fix GH-13998: Manage refcount of agg_context->val correctly (#14004 )
2024-04-20 22:34:53 +09:00
Saki Takamachi
43064160c4
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-13998: Manage refcount of agg_context->val correctly (#14004 )
2024-04-20 22:34:31 +09:00
Saki Takamachi
2a1aa8cac5
Fix GH-13998: Manage refcount of agg_context->val correctly ( #14004 )
...
When step_callback fails, agg_context->val is passed dtor, but agg_context->val
is also used in final_callback regardless of the success/failure of step_callback,
so should not call dtor.
closes #14004
fixes #13998
2024-04-20 22:33:25 +09:00
Saki Takamachi
d14b208552
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fix GH-13984: Buffer size is now checked before memcmp (#13991 )
2024-04-18 08:38:18 +09:00
Saki Takamachi
dd5cdfd645
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-13984: Buffer size is now checked before memcmp (#13991 )
2024-04-18 08:37:55 +09:00
Saki Takamachi
fda91a0543
Fix GH-13984: Buffer size is now checked before memcmp ( #13991 )
...
Fixed an issue where a buffer overflow occurred when a string shorter than
`:memory:` was passed as the db name of pdo_sqlite.
fixed #13984
closes #13991
2024-04-18 08:35:50 +09:00
Nikita Popov
67184f5445
Fix PdoSqlite::loadExtension() test ( #13736 )
...
The test contained a syntax error and an incorrect use of loadExtension(), which returns void not bool.
Also install the necessary package in CI, so it gets tested there.
2024-03-17 22:27:09 +01:00
Gina Peter Banyard
5c7a0abe55
Merge branch 'PHP-8.3'
...
* PHP-8.3:
ext/pdo: Fix various PDORow bugs
2024-02-27 15:32:20 +00:00
Gina Peter Banyard
ddebe469e1
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
ext/pdo: Fix various PDORow bugs
2024-02-27 15:31:48 +00:00
Gina Peter Banyard
b4e272c56a
ext/pdo: Fix various PDORow bugs
...
- Add tests
- NULL derefencing in read_dimension handler
- Fix isset()
- Fix empty() with column numbers as offsets
- Refactoring to use common functions
2024-02-27 15:30:23 +00: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
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
Máté Kocsis
f4a5db3e08
Parallelize pdo tests (dblib, firebird, oci, odbc, pgsql) ( #12395 )
...
Co-authored-by: George Peter Banyard <girgias@php.net>
Co-authored-by: Jorg Adam Sowa <jorg.sowa@gmail.com>
2023-10-28 12:35:57 +01:00
Alexandre Daubois
417f3fdb91
Improve ext/pdo_sqlite
tests cleanup ( #11900 )
2023-08-08 09:49:02 +01:00
nielsdos
c44f79b7d5
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-11492: Make test failure: ext/pdo_sqlite/tests/bug_42589.phpt
2023-06-22 20:51:11 +02:00
Vinicius Dias
039dd0b4bd
Fix GH-11492: Make test failure: ext/pdo_sqlite/tests/bug_42589.phpt
...
Closes GH-11494.
2023-06-22 20:49:00 +02:00
Ilija Tovilo
2b5aac9303
Fix unescaped {TMP} variables in tests
...
On Windows {TMP} can return ~, which will result in a parse error
2023-03-01 13:24:39 +01:00
Christoph M. Becker
1abc1645dd
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Force extension loading for new test
2022-12-19 16:15:24 +01:00
Christoph M. Becker
da5cbca23e
Force extension loading for new test
2022-12-19 16:14:00 +01:00
Christoph M. Becker
6bd65cd8d2
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Skip newly added test on 32bit platforms
2022-12-19 16:07:08 +01:00
Christoph M. Becker
c702c9f0a3
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Skip newly added test on 32bit platforms
2022-12-19 16:06:18 +01:00
Christoph M. Becker
cf5dac07d2
Skip newly added test on 32bit platforms
...
That bug didn't affect 32bit platforms, and besides, it is rather
unlikely that allocating a 2GB string works on such platforms.
2022-12-19 16:04:29 +01:00
Stanislav Malyshev
32b6eacbc6
Merge branch 'PHP-8.1' into PHP-8.2
2022-12-18 23:21:25 -07:00
Stanislav Malyshev
5975f33c37
Merge branch 'PHP-8.0' into PHP-8.1
2022-12-18 23:02:09 -07:00
Christoph M. Becker
921b6813da
Fix #81740 : PDO::quote() may return unquoted string
...
`sqlite3_snprintf()` expects its first parameter to be `int`; we need
to avoid overflow.
2022-12-18 22:41:43 -07:00
Christoph M. Becker
a398a2fd3d
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix GH-9032: SQLite3 authorizer crashes on NULL values
2022-07-27 13:11:58 +02:00
Christoph M. Becker
ca84d06bbc
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix GH-9032: SQLite3 authorizer crashes on NULL values
2022-07-27 13:06:15 +02:00
Christoph M. Becker
8ed21a89f3
Fix GH-9032: SQLite3 authorizer crashes on NULL values
...
The arguments 3 to 6 of the authorizer callback may be `NULL`[1], and
we have to properly deal with that. Instead of causing a segfault, we
deny authorization, which is still better than a crash, and apparently,
we cannot do better anyway.
[1] <https://www.sqlite.org/c3ref/set_authorizer.html >
Closes GH-9040.
2022-07-27 12:49:16 +02: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
othercorey
108bd4417a
Add pdo_sqlite tests for empty filename and in-memory uri ( #7662 )
...
pdo_sqlite already supports empty filenames and shared in-memory DBs. Add tests for them.
2021-11-24 14:49:10 +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
Nikita Popov
1e012ecb3f
Fix bug #81405 : Restore old PDO::PARAM_* values
...
Doctrine hardcodes the values of these constants, avoid changing
them.
Closes GH-7445.
2021-09-01 13:54:41 +02:00
Patrick Allaert
ac18dd0dc7
Prefer EXPECT over EXPECTF
2021-06-29 17:13:02 +02:00
Nikita Popov
584dc19df1
Move tests requiring pdo_sqlite into ext directory
...
If the test is written against a specific PDO driver, it should
not be part of the generic ext/pdo tests.
2021-06-14 15:01:16 +02:00
Nikita Popov
39131219e8
Migrate more SKIPIF -> EXTENSIONS ( #7139 )
...
This is a mix of more automated and manual migration. It should remove all applicable extension_loaded() checks outside of skipif.inc files.
2021-06-11 12:58:44 +02:00
Nikita Popov
7485978339
Migrate SKIPIF -> EXTENSIONS ( #7138 )
...
This is an automated migration of most SKIPIF extension_loaded checks.
2021-06-11 11:57:42 +02:00
Máté Kocsis
f15d52796e
Declare PDORow::queryString property
...
Relates GH-6742
2021-03-17 09:42:35 +01:00