1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 17:52:16 +01:00
Commit Graph

274 Commits

Author SHA1 Message Date
Máté Kocsis
7ae0273ba3 Make the $row param of pg_fetch_result(), pg_field_prtlen() and pg_field_is_null() nullable 2023-07-18 12:59:21 +02:00
Remi Collet
21aaf3321f check PQsetErrorContextVisibility availability (libpq >= 9.6) 2023-06-21 08:47:59 +02:00
David CARLIER
dd8514a0bd 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
2023-06-13 18:07:39 +01:00
David CARLIER
16a63d7b07 ext/pgsql: php_pgsql_convert converts E_NOTICE to TypeError/ValueError exceptions.
Close GH-11238
2023-06-05 15:31:39 +01:00
David CARLIER
f18a0384c1 ext/pgsql: fix pg_trace test when trace mode is supported. (#11191) 2023-05-06 10:02:30 +01:00
David CARLIER
f31d253849 ext/pgsql adding PGSQL_ERRORS_SQLSTATE constant support.
Close GH-11181
2023-05-05 15:08:27 +01:00
David Carlier
7ec8ae12c4 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
2023-05-05 11:05:03 +01:00
David CARLIER
6a9061e0af Fix GH-9344: pgsql pipeline mode proposal.
Adding pg_enter_pipeline_mode, pg_exit_pipeline_mode,
pg_pipeline_sync and pg_pipeline_status.

Close GH-10868
2023-04-28 20:53:11 +01:00
David Carlier
b19f556349 Merge branch 'PHP-8.2' 2023-03-18 07:10:57 +00:00
David Carlier
892f833807 Merge branch 'PHP-8.1' into PHP-8.2 2023-03-18 07:10:06 +00:00
David CARLIER
5adeed3051 ext/psql: pg_meta_data, extended mode, fix typo for pseudo typtype.
Closes GH-10865.
2023-03-18 07:09:13 +00:00
David CARLIER
feb82d91b9 pgsql_insert fix unit tests (#10860) 2023-03-15 22:57:25 +00:00
David Carlier
394470c052 php_pgsql_meta_data raises a ValueError when table name is invalid. 2023-03-15 17:49:27 +00:00
George Peter Banyard
51b70e4414 Merge branch 'PHP-8.2'
* PHP-8.2:
  Fixed bug GH-10270 Unable to return CURL_READFUNC_PAUSE in readfunc callback
  Fix GH-10672 (pg_lo_open segfaults in the strict_types mode)
2023-02-24 14:33:47 +00:00
George Peter Banyard
512abc23a4 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fixed bug GH-10270 Unable to return CURL_READFUNC_PAUSE in readfunc callback
  Fix GH-10672 (pg_lo_open segfaults in the strict_types mode)
2023-02-24 14:33:28 +00:00
George Peter Banyard
5f357f341d Fix GH-10672 (pg_lo_open segfaults in the strict_types mode)
We need to use the proper ZPP qualifier for zend_string

Closes GH-10677
2023-02-24 14:31:23 +00: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
George Peter Banyard
eddab74021 Improve DBA test suite (#8904)
Generalises tests for all the different drivers.
Run the general test for the various drivers.

This allows support for parallel testing as the tests now do not rely on the same DB file.
2022-07-28 19:36:04 +01:00
Máté Kocsis
f17a8a5aed Add missing EXTENSIONS section to new test 2022-06-06 12:21:25 +02:00
Máté Kocsis
7c2d1fda4a Add missing SKIPIF section to new test 2022-06-06 12:05:49 +02:00
Stanislav Malyshev
70d03423c7 Merge branch 'PHP-8.1' 2022-06-06 01:11:49 -06:00
Stanislav Malyshev
98e1291b7e Merge branch 'PHP-8.0' into PHP-8.1 2022-06-06 01:11:44 -06:00
Stanislav Malyshev
e864cb61a7 Merge branch 'PHP-7.4' into PHP-8.0 2022-06-06 01:11:13 -06:00
Christoph M. Becker
55f6895f4b Fix #81720: Uninitialized array in pg_query_params() leading to RCE
We must not free parameters which we haven't initialized yet.

We also fix the not directly related issue, that we checked for the
wrong value being `NULL`, potentially causing a segfault.
2022-06-06 00:34:23 -06:00
Christoph M. Becker
81d1a1b47b Update bug tracker links
The new php-src bugtracker is on Github.

Closes GH-8277.
2022-05-12 14:55:11 +02:00
Ilija Tovilo
9a90bd7054 Deprecate ${} string interpolation
https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation
2022-05-05 10:14:56 +02:00
Ilija Tovilo
4dec645029 Merge branch 'PHP-8.1'
* PHP-8.1:
  Verify generated files are up to date in CI
2022-04-21 23:27:46 +02:00
Ilija Tovilo
cf70047351 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Verify generated files are up to date in CI
2022-04-21 23:27:29 +02:00
Michael Voříšek
36de002cc6 Verify generated files are up to date in CI
Closes GH-8295
2022-04-21 23:25:47 +02:00
Christoph M. Becker
c9c5ee3f48 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix GH-8253: pg_insert() fails for references
2022-03-29 10:54:32 +02:00
Christoph M. Becker
7e8dcda42c Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix GH-8253: pg_insert() fails for references
2022-03-29 10:53:56 +02:00
Christoph M. Becker
0e6d6f83cc Fix GH-8253: pg_insert() fails for references
We need to deref the values.

Closes GH-8262.
2022-03-29 10:51:19 +02:00
Matteo Beccati
a476cc109d Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix #81509 pg_end_copy still expects a resource
  Add test for pg_put_line() and pg_end_copy()
2021-10-05 18:14:06 +02:00
Matteo Beccati
202a099aee Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Add test for pg_put_line() and pg_end_copy()
2021-10-05 18:13:20 +02:00
Matteo Beccati
9af6882d28 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Add test for pg_put_line() and pg_end_copy()
2021-10-05 17:44:19 +02:00
Matteo Beccati
be36bf5aca Add test for pg_put_line() and pg_end_copy() 2021-10-05 17:43:48 +02:00
Nikita Popov
7a411564f0 Fix some more CLEAN sections 2021-09-03 11:18:19 +02:00
George Peter Banyard
1f42777927 Deprecate using the implicit default PgSQL connection
The DB connection should be provided in all cases as the first argument.
The overloaded function signatures will be removed in the future.
Warn about this change.

Part of https://wiki.php.net/rfc/deprecations_php_8_1.
2021-07-09 23:12:37 +02:00
Nikita Popov
a148ea2c50 Add missing dba extension requirement in pgsql test 2021-06-14 14:55:03 +02:00
Nikita Popov
6600ad6067 Add some missing EXTENSIONS sections to misc tests 2021-06-14 14:52:44 +02:00
Nikita Popov
e378968c4f Fix EXTENSIONS section for pgsql
This should have been pgsql, not psql...
2021-06-14 14:40:38 +02:00
Nikita Popov
b5a14e6c04 Port skipif.inc files to EXTENSIONS 2021-06-11 16:27:50 +02:00
Máté Kocsis
32aff25ceb Convert resources to objects in ext/pgsql
Closes GH-6791

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
2021-05-11 00:09:30 +02:00
George Peter Banyard
6eb23e2b83 ValueError if lengths is less than 0 2021-04-19 20:27:34 +01:00
George Peter Banyard
7a1af523fa Fix test output due to float to string locale independent change
Also use de_DE locale instead
2021-04-19 20:27:33 +01:00
Nikita Popov
1b3b430f47 Add --repeat testing mode
This testing mode executes the test multiple times in the same
process (but in different requests). It is primarily intended to
catch tracing JIT bugs, but also catches state leaks across
requests.

Closes GH-6365.
2020-10-30 17:29:33 +01:00
Nikita Popov
3171fec6da Update ext/pgsql parameter names
Closes GH-6294.
2020-10-13 12:30:44 +02:00
George Peter Banyard
053a5fc141 Promote E_NOTICE to Value/TypeError in PostgreSQL extension
Add some tests to cover related codepaths.
With the small caveat that the ones in build_assignment_string()
still don't seem to be tested as it looks the condtions are checked
beforehand, might need some more investigation.

Closes GH-6226
2020-09-29 15:13:01 +01:00
Nikita Popov
8ff2f2f84b Return empty array for no rows in pg_fetch_all()
This makes it line up with pg_fetch_all_columns(), as well as
similar functions in other exts, such as mysqli_fetch_all().
2020-09-21 17:22:02 +02:00
Nikita Popov
54f03d31e0 Promote invalid field to ValueError in pgsql
The same error condition is a ValueError in mysqli, be consistent.

Additionally, do not display the argument name for these errors.
As the signatures are overloaded, the argument name may not match
the meaning at all.
2020-09-21 17:00:23 +02:00