pgsql: Remove return values of ConditionVariableSignal/Broadcast.

2018-01-05 Thread Tom Lane
Remove return values of ConditionVariableSignal/Broadcast. In the wake of commit aced5a92b, the semantics of these results are a bit squishy: we can tell whether we signaled some other process(es), but we do not know which ones were real waiters versus mere sentinels for ConditionVariableBroadcast

pgsql: Reorder steps in ConditionVariablePrepareToSleep for more safety

2018-01-05 Thread Tom Lane
Reorder steps in ConditionVariablePrepareToSleep for more safety. In the admittedly-very-unlikely case that AddWaitEventToSet fails, ConditionVariablePrepareToSleep would error out after already having set cv_sleep_target, which is probably bad, and after having already set cv_wait_event_set, whic

pgsql: Reorder steps in ConditionVariablePrepareToSleep for more safety

2018-01-05 Thread Tom Lane
Reorder steps in ConditionVariablePrepareToSleep for more safety. In the admittedly-very-unlikely case that AddWaitEventToSet fails, ConditionVariablePrepareToSleep would error out after already having set cv_sleep_target, which is probably bad, and after having already set cv_wait_event_set, whic

pgsql: Rewrite ConditionVariableBroadcast() to avoid live-lock.

2018-01-05 Thread Tom Lane
Rewrite ConditionVariableBroadcast() to avoid live-lock. The original implementation of ConditionVariableBroadcast was, per its self-description, "the dumbest way possible". Thomas Munro found out it was a bit too dumb. An awakened process may immediately re-queue itself, if the specific conditi

pgsql: Rewrite ConditionVariableBroadcast() to avoid live-lock.

2018-01-05 Thread Tom Lane
Rewrite ConditionVariableBroadcast() to avoid live-lock. The original implementation of ConditionVariableBroadcast was, per its self-description, "the dumbest way possible". Thomas Munro found out it was a bit too dumb. An awakened process may immediately re-queue itself, if the specific conditi

pgsql: Factor error generation out of ExecPartitionCheck.

2018-01-05 Thread Robert Haas
Factor error generation out of ExecPartitionCheck. At present, we always raise an ERROR if the partition constraint is violated, but a pending patch for UPDATE tuple routing will consider instead moving the tuple to the correct partition. Refactor to make that simpler. Amit Khandekar, reviewed by

pgsql: pg_upgrade: remove C comment

2018-01-05 Thread Bruce Momjian
pg_upgrade: remove C comment Revert another part of 959ee6d267fb24e667fc64e9837a376e236e84a5 . Backpatch-through: 10 Branch -- REL_10_STABLE Details --- https://git.postgresql.org/pg/commitdiff/502b4118e72c6c212ad4304b57eb6ef3280ff428 Modified Files -- src/bin/pg_upgrade/s

pgsql: pg_upgrade: remove C comment

2018-01-05 Thread Bruce Momjian
pg_upgrade: remove C comment Revert another part of 959ee6d267fb24e667fc64e9837a376e236e84a5 . Backpatch-through: 10 Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/84a6f63e32dbefe3dc76cbe628fab6cbfc26141e Modified Files -- src/bin/pg_upgrade/server.c

pgsql: pg_upgrade: revert part of patch for ease of translation

2018-01-05 Thread Bruce Momjian
pg_upgrade: revert part of patch for ease of translation Revert part of 959ee6d267fb24e667fc64e9837a376e236e84a5 . Backpatch-through: 10 Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/3e6f01fd7d9b01b17626a6bc38cf664354eede71 Modified Files -- src/bin

pgsql: pg_upgrade: revert part of patch for ease of translation

2018-01-05 Thread Bruce Momjian
pg_upgrade: revert part of patch for ease of translation Revert part of 959ee6d267fb24e667fc64e9837a376e236e84a5 . Backpatch-through: 10 Branch -- REL_10_STABLE Details --- https://git.postgresql.org/pg/commitdiff/5f45c72e3eea611bf7e06e0dd841c6f610c4d839 Modified Files --

