#
db545767 |
| 10-Sep-2024 |
DanielEScherzer |
Rename `ZEND_STR_DEPRECATED` to `ZEND_STR_DEPRECATED_CAPITALIZED` (#15831) To match other capitalized strings like `ZEND_STR_UNKNOWN_CAPITALIZED` and `ZEND_STR_ARRAY_CAPITALIZED`. Since
Rename `ZEND_STR_DEPRECATED` to `ZEND_STR_DEPRECATED_CAPITALIZED` (#15831) To match other capitalized strings like `ZEND_STR_UNKNOWN_CAPITALIZED` and `ZEND_STR_ARRAY_CAPITALIZED`. Since this known string was only added in PHP 8.4, no backwards compatibility alias is needed.
show more ...
|
#
53cb8967 |
| 03-Sep-2024 |
DanielEScherzer |
Generated arginfo header files: remove empty zend_function_entry arrays (#15705) When a class (or enum) has no methods, rather than using an array that only contains `ZEND_FE_END`, use `
Generated arginfo header files: remove empty zend_function_entry arrays (#15705) When a class (or enum) has no methods, rather than using an array that only contains `ZEND_FE_END`, use `NULL` for the functions. The implementation of class registration for internal classes, `do_register_internal_class()` in zend_API.c, already skips classes where the functions are `NULL`. By removing these unneeded arrays, we can reduce the size of the header files, while also removing an unneeded call to zend_register_functions() for each internal class with no extra methods.
show more ...
|
#
8d12f666 |
| 24-Aug-2024 |
Máté Kocsis |
Fix registration of internal readonly child classes (#15459) Currently, internal classes are registered with the following code: INIT_CLASS_ENTRY(ce, "InternalClass", class_Internal
Fix registration of internal readonly child classes (#15459) Currently, internal classes are registered with the following code: INIT_CLASS_ENTRY(ce, "InternalClass", class_InternalClass_methods); class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ...; This has worked well so far, except if InternalClass is readonly. It is because some inheritance checks are run by zend_register_internal_class_ex before ZEND_ACC_READONLY_CLASS is added to ce_flags. The issue is fixed by adding a zend_register_internal_class_with_flags() zend API function that stubs can use from now on. This function makes sure to add the flags before running any checks. Since the new API is not available in lower PHP versions, gen_stub.php has to keep support for the existing API for PHP 8.3 and below.
show more ...
|
#
29f98e74 |
| 10-Jul-2024 |
Tim Düsterhus |
Replace `@deprecated` by `#[\Deprecated]` for internal functions / class constants (#14750) Co-authored-by: Gina Peter Banyard <girgias@php.net> Co-authored-by: Niels Dossche <7771979+ni
Replace `@deprecated` by `#[\Deprecated]` for internal functions / class constants (#14750) Co-authored-by: Gina Peter Banyard <girgias@php.net> Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
show more ...
|
#
4f450b62 |
| 25-Jun-2024 |
Peter Kokot |
Bump minimum libpq version to 10.0 (#14628) This bumps the libpq client-side PostgreSQL library minimum required version from 9.1 to 10.0. - Sanity check: PQlibVersion -> PQencr
Bump minimum libpq version to 10.0 (#14628) This bumps the libpq client-side PostgreSQL library minimum required version from 9.1 to 10.0. - Sanity check: PQlibVersion -> PQencryptPasswordConn (available since libpq 10.0) - PQsetErrorContextVisibility (available since libpq 9.6) - lo_truncate64 (available since libpq 9.3), if 32-bit system doesn't support lo_*64 functions, error is returned and functions are always available Additionally, the conditional functions usages in pdo_pgsql and pgsql extensions that got piled up are cleaned and synced: - pg_prepare (PQprepare available since libpq 7.4) - pg_query_params (PQexecParams available since libpq 7.4) - pg_result_error_field (PQresultErrorField available since libpq 7.4) - pg_send_prepare (PQsendPrepare available since libpq 7.4) - pg_send_query_params (PQsendQueryParams available since libpq 7.4) - pg_set_error_verbosity (PQsetErrorVerbosity available since libpq 7.4) - pg_transaction_status (PQtransactionStatus available since libpq 7.4) The Windows libpq version is currently at version 11.4: https://github.com/winlibs/postgresql Discussion: https://news-web.php.net/php.internals/123609 Follow-up of GH-14540
show more ...
|
#
564914ac |
| 14-Jun-2024 |
David Carlier |
ext/pgsql: adding postgresql 17 new libpq wrapper call. pg_set_chunked_rows_size to allow to fetch results in chunk of max N rows. close GH-14571
|
#
2bb8fbd0 |
| 13-Jun-2024 |
David Carlier |
ext/pgsql: add pg_jit server info. since PostgreSQL 11, LLVM JIT feature had been brought thus reporting the settings to the client connection. Close GH-14566
|
#
65ff5117 |
| 09-Jun-2024 |
Peter Kokot |
Check for PQERRORS_SQLSTATE in PGVerbosity enum (#14519) The PG_VERSION_NUM is not available in intended public PostgreSQL headers unless the pg_config.h is included or the PostgreSQL se
Check for PQERRORS_SQLSTATE in PGVerbosity enum (#14519) The PG_VERSION_NUM is not available in intended public PostgreSQL headers unless the pg_config.h is included or the PostgreSQL server development headers are installed separately. This instead resorts to checking for the PGVerbosity enum value. The PQERRORS_SQLSTATE was added to PostgreSQL 12.0. At the time of writing, on Windows, PostgreSQL is at 11.4 so it is not defined there yet.
show more ...
|
#
01887afd |
| 09-Jun-2024 |
Peter Kokot |
Fix typo s/PGVERSION_NUM/PG_VERSION_NUM (#14516)
|
#
e69bccd7 |
| 29-May-2024 |
David Carlier |
ext/pgsql: adding pg_socket_poll. Using PQSocketPoll to poll on a connection's socket. Returns immediatly is there no event expected on read and write. Other than that, it is a thin
ext/pgsql: adding pg_socket_poll. Using PQSocketPoll to poll on a connection's socket. Returns immediatly is there no event expected on read and write. Other than that, it is a thin wrapper on top of poll, thus reflecting its return value. close GH-14366
show more ...
|
#
661c5ee5 |
| 28-May-2024 |
Máté Kocsis |
Fix implicitly nullable parameter type for pg_put_copy_end()
|
#
162a311c |
| 25-May-2024 |
David Carlier |
ext/pgsql: adding pg_put_copy_data/pg_put_copy_end. pg_put_copy_data allows to send COPY commands to the server. pg_put_copy_end signals the end of the n commands. Both return 3
ext/pgsql: adding pg_put_copy_data/pg_put_copy_end. pg_put_copy_data allows to send COPY commands to the server. pg_put_copy_end signals the end of the n commands. Both return 3 states ; 1, 0 and -1 when 1 is success, 0 the buffer queue is full then -1 for errors. Close GH-14325
show more ...
|
#
9aa3a0d7 |
| 18-May-2024 |
David Carlier |
ext/pgsql: adding pg_change_password functionality. handy call to change an user password while taking care transparently of the password's encryption. close GH-14262
|
#
77fa4c0f |
| 12-May-2024 |
武田 憲太郎 |
ext/pgsql: add `pg_result_memory_size` Close GH-14214
|
#
f2e199e8 |
| 25-Feb-2024 |
Máté Kocsis |
Implement "support doc comments for internal classes and functions" (#13266) Fixes #13130
|
#
10957e49 |
| 18-Feb-2024 |
Máté Kocsis |
Do not generate frameless info items when func info generation is disabled While here, I fixed newlines around arginfo and function entry generation. Previously, newlines were repeated.
|
#
1e66e6ae |
| 20-Nov-2023 |
Jakub Zelenka |
Revert incomplete PG pipeline addition Closes GH-12735
|
#
63898008 |
| 10-Nov-2023 |
Dmitriy Degtyaryov |
Fix GH-9344: pgsql pipeline mode proposal. Adding pg_send_flush_request. Fix freeze after next execute pg_send_* on PQgetResult in _php_pgsql_link_has_results. Set nonblocking for pi
Fix GH-9344: pgsql pipeline mode proposal. Adding pg_send_flush_request. Fix freeze after next execute pg_send_* on PQgetResult in _php_pgsql_link_has_results. Set nonblocking for pipelining mode. No flush client buffer in pg_send_* for pipelining mode. Close GH-12644
show more ...
|
#
75da0d7c |
| 08-Oct-2023 |
Omar Emara |
PGSQL: Allow unconditional selection in pg_select Previously, pg_select did not allow unconditional selection, where an empty ids array would result in a function failure. This
PGSQL: Allow unconditional selection in pg_select Previously, pg_select did not allow unconditional selection, where an empty ids array would result in a function failure. This patch implements two changes: - Make the ids array an optional parameter. - Allow the ids array to be empty. In both cases, unconditional selection happen, which is equivalent to pg_query('SELECT * FROM <table>;'). Two test cases were added to test the aforementioned changes. Close GH-5332
show more ...
|
#
7ae0273b |
| 12-Jul-2023 |
Máté Kocsis |
Make the $row param of pg_fetch_result(), pg_field_prtlen() and pg_field_is_null() nullable
|
#
21aaf332 |
| 21-Jun-2023 |
Remi Collet |
check PQsetErrorContextVisibility availability (libpq >= 9.6)
|
#
dd8514a0 |
| 07-Jun-2023 |
David CARLIER |
ext/pgsql: adding pg_set_error_context_visibility. another level of context for pg_last_error/pg_result_error() to include or not the context in those. PQSHOW_CONTEXT_ERRORS being the de
ext/pgsql: adding pg_set_error_context_visibility. another level of context for pg_last_error/pg_result_error() to include or not the context in those. PQSHOW_CONTEXT_ERRORS being the default. Close GH-11395
show more ...
|
#
85338569 |
| 07-May-2023 |
Máté Kocsis |
Narrow bool return types to true when possible
|
#
f31d2538 |
| 02-May-2023 |
David CARLIER |
ext/pgsql adding PGSQL_ERRORS_SQLSTATE constant support. Close GH-11181
|
#
7ec8ae12 |
| 09-Apr-2023 |
David Carlier |
ext/pgsql: pg_trace allow to refine its trace mode via 2 new constants. - PGSQL_TRACE_SUPPRESS_TIMESTAMPS. - PGSQL_TRACE_REGRESS_MODE to have a more verbose and observable output to
ext/pgsql: pg_trace allow to refine its trace mode via 2 new constants. - PGSQL_TRACE_SUPPRESS_TIMESTAMPS. - PGSQL_TRACE_REGRESS_MODE to have a more verbose and observable output to check possible regressions. Close GH-11041
show more ...
|