Re: Problem with default partition pruning - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Problem with default partition pruning
Date
Msg-id 20190804071232.GA7303@alvherre.pgsql
Whole thread Raw
In response to Re: Problem with default partition pruning  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Problem with default partition pruning  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers
So this is the best commit messages I could come up with at this stupid
hour.  I think the wording is pretty poor but at least it seems correct.
I'm not sure I'll be able to get this pushed tomorrow, but I'll try.

  Improve pruning of a default partition

  When querying a partitioned table containing a default partition, we
  were wrongly deciding to include it in the scan too early in the
  process, failing to exclude it in some cases.  If we reinterpret the
  PruneStepResult.scan_default flag slightly, we can do a better job at
  detecting that it can be excluded.  The change is that we avoid setting
  the flag for that pruning step unless the step absolutely requires the
  default partition to be scanned (in contrast with the previous
  arrangement, which was to set it unless the step was able to prune it).
  So get_matching_partitions() must explicitly check the partition that
  each returned bound value corresponds to in order to determine whether
  the default one needs to be included, rather than relying on the flag
  from the final step result.

  Author: Yuzuko Hosoya <hosoya.yuzuko@lab.ntt.co.jp>
  Reviewed-by: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
  Discussion: https://postgr.es/m/00e601d4ca86$932b8bc0$b982a340$@lab.ntt.co.jp

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: legrand legrand
Date:
Subject: Re: Feature improvement: can we add queryId forpg_catalog.pg_stat_activity view?
Next
From: Heikki Linnakangas
Date:
Subject: Re: POC: Cleaning up orphaned files using undo logs