Re: pgsql: Remove dependency on HeapTuple from predicate locking functions.

2020-01-27 Thread Thomas Munro
On Tue, Jan 28, 2020 at 6:59 PM Tom Lane wrote: > Thomas Munro writes: > > Remove dependency on HeapTuple from predicate locking functions. > > anole's not terribly pleased with this: > > "heapam.c", line 9137: error #2118: a void function may not return a value > return CheckForSerializa

pgsql: Fix compile error on HP C.

2020-01-27 Thread Thomas Munro
Fix compile error on HP C. Per build farm animal anole, after commit 6f38d4dac3. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/11da6bccd178c1e0d5b0fbc4bccc538f8a005dd3 Modified Files -- src/backend/access/heap/heapam.c | 2 +- 1 file changed, 1 inserti

Re: pgsql: Remove dependency on HeapTuple from predicate locking functions.

2020-01-27 Thread Tom Lane
Thomas Munro writes: > Remove dependency on HeapTuple from predicate locking functions. anole's not terribly pleased with this: "heapam.c", line 9137: error #2118: a void function may not return a value return CheckForSerializableConflictOut(relation, xid, snapshot); ^

pgsql: Don't reset latch in ConditionVariablePrepareToSleep().

2020-01-27 Thread Thomas Munro
Don't reset latch in ConditionVariablePrepareToSleep(). It's not OK to do that without calling CHECK_FOR_INTERRUPTS(). Let the next wait loop deal with it, following the usual pattern. One consequence of this bug was that a SIGTERM delivered in a very narrow timing window could leave a parallel w

pgsql: Added relation name in error messages for constraint checks.

2020-01-27 Thread Amit Kapila
Added relation name in error messages for constraint checks. This gives more information to the user about the error and it makes such messages consistent with the other similar messages in the code. Reported-by: Simon Riggs Author: Mahendra Singh and Simon Riggs Reviewed-by: Beena Emerson and Am

pgsql: Add connection parameters to control SSL protocol min/max in lib

2020-01-27 Thread Michael Paquier
Add connection parameters to control SSL protocol min/max in libpq These two new parameters, named sslminprotocolversion and sslmaxprotocolversion, allow to respectively control the minimum and the maximum version of the SSL protocol used for the SSL connection attempt. The default setting is to a

pgsql: Remove dependency on HeapTuple from predicate locking functions.

2020-01-27 Thread Thomas Munro
Remove dependency on HeapTuple from predicate locking functions. The following changes make the predicate locking functions more generic and suitable for use by future access methods: - PredicateLockTuple() is renamed to PredicateLockTID(). It takes ItemPointer and inserting transaction ID ins

pgsql: Apply project best practices to switches over enum values.

2020-01-27 Thread Tom Lane
Apply project best practices to switches over enum values. In the wake of 1f3a02173, assorted buildfarm members were warning about "control reaches end of non-void function" or the like. Do what we've done elsewhere: in place of a "default" switch case that will prevent the compiler from warning

pgsql: Move some code from jsonapi.c to jsonfuncs.c.

2020-01-27 Thread Robert Haas
Move some code from jsonapi.c to jsonfuncs.c. Specifically, move those functions that depend on ereport() from jsonapi.c to jsonfuncs.c, in preparation for allowing jsonapi.c to be used from frontend code. A few cases where elog(ERROR, ...) is used for can't-happen conditions are left alone; we c

pgsql: Adjust pg_parse_json() so that it does not directly ereport().

2020-01-27 Thread Robert Haas
Adjust pg_parse_json() so that it does not directly ereport(). Instead, it now returns a value indicating either success or the type of error which occurred. The old behavior is still available by calling pg_parse_json_or_ereport(). If the new interface is used, an error can be thrown by passing t