| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Generate a param count mismatch error even if the query contains
no placeholders.
Additionally we shouldn't HANDLE errors from pdo_parse_params,
which are always reported via raise_impl_error. Doing so results
in duplicate error messages.
|
|
|
|
|
|
|
| |
And thus generate error messages that match what PDO emulation
would generate.
This fixes the error message regression from the previous commit.
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a driver reports an error during EVT_ALLOC (and some over EVTs),
make sure we handle it as usual, i.e. warn or throw.
This requires some adjustments in PDO PgSQL to stop manually doing
this through an impl error.
Unfortunately the PDO PgSQL error messages regress because of this,
as they now include a completely arbitrary error code. There doesn't
seem to be an ability to skip it right now.
|
|
|
|
| |
Closes GH-6329.
|
|
|
|
|
| |
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
|
|
|
|
| |
Closes GH-6159
|
|
|
|
| |
Closes GH-6119
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|\
| |
| |
| |
| | |
* PHP-7.4:
Fix #64705 errorInfo property of PDOException is null when PDO::__construct() fails
|
| |\
| | |
| | |
| | |
| | | |
* PHP-7.3:
Fix #64705 errorInfo property of PDOException is null when PDO::__construct() fails
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
Closes GH-5958
|
| | |
| | |
| | |
| | | |
Closes GH-5917
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-5758
|
| | |
| | |
| | |
| | |
| | |
| | | |
These are no longer needed after https://wiki.php.net/rfc/always_enable_json
Closes GH-5637
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Even if that header file is available, we better consider it private,
and don't include it. The information about whether SSL support is
enabled is now missing (`USE_(OPEN)SSL`), and it seems there is no
alternative way to get it (`PQinitSSL()` is always defined), so we
remove it from the PHP info. Furthermore, the `PG_VERSION` and
`PG_VERSION_STR` macros are no longer available, but as of libpq 9.1
there is `PQlibVersion()` which allows us to construct `PG_VERSION` in
a most likely backwards compatible manner. The additional information
available through `PG_VERSION_STR` is lost, though, so we define
`PGSQL_LIBPQ_VERSION_STR` basically as alias of `PGSQL_LIBPQ_VERSION`,
and deprecate it right away.
Since we are now requiring at least libpq 9.1, we can remove some
further compatibility code and additional checks.
Regarding the raised requirements: official support for PostGreSQL 9.0
ended on 2015-10-08, and even CentOS 7 already has PostGreSQL 9.2, so
this is not supposed to be too much of an issue.
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix #79532: sizeof off_t can be wrong
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We have to actually determine the proper `SIZEOF_OFF_T`.
Interestingly, it is `4` on Windows x64.
We also have to prevent the redefinition in pg_config.h. The clean
solution would likely be to not include pg_config.h at all, but that's
out of scope for BC reasons for now.
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-5066 As a first step, let's capitalize their initial letter when it is applicable.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Except for some bigger ones: reflection, sodium, spl
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix #78982: pdo_pgsql returns dead persistent connection
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.3:
Fix #78982: pdo_pgsql returns dead persistent connection
|
| | |
| | |
| | |
| | | |
Call PQconsumeInput() before PQstatus() to update the status.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix #78980: pgsqlGetNotify() overlooks dead connection
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.3:
Fix #78980: pgsqlGetNotify() overlooks dead connection
|
| | |
| | |
| | |
| | | |
pgsqlGetNotify() didn't check result of PQconsumeInput().
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
Fix #78983: pdo_pgsql config.w32 cannot find libpq-fe.h
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.3:
Fix #78983: pdo_pgsql config.w32 cannot find libpq-fe.h
|
| | |
| | |
| | |
| | | |
When configured with a path specified.
|
| | |
| | |
| | |
| | | |
Closes GH-4878.
|
| | | |
|
|/ /
| |
| |
| | |
Closes GH-4732.
|
| | |
|
| |
| |
| |
| |
| | |
pg_config.h is supposed to be placed right besides libpq-fe.h, so we
should check the same paths.
|
| |
| |
| |
| | |
Otherwise the test fails.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The php_stream_read() and php_stream_write() functions now return
an ssize_t value, with negative results indicating failure. Functions
like fread() and fwrite() will return false in that case.
As a special case, EWOULDBLOCK and EAGAIN on non-blocking streams
should not be regarded as error conditions, and be reported as
successful zero-length reads/writes instead. The handling of EINTR
remains unclear and is internally inconsistent (e.g. some code-paths
will automatically retry on EINTR, while some won't).
I'm landing this now to make sure the stream wrapper ops API changes
make it into 7.4 -- however, if the user-facing changes turn out to
be problematic we have the option of clamping negative returns to
zero in php_stream_read() and php_stream_write() to restore the
old behavior in a relatively non-intrusive manner.
|
| |
| |
| |
| |
| |
| |
| | |
These checks were once relevant for these extensions in PECL and PHP
versions without availability of the checked macros.
Closes GH-4405
|
| |
| |
| |
| |
| |
| |
| | |
Conditional checks were once used for backwards compatibility with
phpize from PHP versions that didn't have this macro call yet.
Closes GH-4376
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RFC: https://wiki.php.net/rfc/tostring_exceptions
And convert some object to string conversion related recoverable
fatal errors into Error exceptions.
Improve exception safety of internal code performing string
conversions.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Normalization include:
- Use dnl for everything that can be ommitted when configure is built in
favor of the shell comment character # which is visible in the output.
- Line length normalized to 80 columns
- Dots for most of the one line sentences
- Macro definitions include similar pattern header comments now
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Autoconf defines PACKAGE_* symbols:
- PACKAGE_NAME
- PACKAGE_VERSION
- PACKAGE_TARNAME
- PACKAGE_STRING
- PACKAGE_BUGREPORT
- PACKAGE_URL
and appends them to the generated config.h.in files. With AC_INIT change
via afd52f9d9986d92dd0c63832a07ab1a16bf11d53 where package version, URL,
bug report location and similar meta data are defined, these
preprocessor macros are then non empty strings in the generated
configuration header file. When using phpize, PHP shares the config
files in extensions, warnings of redefined macros appear, such as:
- `warning: 'PACKAGE_NAME' macro redefined`
This patch now disables these non utilized symbols in the generated
config header files.
Better practice would be to include only API specific headers where
needed but this would require even more refactorings. Some extensions
such as pcre, pgsql, and pdo_pgsql solve this issue by undefining some
of these symbols before including the library configuration headers in
the code also. Because these symbols can be defined by any library which
uses Autotools.
Additionally, the unused PACKAGE_* symbols were cleaned for the bundled
libmbfl library and with this patch not needed undef code removed.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix tests wrt. internationalization
|