Re: pgsql: Add flag values in WAL description to all heap records

2018-11-14 Thread Alvaro Herrera
On 2018-Nov-14, Michael Paquier wrote: > Add flag values in WAL description to all heap records > > Hexadecimal is consistently used as format to not bloat too much the > output but keep it readable. This information is useful mainly for > debugging purposes with for example pg_waldump. Just no

pgsql: Lower lock level for renaming indexes

2018-11-14 Thread Peter Eisentraut
Lower lock level for renaming indexes Change lock level for renaming index (either ALTER INDEX or implicitly via some other commands) from AccessExclusiveLock to ShareUpdateExclusiveLock. One reason we need a strong lock for relation renaming is that the name change causes a rebuild of the relcac

pgsql: Second try at fixing numeric data passed through an ECPG SQLDA.

2018-11-14 Thread Tom Lane
Second try at fixing numeric data passed through an ECPG SQLDA. In commit ecfd55795, I removed sqlda.c's checks for ndigits != 0 on the grounds that we should duplicate the state of the numeric value's digit buffer even when all the digits are zeroes. However, that still isn't quite right, becaus

pgsql: Second try at fixing numeric data passed through an ECPG SQLDA.

2018-11-14 Thread Tom Lane
Second try at fixing numeric data passed through an ECPG SQLDA. In commit ecfd55795, I removed sqlda.c's checks for ndigits != 0 on the grounds that we should duplicate the state of the numeric value's digit buffer even when all the digits are zeroes. However, that still isn't quite right, becaus

pgsql: Second try at fixing numeric data passed through an ECPG SQLDA.

2018-11-14 Thread Tom Lane
Second try at fixing numeric data passed through an ECPG SQLDA. In commit ecfd55795, I removed sqlda.c's checks for ndigits != 0 on the grounds that we should duplicate the state of the numeric value's digit buffer even when all the digits are zeroes. However, that still isn't quite right, becaus

pgsql: Second try at fixing numeric data passed through an ECPG SQLDA.

2018-11-14 Thread Tom Lane
Second try at fixing numeric data passed through an ECPG SQLDA. In commit ecfd55795, I removed sqlda.c's checks for ndigits != 0 on the grounds that we should duplicate the state of the numeric value's digit buffer even when all the digits are zeroes. However, that still isn't quite right, becaus

pgsql: Second try at fixing numeric data passed through an ECPG SQLDA.

2018-11-14 Thread Tom Lane
Second try at fixing numeric data passed through an ECPG SQLDA. In commit ecfd55795, I removed sqlda.c's checks for ndigits != 0 on the grounds that we should duplicate the state of the numeric value's digit buffer even when all the digits are zeroes. However, that still isn't quite right, becaus

pgsql: Second try at fixing numeric data passed through an ECPG SQLDA.

2018-11-14 Thread Tom Lane
Second try at fixing numeric data passed through an ECPG SQLDA. In commit ecfd55795, I removed sqlda.c's checks for ndigits != 0 on the grounds that we should duplicate the state of the numeric value's digit buffer even when all the digits are zeroes. However, that still isn't quite right, becaus

pgsql: Add a timezone-specific variant of date_trunc().

2018-11-14 Thread Tom Lane
Add a timezone-specific variant of date_trunc(). date_trunc(field, timestamptz, zone_name) performs truncation using the named time zone as reference, rather than working in the session time zone as is the default behavior. It's equivalent to date_trunc(field, timestamptz at time zone zone_name)

pgsql: Doc: remove claim that all \pset format options are unique in 1

2018-11-14 Thread Tom Lane
Doc: remove claim that all \pset format options are unique in 1 letter. This hasn't been correct since 9.3 added "latex-longtable". I left the phraseology "Unique abbreviations are allowed" alone. It's correct as far as it goes, and we are studiously refraining from specifying exactly what happen

pgsql: Doc: remove claim that all \pset format options are unique in 1

2018-11-14 Thread Tom Lane
Doc: remove claim that all \pset format options are unique in 1 letter. This hasn't been correct since 9.3 added "latex-longtable". I left the phraseology "Unique abbreviations are allowed" alone. It's correct as far as it goes, and we are studiously refraining from specifying exactly what happen

pgsql: Doc: remove claim that all \pset format options are unique in 1

2018-11-14 Thread Tom Lane
Doc: remove claim that all \pset format options are unique in 1 letter. This hasn't been correct since 9.3 added "latex-longtable". I left the phraseology "Unique abbreviations are allowed" alone. It's correct as far as it goes, and we are studiously refraining from specifying exactly what happen

pgsql: Doc: remove claim that all \pset format options are unique in 1

2018-11-14 Thread Tom Lane
Doc: remove claim that all \pset format options are unique in 1 letter. This hasn't been correct since 9.3 added "latex-longtable". I left the phraseology "Unique abbreviations are allowed" alone. It's correct as far as it goes, and we are studiously refraining from specifying exactly what happen

pgsql: Make psql's "\pset format" command reject non-unique abbreviatio

