Re: pgsql: Add some regression tests that exercise hash join code. - Mailing list pgsql-committers

From Thomas Munro
Subject Re: pgsql: Add some regression tests that exercise hash join code.
Date
Msg-id CAEepm=3DUQC2-z252N55eOcZBer6DPdM=FzrxH9dZc5vYLsjaA@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Add some regression tests that exercise hash join code.  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: pgsql: Add some regression tests that exercise hash join code.  (Thomas Munro <thomas.munro@enterprisedb.com>)
List pgsql-committers
On Thu, Nov 30, 2017 at 4:13 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Andres Freund <andres@anarazel.de> writes:
>> Add some regression tests that exercise hash join code.
>
> At least one buildfarm member doesn't like this ...
 $$);  initially_multibatch | increased_batches ----------------------+-------------------
!  t                    | f (1 row)
 rollback to settings;
--- 6002,6008 ---- $$);  initially_multibatch | increased_batches ----------------------+-------------------
!                       | (1 row)

Hmm.  aholehole didn't give me the hash join EXPLAIN ANALYZE output.
All other animals are fine so far.  Gah.  My guess is that this is the
following unlikely sequence:

1.  Worker launched.
2.  Leader descheduled.
3.  Worker runs whole join.
4.  Leader awakes from slumber, begins running plan and tries to scan
outer relation, sees EOF, takes empty-outer optimisation and skips
building hash table.
5.  Explain has no data.

It's arguably a bug that EXPLAIN ANALYZE can fail to give you what you
asked for because of details of timing and I have a patch in
development to fix that but it's not yet baked.  Hmm.  Wondering if
there is a quick way to avoid that case in the meantime...

-- 
Thomas Munro
http://www.enterprisedb.com


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Add some regression tests that exercise hash join code.
Next
From: Noah Misch
Date:
Subject: pgsql: Fix non-GNU makefiles for AIX make.