Re: Partitioned tables and relfilenode
Amit Langote <langote_amit_f8@lab.ntt.co.jp>
From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Simon Riggs <simon@2ndquadrant.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2017-02-22T08:20:42Z
Lists: pgsql-hackers
Attachments
- 0001-Partitioned-tables-are-empty-themselves.patch (text/x-diff)
On 2017/02/21 22:21, Ashutosh Bapat wrote:
> Some comments about 0003 patch.
>
> @@ -996,10 +996,20 @@ inheritance_planner(PlannerInfo *root)
> Index rti;
> + RangeTblEntry *parent_rte;
> There's already another variable declared in that function within a loop
> foreach(lc, root->append_rel_list)
> {
> ...
> RangeTblEntry *parent_rte;
> RangeTblEntry *child_rte;
>
> You might want to choose a different name or delete the one within the loop.
Deleted the one within the loop.
> I am wondering whether we should deal with inh flat reset in a
> slightly different way. Let expand_inherited_rtentry() mark inh =
> false for the partitioned tables without any partitions and deal with
> those at the time of estimating size by marking those as dummy. That
> might be better than multiple changes here. I will try to cook up a
> patch soon for that.
Are thinking something along the lines of the attached rewritten patch
0003? I also tend to think that's probably a cleaner patch. Thanks for
the idea.
> Also we should add tests to make sure the scans on partitioned tables
> without any partitions do not get into problems. PFA patch which adds
> those tests.
I added the test case you suggest, but kept just the first one.
I am including the patches 0001 and 0002 to keep all patches being
discussed on this thread together.
Thanks,
Amit
Commits
-
Code review for c94e6942cefe7d20c5feed856e27f672734b1e2b.
- 1d5fede4a900 10.0 landed
-
Don't allocate storage for partitioned tables.
- c94e6942cefe 10.0 landed
-
Don't scan partitioned tables.
- d3cc37f1d801 10.0 landed
-
Don't uselessly rewrite, truncate, VACUUM, or ANALYZE partitioned tables.
- 3c3bb99330aa 10.0 landed