Correctifs appliqués

Peter Eisentraut pushed:

�lvaro Herrera pushed:

  • Fix function code in error report. This bug causes a lseek() failure to be reported as a "could not open" failure in the error message, muddling bug reports. I introduced this copy-and-pasteo in commit 78e122010422. Noticed while reviewing code for bug report #15221, from lily liang. In version 10 the affected function is only used by multixact.c and commit_ts, and only in corner-case circumstances, neither of which are involved in the reported bug (a pg_subtrans failure.) Author: �lvaro Herrera https://git.postgresql.org/pg/commitdiff/eee381ef5ec4b16cff37865ccd70510e1e1abcdc
  • Teach SHOW ALL to honor pg_read_all_settings membership. Also, fix the pg_settings view to display source filename and line number when invoked by a pg_read_all_settings member. This addition by me (�lvaro). Also, fix wording of the comment in GetConfigOption regarding the restriction it implements, renaming the parameter for extra clarity. Noted by Micha�l. These were all oversight in commit 25fff40798fc; backpatch to pg10, where that commit first appeared. Author: Laurenz Albe Reviewed-by: Micha�l Paquier, �lvaro Herrera Discussion: https://postgr.es/m/1519917758.6586.8.camel@cybertec.at https://git.postgresql.org/pg/commitdiff/0c8910a0cab7c1e439bf5f5850122c36359e6799

Heikki Linnakangas pushed:

Magnus Hagander pushed:

Simon Riggs pushed:

Peter Geoghegan pushed:

Thomas Munro pushed:

Micha�l Paquier pushed:

  • Fix and document lock handling for in-memory replication slot data. While debugging issues on HEAD for the new slot forwarding feature of Postgres 11, some monitoring of the code surrounding in-memory slot data has proved that the lock handling may cause inconsistent data to be read by read-only callers of slot functions, particularly pg_get_replication_slots() which fetches data for the system view pg_replication_slots, or modules looking directly at slot information. The code paths involved in those problems concern logical decoding initialization (down to 9.4) and WAL reservation for slots (new as of 10). A set of comments documenting all the lock handlings, particularly the dependency with LW locks for slots and the in_use flag as well as the internal mutex lock is added, based on a suggested by Simon Riggs. Some of the fixed code exists down to 9.4 where WAL decoding has been introduced, but as those race conditions are really unlikely going to happen as those concern code paths for slot and decoding creation, just fix the problem on HEAD. Author: Michael Paquier Discussion: https://postgr.es/m/20180528085747.GA27845@paquier.xyz https://git.postgresql.org/pg/commitdiff/9e149c847f398793ec1641885434dcd10837d89d
  • Fix grammar in REVOKE documentation. Reported-by: Erwin Brandstetter https://git.postgresql.org/pg/commitdiff/c83e2029909c5411ca11fd841851016f1f9810e6

Tom Lane pushed:

Correctifs en attente

Fujii Masao sent in a patch to fix the performance of DROP DATABASE with many tablespaces in it by ensuring that DROP DATABASE generates only one XLOG_DBASE_DROP record, and registers the information of all the tablespaces into it.

Kyotaro HORIGUCHI sent in three more revisions of a patch to fix a problem while updating a foreign table pointing to a partitioned table on foreign server.

Heikki Linnakangas sent in a patch to optimize memory usage in SetOp executor node and allow SetOps to spill to storage.

Justin Pryzby sent in two more revisions of a patch to add tab completion in psql for table partitions.

Jeff Janes sent in a patch to make deparsing of column defaults faster.

Alexander Korotkov sent in a patch to lock B-tree leaves immediately in exclusive mode.

Peter Eisentraut sent in a patch to use $Test::Builder::Level in TAP test functions.

Andres Freund sent in a patch to convert FunctionCallInfoData->{arg,argisnull} into an array of NullableDatum (new type, a struct of Datum and bool), and then use a variable length array for the arguments. This gets the size of that data structure down from 936 bytes no matter what to 64 bytes in the very common 2-argument case.

Andrew Dunstan sent in a patch to extend and slightly refactor perl checking.

Andrew Dunstan sent in a patch to make the MSVC scripts work better on the buildfarm, and possibly elsewhere.

Konstantin Knizhnik sent in two more revisions of a patch to implement libpq compression.

Robbie Harwood sent in another revision of a patch to implement GSSAPI encryption.

Amit Khandekar sent in another revision of a patch to fix a concurrency bug in UPDATE of a partition key.

Melanie Plageman sent in a patch to fix a bug in collation.

David Fetter sent in a PoC patch to trim trailing whitespace in vim and emacs.

Teodor Sigaev sent in three more revisions of a patch to optimize GROUP BY.

Micha�l Paquier sent in two more revisions of a patch to rework scram_channel_binding to protect from downgrade attacks.

Rajkumar Raghuwanshi sent in a patch to add tests for partition-wise join with partitioned tables containing a default partition.

Nico Williams sent in another revision of a patch to add an ALWAYS DEFERRED option for CONSTRAINTS and CONSTRAINT TRIGGERs.

Heikki Linnakangas sent in a patch to push down JOIN clauses into subqueries.

Peter Eisentraut sent in another revision of a patch to enable using file cloning in pg_upgrade.

David Rowley and Ashutosh Bapat traded patches to allow direct lookups of AppendRelInfo by child relid.

Kyotaro HORIGUCHI sent in a patch to fix wrong behavior during crash recovery.

Peter Eisentraut sent in a patch to a patch that allows declaring cursors over prepared.

Peter Eisentraut sent in a patch to enable declaring cursors over prepared statements.

David Rowley, �lvaro Herrera, and Amit Langote traded patches to fix some issues with partition constraints.

Dagfinn Ilmari Manns�ker sent in a patch to fix excess enreferencing in plperl jsonb transform.

Peter Da Silva sent in a patch to add a PL/Tcl function to detect when a request has been canceled.

Laurenz Albe sent in a patch to build pg_test_fsync as backend code.

Micha�l Paquier sent in a patch to check the OpenSSL version available on Windows.

David Rowley sent in a patch to run-time prune only for partitioned tables.