Re: tablesample test failure with small TOAST_TUPLE_THRESHOLD

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: tablesample test failure with small TOAST_TUPLE_THRESHOLD
Date: 2016-10-14 16:51:01
Message-ID: 9586.1476463861@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> Today, I tried compiling with:
> -#define TOAST_TUPLE_THRESHOLD MaximumBytesPerTuple(TOAST_TUPLES_PER_PAGE)
> +#define TOAST_TUPLE_THRESHOLD 100

> Most of the regression tests pass just fine, but the tablesample one
> experiences numerous failures. For example:
> ...
> Most of the failures are due to table-sampling that previously
> returned rows no longer returning any rows. I don't know why that
> should happen, or whether it's expected.

I think it's probably unsurprising. That test doesn't load very many
rows, and when you allow them to become toasted, they probably all fit
into one page. The SYSTEM tablesample method would then return either
every row, or no row.

Possibly we should be using a less chintzy (ie slower) test there,
but a change like this would inevitably change the outputs anyway.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Janes 2016-10-14 16:51:47 Re: process type escape for log_line_prefix
Previous Message Christoph Berg 2016-10-14 16:50:07 Re: Patch to implement pg_current_logfile() function