Re: pgsql: Transforms for jsonb to PL/Perl

2018-04-03 Thread Tom Lane
I wrote: > Hm, it fails on my own machine too (RHEL6, perl 5.10.1), with the > same "cannot transform this Perl type to jsonb" symptoms. A bit > of tracing shows that SvTYPE(in) is returning SVt_PVIV in some > of the failing cases, and SVt_PVNV in others. I tried to fix this by reducing the

Re: pgsql: Validate page level checksums in base backups

2018-04-03 Thread David Steele
On 4/3/18 4:48 PM, Michael Banck wrote: Attached is a patch which does that hopefully: 1. creates two user tables, one large enough for at least 6 blocks (around 360kb), the other just one block. 2. stops the cluster before scribbling over its data and starts it afterwards. 3. uses the

pgsql: Fix GCC 7 snprintf() compiler warning.

2018-04-03 Thread Andres Freund
Fix GCC 7 snprintf() compiler warning. Make buffer 1 byte larger to fit a sign. It's actually impossible for there to be a sign in practice, but this is still required to keep GCC 7 happy. Cleanup from commit 51bc271790eb234a1ba4d14d3e6530f70de92ab5. Based on a suggestion from Peter

Re: pgsql: Validate page level checksums in base backups

2018-04-03 Thread Michael Banck
Hi, On Tue, Apr 03, 2018 at 08:48:08PM +0200, Magnus Hagander wrote: > On Tue, Apr 3, 2018 at 8:29 PM, Tom Lane wrote: > I'd bet a good lunch that nondefault BLCKSZ would break it, as well, > > since the way in which the corruption is induced is just guessing > > as to where

pgsql: Prevent accidental linking of system-supplied copies of libpq.so

2018-04-03 Thread Tom Lane
Prevent accidental linking of system-supplied copies of libpq.so etc. We were being careless in some places about the order of -L switches in link command lines, such that -L switches referring to external directories could come before those referring to directories within the build tree. This

Re: pgsql: Validate page level checksums in base backups

2018-04-03 Thread Tom Lane
Magnus Hagander writes: > On Tue, Apr 3, 2018 at 8:29 PM, Tom Lane wrote: >> It's scribbling on the source cluster's disk files and assuming that that >> translates one-for-one to what gets sent to the slave server --- but what >> if some of the blocks

pgsql: Suppress compiler warning in new jsonb_plperl code.

2018-04-03 Thread Tom Lane
Suppress compiler warning in new jsonb_plperl code. Some compilers are evidently pickier than others about whether Perl's I32 typedef should be considered equivalent to int. Dodge the problem by using a separate variable; the prior coding was a bit confusing anyway. Per buildfarm. Note this

Re: pgsql: Validate page level checksums in base backups

2018-04-03 Thread Magnus Hagander
On Tue, Apr 3, 2018 at 8:29 PM, Tom Lane wrote: > Magnus Hagander writes: > > Yeah, there's clearly a second problem here. > > I think this test script is broken in many ways. > > It's scribbling on the source cluster's disk files and assuming that that

Re: pgsql: Validate page level checksums in base backups

2018-04-03 Thread Peter Geoghegan
On Tue, Apr 3, 2018 at 11:29 AM, Tom Lane wrote: > Also, scribbling on tables as sensitive as pg_class is just asking for > trouble IMO. I don't see anything in this test, for example, that > prevents autovacuum from running and causing a PANIC before the test > can complete.

Re: pgsql: Validate page level checksums in base backups

2018-04-03 Thread Tom Lane
Magnus Hagander writes: > Yeah, there's clearly a second problem here. I think this test script is broken in many ways. It's scribbling on the source cluster's disk files and assuming that that translates one-for-one to what gets sent to the slave server --- but what if

pgsql: C comment: mention null handling in BuildTupleFromCStrings()

2018-04-03 Thread Bruce Momjian
C comment: mention null handling in BuildTupleFromCStrings() Discussion: https://postgr.es/m/CAFjFpRcF-wNbe0w-m3NpkEwr9shmOZ=goesozd2wog9h55j...@mail.gmail.com Author: Ashutosh Bapat Branch -- master Details ---

Re: pgsql: Add Bloom filter implementation.

2018-04-03 Thread Peter Geoghegan
On Tue, Apr 3, 2018 at 8:39 AM, Peter Eisentraut wrote: > There is a compiler warning in the tests, with gcc-7: > > test_bloomfilter.c: In function 'test_bloomfilter': > test_bloomfilter.c:40:38: error: '__builtin_snprintf' output may be > truncated before the

Re: pgsql: Validate page level checksums in base backups