pgsql: pg_upgrade: simplify code layout in a few places

2018-01-05 Thread Bruce Momjian
pg_upgrade: simplify code layout in a few places Backpatch-through: 9.4 (9.3 didn't need improving) Branch -- REL9_6_STABLE Details --- https://git.postgresql.org/pg/commitdiff/1d135657a308e920d92df35e3453ed1725dbbc0d Modified Files -- src/bin/pg_upgrade/exec.c | 2 -- 1 fil

pgsql: pg_upgrade: simplify code layout in a few places

2018-01-05 Thread Bruce Momjian
pg_upgrade: simplify code layout in a few places Backpatch-through: 9.4 (9.3 didn't need improving) Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/959ee6d267fb24e667fc64e9837a376e236e84a5 Modified Files -- src/bin/pg_upgrade/exec.c | 2 -- src/bin/pg

pgsql: pg_upgrade: simplify code layout in a few places

2018-01-05 Thread Bruce Momjian
pg_upgrade: simplify code layout in a few places Backpatch-through: 9.4 (9.3 didn't need improving) Branch -- REL_10_STABLE Details --- https://git.postgresql.org/pg/commitdiff/b3b058539c27c36a1b28c268e9179660ef0b0293 Modified Files -- src/bin/pg_upgrade/exec.c | 2 -- src

pgsql: pg_upgrade: simplify code layout in a few places

2018-01-05 Thread Bruce Momjian
pg_upgrade: simplify code layout in a few places Backpatch-through: 9.4 (9.3 didn't need improving) Branch -- REL9_5_STABLE Details --- https://git.postgresql.org/pg/commitdiff/6c31ac1dd3a376fc8e49092e6036c0b1aa60c2ba Modified Files -- src/bin/pg_upgrade/exec.c | 2 -- 1 fil

pgsql: pg_upgrade: simplify code layout in a few places

2018-01-05 Thread Bruce Momjian
pg_upgrade: simplify code layout in a few places Backpatch-through: 9.4 (9.3 didn't need improving) Branch -- REL9_4_STABLE Details --- https://git.postgresql.org/pg/commitdiff/9162560bc3ac36b515e222f35db1efbb9ccfab83 Modified Files -- contrib/pg_upgrade/exec.c | 2 -- 1 fil

pgsql: Fix failure to delete spill files of aborted transactions

2018-01-05 Thread Alvaro Herrera
Fix failure to delete spill files of aborted transactions Logical decoding's reorderbuffer.c may spill transaction files to disk when transactions are large. These are supposed to be removed when they become "too old" by xid; but file removal requires the boundary LSNs of the transaction to be kn

pgsql: Fix failure to delete spill files of aborted transactions

2018-01-05 Thread Alvaro Herrera
Fix failure to delete spill files of aborted transactions Logical decoding's reorderbuffer.c may spill transaction files to disk when transactions are large. These are supposed to be removed when they become "too old" by xid; but file removal requires the boundary LSNs of the transaction to be kn

pgsql: Fix failure to delete spill files of aborted transactions

2018-01-05 Thread Alvaro Herrera
Fix failure to delete spill files of aborted transactions Logical decoding's reorderbuffer.c may spill transaction files to disk when transactions are large. These are supposed to be removed when they become "too old" by xid; but file removal requires the boundary LSNs of the transaction to be kn

pgsql: Fix failure to delete spill files of aborted transactions

2018-01-05 Thread Alvaro Herrera
Fix failure to delete spill files of aborted transactions Logical decoding's reorderbuffer.c may spill transaction files to disk when transactions are large. These are supposed to be removed when they become "too old" by xid; but file removal requires the boundary LSNs of the transaction to be kn

pgsql: Fix failure to delete spill files of aborted transactions

2018-01-05 Thread Alvaro Herrera
Fix failure to delete spill files of aborted transactions Logical decoding's reorderbuffer.c may spill transaction files to disk when transactions are large. These are supposed to be removed when they become "too old" by xid; but file removal requires the boundary LSNs of the transaction to be kn