2018-11-14 Thread Tom Lane
Make psql's "\pset format" command reject non-unique abbreviations. The previous behavior of preferring the oldest match had the advantage of not breaking existing scripts when we add a conflicting format name; but that behavior was undocumented and fragile (it seems just luck that commit add9182e

pgsql: Doc: remove claim that all \pset format options are unique in 1

2018-11-14 Thread Tom Lane
Doc: remove claim that all \pset format options are unique in 1 letter. This hasn't been correct since 9.3 added "latex-longtable". I left the phraseology "Unique abbreviations are allowed" alone. It's correct as far as it goes, and we are studiously refraining from specifying exactly what happen

pgsql: Doc: remove claim that all \pset format options are unique in 1

2018-11-14 Thread Tom Lane
Doc: remove claim that all \pset format options are unique in 1 letter. This hasn't been correct since 9.3 added "latex-longtable". I left the phraseology "Unique abbreviations are allowed" alone. It's correct as far as it goes, and we are studiously refraining from specifying exactly what happen

pgsql: Use 64 bit type for BufFileSize().

2018-11-14 Thread Thomas Munro
Use 64 bit type for BufFileSize(). BufFileSize() can't use off_t, because it's only 32 bits wide on some systems. BufFile objects can have many 1GB segments so the total size can exceed 2^31. The only known client of the function is parallel CREATE INDEX, which was reported to fail when building

pgsql: Use 64 bit type for BufFileSize().

2018-11-14 Thread Thomas Munro
Use 64 bit type for BufFileSize(). BufFileSize() can't use off_t, because it's only 32 bits wide on some systems. BufFile objects can have many 1GB segments so the total size can exceed 2^31. The only known client of the function is parallel CREATE INDEX, which was reported to fail when building

Re: pgsql: Add flag values in WAL description to all heap records

2018-11-14 Thread Michael Paquier
On Wed, Nov 14, 2018 at 11:02:46AM -0300, Alvaro Herrera wrote: > Just noticed: ISTM we should also print the infobits_set flags in > xl_heap_lock and xl_heap_lock_updated. I can add those. OK, feel free to do so if you have time, or I can add them myself if you would like me to do so. Another t

pgsql: Increase the number of possible random seeds per time period.

2018-11-14 Thread Thomas Munro
Increase the number of possible random seeds per time period. Commit 197e4af9 refactored the initialization of the libc random() seed, but reduced the number of possible seeds values that could be chosen in a given time period. This negation of the effects of commit 98c50656c was unintentional.

Re: pgsql: Increase the number of possible random seeds per time period.

2018-11-14 Thread Tom Lane
Thomas Munro writes: > Increase the number of possible random seeds per time period. Um, this bit is *not* right: + ((unsigned int) MyStartTimestamp >> 20)); You're cutting it down to 32 bits and then right shifting, which means you are shifting in a lot of zeroes when you could be sh

Re: pgsql: Increase the number of possible random seeds per time period.

2018-11-14 Thread Thomas Munro
On Thu, Nov 15, 2018 at 4:38 PM Tom Lane wrote: > Thomas Munro writes: > > Increase the number of possible random seeds per time period. > > Um, this bit is *not* right: > > + ((unsigned int) MyStartTimestamp >> 20)); > > You're cutting it down to 32 bits and then right shifting, which

Re: pgsql: Increase the number of possible random seeds per time period.

2018-11-14 Thread Tom Lane
Thomas Munro writes: > On Thu, Nov 15, 2018 at 4:38 PM Tom Lane wrote: >> Um, this bit is *not* right: > Will this close the case? > - srandom(((unsigned int) MyProcPid) ^ > - ((unsigned int) MyStartTimestamp << 12) ^ > - ((unsigned int) MyStart

pgsql: Further adjustment to random() seed initialization.

2018-11-14 Thread Thomas Munro
Further adjustment to random() seed initialization. Per complaint from Tom Lane, don't chomp the timestamp at 32 bits, so we can shift in some of its higher bits. Discussion: https://postgr.es/m/14712.1542253115%40sss.pgh.pa.us Branch -- master Details --- https://git.postgresql.org/pg/

pgsql: Fix the omission in docs.

2018-11-14 Thread Amit Kapila
Fix the omission in docs. Commit 5373bc2a08 has added type for background workers but forgot to update at one place in the documentation. Reported-by: John Naylor Author: John Naylor Reviewed-by: Amit Kapila Backpatch-through: 11 Discussion: https://postgr.es/m/CAJVSVGVmvgJ8Lq4WBxC3zV5wf0txdCqRS

pgsql: Fix the omission in docs.

2018-11-14 Thread Amit Kapila
Fix the omission in docs. Commit 5373bc2a08 has added type for background workers but forgot to update at one place in the documentation. Reported-by: John Naylor Author: John Naylor Reviewed-by: Amit Kapila Backpatch-through: 11 Discussion: https://postgr.es/m/CAJVSVGVmvgJ8Lq4WBxC3zV5wf0txdCqRS