2018-04-03 Thread Magnus Hagander
On Tue, Apr 3, 2018 at 7:13 PM, Andres Freund wrote: > On 2018-04-03 11:52:26 +, Magnus Hagander wrote: > > Validate page level checksums in base backups > > > > When base backups are run over the replication protocol (for example > > using pg_basebackup), verify the

Re: pgsql: Validate page level checksums in base backups

2018-04-03 Thread Andres Freund
On 2018-04-03 11:52:26 +, Magnus Hagander wrote: > Validate page level checksums in base backups > > When base backups are run over the replication protocol (for example > using pg_basebackup), verify the checksums of all data blocks if > checksums are enabled. If checksum failures are

pgsql: Add prefix operator for TEXT type.

2018-04-03 Thread Teodor Sigaev
Add prefix operator for TEXT type. The prefix operator along with SP-GiST indexes can be used as an alternative for LIKE 'word%' commands and it doesn't have a limitation of string/prefix length as B-Tree has. Bump catalog version Author: Ildus Kurbangaliev with some editorization by me Review

Re: pgsql: Add Bloom filter implementation.

2018-04-03 Thread Peter Eisentraut
On 3/31/18 21:36, Andres Freund wrote: > Add Bloom filter implementation. There is a compiler warning in the tests, with gcc-7: test_bloomfilter.c: In function 'test_bloomfilter': test_bloomfilter.c:40:38: error: '__builtin_snprintf' output may be truncated before the last format character

Re: pgsql: Transforms for jsonb to PL/Perl

2018-04-03 Thread Tom Lane
I wrote: > Peter Eisentraut writes: >> Transforms for jsonb to PL/Perl > Buildfarm's not terribly happy with this. Hm, it fails on my own machine too (RHEL6, perl 5.10.1), with the same "cannot transform this Perl type to jsonb" symptoms. A bit of tracing shows that SvTYPE(in)

pgsql: Attempt to fix jsonb_plperl build on Windows

2018-04-03 Thread Peter Eisentraut
Attempt to fix jsonb_plperl build on Windows Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/4ab299981576ca0f3dbb879b5e2b704e743d87f3 Modified Files -- src/tools/msvc/Install.pm | 1 + src/tools/msvc/Mkvcbuild.pm | 8 ++--

pgsql: Properly use INT64_FORMAT in output

2018-04-03 Thread Magnus Hagander
Properly use INT64_FORMAT in output Per buildfarm animal prairiedog, suggestion solution from Tom. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/10d62d1065290469ae79518f8166550b2760dc26 Modified Files -- src/backend/replication/basebackup.c | 8

pgsql: Transforms for jsonb to PL/Perl

2018-04-03 Thread Peter Eisentraut
Transforms for jsonb to PL/Perl Add a new contrib module jsonb_plperl that provides a transform between jsonb and PL/Perl. jsonb values are converted to appropriate Perl types such as arrays and hashes, and vice versa. Author: Anthony Bykov Reviewed-by: Pavel Stehule

pgsql: Fix for checksum validation patch

2018-04-03 Thread Magnus Hagander
Fix for checksum validation patch Reorder the check for non-BLCKSZ size reads to make sure we don't abort sending the file in this case. Missed in the previous commit. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/a08dc711952081d63577fc182fcf955958f70add

pgsql: Validate page level checksums in base backups

2018-04-03 Thread Magnus Hagander
Validate page level checksums in base backups When base backups are run over the replication protocol (for example using pg_basebackup), verify the checksums of all data blocks if checksums are enabled. If checksum failures are encountered, log them as warnings but don't abort the backup. This

pgsql: Tab completion for MERGE

2018-04-03 Thread Simon Riggs
Tab completion for MERGE Author: Pavan Deolasee Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/4923550c20ae6d122ae0867480a7de8b040f7d80 Modified Files -- src/bin/psql/tab-complete.c | 87 + 1 file changed, 81

pgsql: WITH support in MERGE

2018-04-03 Thread Simon Riggs
WITH support in MERGE Author: Peter Geoghegan Recursive support removed, no tests Docs added by me Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/aa3faa3c7a7a49b3318059ccaf79bc1886a64707 Modified Files -- doc/src/sgml/ref/merge.sgml | 15 +++-

pgsql: New files for MERGE

2018-04-03 Thread Simon Riggs
New files for MERGE Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/83454e3c2b28141c0db01c7d2027e01040df5249 Modified Files -- doc/src/sgml/ref/merge.sgml| 603 +++ src/backend/executor/nodeMerge.c | 575

pgsql: MERGE SQL Command following SQL:2016

2018-04-03 Thread Simon Riggs
MERGE SQL Command following SQL:2016 MERGE performs actions that modify rows in the target table using a source table or query. MERGE provides a single SQL statement that can conditionally INSERT/UPDATE/DELETE rows a task that would other require multiple PL statements. e.g. MERGE INTO target AS