]>
granicus.if.org Git - php/log
Tyson Andre [Sat, 2 Jan 2021 19:07:45 +0000 (14:07 -0500)]
Use Z_PARAM_OBJ macros when zval isn't needed
In some cases, like spl_object_id, the code is simpler but equally efficient
after optimizations.
In other cases, like get_mangled_object_vars(), the compiler can't infer that
the object in the zval won't change.
Closes GH-6567
Christoph M. Becker [Fri, 1 Jan 2021 22:05:09 +0000 (23:05 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Fix parameter name
Christoph M. Becker [Fri, 1 Jan 2021 16:46:40 +0000 (17:46 +0100)]
Fix parameter name
Levenshtein is about insertion, replacement and deletion.
Closes GH-6560.
Christoph M. Becker [Fri, 1 Jan 2021 16:42:27 +0000 (17:42 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Fix build
Christoph M. Becker [Fri, 1 Jan 2021 16:40:25 +0000 (17:40 +0100)]
Fix build
We cannot `RETURN_THROWS()` here, since `return_value` is not defined.
Máté Kocsis [Fri, 1 Jan 2021 15:53:16 +0000 (16:53 +0100)]
Merge branch 'PHP-8.0'
Máté Kocsis [Fri, 1 Jan 2021 15:52:48 +0000 (16:52 +0100)]
Use RETURN_THROWS() in a few places
Christoph M. Becker [Fri, 1 Jan 2021 13:47:10 +0000 (14:47 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Fix ReflectionClass::getConstants() stub
Christoph M. Becker [Thu, 31 Dec 2020 18:36:27 +0000 (19:36 +0100)]
Fix ReflectionClass::getConstants() stub
If `zval_update_constant_ex()` fails, an exception has already been
thrown, so we clarify that in the implementation as well.
Closes GH-6557.
Christoph M. Becker [Wed, 30 Dec 2020 23:30:49 +0000 (00:30 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
[ci skip] Fix pgsql constant names in UPGRADING
Christoph M. Becker [Wed, 30 Dec 2020 23:30:16 +0000 (00:30 +0100)]
[ci skip] Fix pgsql constant names in UPGRADING
Máté Kocsis [Wed, 30 Dec 2020 17:28:33 +0000 (18:28 +0100)]
Merge branch 'PHP-8.0'
Máté Kocsis [Wed, 30 Dec 2020 17:26:24 +0000 (18:26 +0100)]
Fix refentry attribute replacing
Christoph M. Becker [Wed, 30 Dec 2020 11:50:39 +0000 (12:50 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Fix #80560: Strings containing only a base prefix return 0 object
George Peter Banyard [Tue, 29 Dec 2020 01:31:15 +0000 (02:31 +0100)]
Fix #80560: Strings containing only a base prefix return 0 object
Closes GH-6549.
George Peter Banyard [Tue, 29 Dec 2020 15:55:19 +0000 (16:55 +0100)]
Remove superfluous return statement.
Tyson Andre [Tue, 29 Dec 2020 15:16:04 +0000 (10:16 -0500)]
Remove redundant check in SplObjectStorage->count
Dmitry Stogov [Tue, 29 Dec 2020 10:21:06 +0000 (13:21 +0300)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Initialize EX(call)->func by single instruction
Reuse value stored in %r0 instead of immediate operand
Dmitry Stogov [Tue, 29 Dec 2020 10:20:10 +0000 (13:20 +0300)]
Initialize EX(call)->func by single instruction
Dmitry Stogov [Tue, 29 Dec 2020 10:18:56 +0000 (13:18 +0300)]
Reuse value stored in %r0 instead of immediate operand
Christoph M. Becker [Mon, 28 Dec 2020 18:05:32 +0000 (19:05 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Fix ffi stubs
Christoph M. Becker [Sun, 27 Dec 2020 19:29:00 +0000 (20:29 +0100)]
Fix ffi stubs
Closes GH-6543.
Máté Kocsis [Mon, 28 Dec 2020 13:46:00 +0000 (14:46 +0100)]
Merge branch 'PHP-8.0'
Máté Kocsis [Sun, 15 Nov 2020 23:23:47 +0000 (00:23 +0100)]
Fix return type of DateTimeImmutable::__set_state()
Máté Kocsis [Thu, 22 Oct 2020 08:39:18 +0000 (10:39 +0200)]
Add support for generating methodsynopses from stubs
Closes GH-6367
Christoph M. Becker [Mon, 28 Dec 2020 12:44:00 +0000 (13:44 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Bump minimum re2c version to 0.13.7
Christoph M. Becker [Tue, 15 Dec 2020 23:02:39 +0000 (00:02 +0100)]
Bump minimum re2c version to 0.13.7
Closes GH-6516.
Christoph M. Becker [Sun, 27 Dec 2020 21:41:27 +0000 (22:41 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
php_formatted_print() throws on failure
Christoph M. Becker [Sun, 27 Dec 2020 18:25:23 +0000 (19:25 +0100)]
php_formatted_print() throws on failure
Closes GH-6542.
Christoph M. Becker [Sun, 27 Dec 2020 17:32:29 +0000 (18:32 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Replace sort() function calls with ksort() in basic ksort test
Christoph M. Becker [Sun, 27 Dec 2020 17:32:03 +0000 (18:32 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
Replace sort() function calls with ksort() in basic ksort test
haszi [Sun, 27 Dec 2020 16:03:41 +0000 (17:03 +0100)]
Replace sort() function calls with ksort() in basic ksort test
Closes GH-6541.
Christoph M. Becker [Sat, 26 Dec 2020 14:13:56 +0000 (15:13 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
DateTime*::getOffset() no longer returns false as of PHP 8.0.0
Christoph M. Becker [Sat, 26 Dec 2020 11:21:02 +0000 (12:21 +0100)]
DateTime*::getOffset() no longer returns false as of PHP 8.0.0
Cf. <https://github.com/php/doc-en/pull/282>.
Closes GH-6539.
Tyson Andre [Fri, 25 Dec 2020 17:27:17 +0000 (12:27 -0500)]
[skip ci] fix typo in NEWS
Dmitry Stogov [Thu, 24 Dec 2020 13:59:27 +0000 (16:59 +0300)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Eliminate redundand comparison insructions
Dmitry Stogov [Thu, 24 Dec 2020 13:58:54 +0000 (16:58 +0300)]
Eliminate redundand comparison insructions
Máté Kocsis [Thu, 24 Dec 2020 10:46:10 +0000 (11:46 +0100)]
Merge branch 'PHP-8.0'
Máté Kocsis [Thu, 24 Dec 2020 10:45:32 +0000 (11:45 +0100)]
Fix the signature of FFI::typeof() and FFI::memcmp()
Máté Kocsis [Thu, 24 Dec 2020 10:44:15 +0000 (11:44 +0100)]
Add a few other RETURN_THROWS()
Máté Kocsis [Wed, 23 Dec 2020 22:27:12 +0000 (23:27 +0100)]
Fix the signature of FFI::sizeof() and FFI::alignof()
Christopher Jones [Thu, 24 Dec 2020 06:48:53 +0000 (17:48 +1100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Fix PDO_OCI test
Christopher Jones [Thu, 24 Dec 2020 06:48:39 +0000 (17:48 +1100)]
Fix PDO_OCI test
Christopher Jones [Thu, 24 Dec 2020 06:18:57 +0000 (17:18 +1100)]
Fix PDO_OCI build
George Peter Banyard [Wed, 23 Dec 2020 20:56:31 +0000 (21:56 +0100)]
Update hash for IMAP stubs after adding final qualifier
Ayesh Karunaratne [Wed, 23 Dec 2020 10:12:34 +0000 (17:12 +0700)]
IMAP: Declare `IMAPConnection` class as `final` (stub+test)
Updates the `IMAPConnection` class stub to make sure it has the `final` flag, and adds a test to verify it.
Ayesh Karunaratne [Wed, 23 Dec 2020 10:10:56 +0000 (17:10 +0700)]
IMAP: Disallow direct `new IMAPConnection()` construct
Disallows constructing an `IMAPConnection` class directly with `new IMAPConnection` construct, by throwing an `Error` exception if attempted.
`imap_open` is still the only way to create `IMAPConnection` objects.
Christoph M. Becker [Wed, 23 Dec 2020 15:47:32 +0000 (16:47 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Add regression test for bug #76770
Semen Dubina [Mon, 10 Sep 2018 22:26:02 +0000 (01:26 +0300)]
Add regression test for bug #76770
Closes GH-3514.
Christoph M. Becker [Wed, 23 Dec 2020 12:53:19 +0000 (13:53 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Fix #80384: limit read buffer size
Christoph M. Becker [Wed, 23 Dec 2020 12:52:24 +0000 (13:52 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
Fix #80384: limit read buffer size
Adam Seitz [Tue, 1 Dec 2020 23:40:16 +0000 (00:40 +0100)]
Fix #80384: limit read buffer size
In the case of a stream with no filters, php_stream_fill_read_buffer
only reads stream->chunk_size into the read buffer. If the stream has
filters attached, it could unnecessarily buffer a large amount of data.
With this change, php_stream_fill_read_buffer only proceeds until either
the requested size or stream->chunk_size is available in the read buffer.
Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>
Closes GH-6444.
Nikita Popov [Wed, 23 Dec 2020 09:57:19 +0000 (10:57 +0100)]
Support native types in PDO SQLite
Return integers and floats as native types if possible. As usual,
the old behavior can be restored by enabling ATTR_STRINGIFY_FETCHES.
Fixes bug #38334.
Ayesh Karunaratne [Tue, 22 Dec 2020 19:58:51 +0000 (02:58 +0700)]
FTP: Disallow direct `FTPConnection` construction
Similar to other resource to object migrations, `FTPConnection` class is not allowed to be constructed with `new FTPConnection`.
Related to
b4503fbf882e490f16d85915e83173bd1e414e84 .
Closes GH-6533.
George Peter Banyard [Tue, 22 Dec 2020 22:14:11 +0000 (23:14 +0100)]
EXPECTF imap_errors() test's authentication error
George Peter Banyard [Tue, 22 Dec 2020 18:46:48 +0000 (19:46 +0100)]
Make imap_errors() test no hang
Instead of attempting to connect with an invalid password, connect as an anonymous user.
As this is disabled in our Dovecot configuration, this generates an error, and fails fast.
George Peter Banyard [Tue, 22 Dec 2020 18:52:36 +0000 (19:52 +0100)]
Optimize Dovecot configuration for IMAP tests
Closes GH-6531
Nikita Popov [Thu, 17 Dec 2020 11:05:37 +0000 (12:05 +0100)]
Rewrite PDO result binding
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 ;)
Nikita Popov [Tue, 22 Dec 2020 09:34:54 +0000 (10:34 +0100)]
Don't use explicitly nullable column in bug_73234.phpt
Firebird doesn't support this. It is nullable by default.
The test still fails, but now for a legitimate reason...
Nikita Popov [Tue, 22 Dec 2020 09:31:35 +0000 (10:31 +0100)]
Add CONFLICTS file for PDO firebird tests
Nikita Popov [Tue, 22 Dec 2020 09:26:07 +0000 (10:26 +0100)]
Fix bug_69356.phpt for firebird
Firebird does not support selecting without a table. Use the same
code we use elsewhere, which adds "FROM DUAL" or "FROM RDS$DATABASE"
as necessary.
Nikita Popov [Tue, 22 Dec 2020 09:03:57 +0000 (10:03 +0100)]
PDO Firebird: Use recreate table
Firebird does not have "if exists", and the switch to exception
error mode broke the suppressed exec calls.
Firebird does have a "recreate table" command that effective
perform a "drop table if exists" beforehand.
Nikita Popov [Tue, 22 Dec 2020 08:58:24 +0000 (09:58 +0100)]
Suppress zend_signals warnings if pdo_firebird loaded
George Peter Banyard [Tue, 22 Dec 2020 02:09:00 +0000 (03:09 +0100)]
Add IMAP resource to object conversion to UPGRADING
George Peter Banyard [Tue, 10 Nov 2020 11:03:53 +0000 (11:03 +0000)]
Convert IMAP resource to object
Closes GH-6418
Nikita Popov [Mon, 21 Dec 2020 17:45:08 +0000 (18:45 +0100)]
Build PDO Firebird on Azure
Once again, this only builds the driver, all tests will be skipped.
Closes GH-6529.
Nikita Popov [Tue, 25 Aug 2020 12:53:18 +0000 (14:53 +0200)]
Show slow SKIPIF sections as well
Nikita Popov [Mon, 21 Dec 2020 19:04:26 +0000 (20:04 +0100)]
PDO Firebird: Fix uninitialized var warning
Nikita Popov [Mon, 21 Dec 2020 15:26:10 +0000 (16:26 +0100)]
Build PDO odbc on azure
We already install the necessary libs for the odbc extension, so
we may as well build PDO ODBC.
As we don't setup an ODBC server, the tests will be skipped.
Close GH-6528.
Nikita Popov [Mon, 21 Dec 2020 14:31:15 +0000 (15:31 +0100)]
PDO: Honor ATTR_STRINGIFY_FETCHES for booleans
Of the important PDO drivers, this affects only PDO PgSQL, as
both MySQL and SQLite do not return native boolean types.
Derick Rethans [Mon, 21 Dec 2020 10:31:51 +0000 (10:31 +0000)]
Merge branch 'PHP-8.0' into master
Derick Rethans [Mon, 21 Dec 2020 10:31:41 +0000 (10:31 +0000)]
Fixed bug #80376 (last day of the month causes runway cpu usage)
Derick Rethans [Mon, 21 Dec 2020 10:30:40 +0000 (10:30 +0000)]
Fixed bug #80376 (last day of the month causes runway cpu usage)
Nikita Popov [Mon, 21 Dec 2020 09:23:42 +0000 (10:23 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Fix bug #80537
Nikita Popov [Mon, 21 Dec 2020 09:21:08 +0000 (10:21 +0100)]
Fix bug #80537
This is an unavoidable breaking change to both the type and
parameter name.
The assertion that was supposed to prevent this was overly lax
and accepted any object type for string parameters.
Christopher Jones [Mon, 21 Dec 2020 04:47:06 +0000 (15:47 +1100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Description typo
Christopher Jones [Mon, 21 Dec 2020 04:46:26 +0000 (15:46 +1100)]
Description typo
Christopher Jones [Mon, 21 Dec 2020 04:38:35 +0000 (15:38 +1100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Bundle PECL OCI8 3.0.1
Christopher Jones [Mon, 21 Dec 2020 04:15:16 +0000 (15:15 +1100)]
Bundle PECL OCI8 3.0.1
Christopher Jones [Mon, 21 Dec 2020 04:08:40 +0000 (15:08 +1100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Retrofit NEWS
Christopher Jones [Mon, 21 Dec 2020 04:07:40 +0000 (15:07 +1100)]
Retrofit NEWS
Christoph M. Becker [Sun, 20 Dec 2020 22:07:34 +0000 (23:07 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Revert "DateTime:: and DateTimeImmutable::getTimestamp() may return false"
Christoph M. Becker [Sun, 20 Dec 2020 22:07:02 +0000 (23:07 +0100)]
Revert "DateTime:: and DateTimeImmutable::getTimestamp() may return false"
This reverts commit
b67c23218950eae0a153b093dcefbe14b3b40901 .
Christoph M. Becker [Sun, 20 Dec 2020 18:32:36 +0000 (19:32 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
DateTime:: and DateTimeImmutable::getTimestamp() may return false
Christoph M. Becker [Sun, 20 Dec 2020 18:32:12 +0000 (19:32 +0100)]
DateTime:: and DateTimeImmutable::getTimestamp() may return false
Christoph M. Becker [Fri, 18 Dec 2020 18:10:53 +0000 (19:10 +0100)]
Convert file_info resources to objects
Besides our general desire to get rid of the legacy resource types,
this is particularly appealing for fileinfo, because there are already
respective objects.
Closes GH-5987.
Christoph M. Becker [Sun, 20 Dec 2020 17:14:40 +0000 (18:14 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
Fix ext/date stubs
Christoph M. Becker [Wed, 9 Dec 2020 15:51:53 +0000 (16:51 +0100)]
Fix ext/date stubs
Closes GH-6523.
Nikita Popov [Fri, 18 Dec 2020 20:48:21 +0000 (21:48 +0100)]
Fix leak
Nikita Popov [Fri, 18 Dec 2020 16:07:07 +0000 (17:07 +0100)]
Back memory stream by a zend_string
This allows reusing an existing zend_string inside a memory stream
without reallocating. For non-readonly streams, the string will
only get separated on write.
Nikita Popov [Fri, 18 Dec 2020 15:40:23 +0000 (16:40 +0100)]
Remove unused smax member from memory stream
Nikita Popov [Fri, 18 Dec 2020 14:50:59 +0000 (15:50 +0100)]
Remove unused pdo_pgsql_column member
Nikita Popov [Fri, 18 Dec 2020 13:05:52 +0000 (14:05 +0100)]
Try to fix azure pipelines config
Is this space the problem?
Nikita Popov [Fri, 18 Sep 2020 09:32:05 +0000 (11:32 +0200)]
Add basic libmysqlclient CI job
This tests that mysqli and pdo_mysql build against libmysqlclient,
and that tests pass for pdo_mysql. mysqli has too many test failures.
This is not an officially supported configuration.
Nikita Popov [Fri, 18 Dec 2020 11:13:17 +0000 (12:13 +0100)]
Move fetch_all implementation out of mysqlnd
There doesn't seem to be any compelling reason to implement this
in mysqlnd rather than mysqli. It's just a loop over fetch_into.
This makes the function available under libmysqlclient as well,
and thus fixes bug #79372.
Nikita Popov [Fri, 18 Dec 2020 10:27:10 +0000 (11:27 +0100)]
Make mysqli_stmt_next_result available under libmysql
The libmysqlclient version we require supports mysql_stmt_next_result.
Nikita Popov [Fri, 18 Dec 2020 10:08:21 +0000 (11:08 +0100)]
PDO MySQL: Make test libmysql compatible
Nikita Popov [Fri, 18 Dec 2020 10:02:36 +0000 (11:02 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
PDO MySQL: Handle boolean parameter binding with libmysql
Nikita Popov [Fri, 18 Sep 2020 15:46:42 +0000 (17:46 +0200)]
PDO MySQL: Handle boolean parameter binding with libmysql
Previously boolean parameters were simply silently ignored...
Nikita Popov [Fri, 18 Dec 2020 09:20:55 +0000 (10:20 +0100)]
Merge branch 'PHP-8.0'
* PHP-8.0:
MySQLnd: Support cursors in store/get result