Re: Partition-wise join for join between (declaratively) partitioned tables
Thomas Munro <thomas.munro@enterprisedb.com>
Attachments
- patchset-coverage-0007.txt.gz (application/x-gzip)
On Sat, Sep 16, 2017 at 9:38 AM, Thomas Munro <thomas.munro@enterprisedb.com> wrote: > On Sat, Sep 16, 2017 at 9:23 AM, Robert Haas <robertmhaas@gmail.com> wrote: >> On the overall patch set: >> >> - I am curious to know how this has been tested. How much of the new >> code is covered by the tests in 0007-Partition-wise-join-tests.patch? >> How much does coverage improve with >> 0008-Extra-testcases-for-partition-wise-join-NOT-FOR-COMM.patch? What >> code, if any, is not covered by either of those test suites? Could we >> do meaningful testing of this with something like Andreas >> Seltenreich's sqlsmith? > > FWIW I'm working on an answer to both of those question, but keep > getting distracted by other things catching on fire... I cobbled together some scripts to figure out the test coverage of lines actually modified by this patch set. Please see attached. I'm not sure if there is an established or better way to do this, but I used git-blame to figure out which lines of gcov output can be blamed on Ashutosh and prepended that to the lines of gcov's output. That allowed me to find new/changed code not covered by "make check". I found 94 untested new lines with 0007 applied and 88 untested new lines with 0008 applied. The 6 lines that 0008 reaches and 0007 doesn't are: ======== src/backend/optimizer/path/allpaths.c ======== -[TOUCHED BY PATCH SET] #####: 3303: mark_dummy_rel(rel); -[TOUCHED BY PATCH SET] #####: 3304: return; -[TOUCHED BY PATCH SET] #####: 1515: continue; -[TOUCHED BY PATCH SET] #####: 1526: continue; ======== src/backend/optimizer/util/pathnode.c ======== -[TOUCHED BY PATCH SET] #####: 3433: break; -[TOUCHED BY PATCH SET] #####: 3435: return NULL; -- Thomas Munro http://www.enterprisedb.com
Commits
-
Add test for partitionwise join involving default partition.
- 4513d3a4be0b 12.0 landed
-
Rewrite the code that applies scan/join targets to paths.
- 11cf92f6e2e1 11.0 cited
-
Fix code related to partitioning schemes for dropped columns.
- cf7ab13bfb45 11.0 landed
-
Copy information from the relcache instead of pointing to it.
- 45866c75507f 11.0 landed
-
Basic partition-wise join functionality.
- f49842d1ee31 11.0 landed
-
Associate partitioning information with each RelOptInfo.
- 9140cf8269b0 11.0 landed
-
Expand partitioned table RTEs level by level, without flattening.
- 0a480502b092 11.0 landed
-
Set partitioned_rels appropriately when UNION ALL is used.
- 448aa36e8b96 10.0 landed
- 1555566d9ee1 11.0 landed
-
Remove dedicated B-tree root-split record types.
- 0c504a80cf2e 11.0 cited
-
Assorted preparatory refactoring for partition-wise join.
- e139f1953f29 11.0 cited
-
Teach adjust_appendrel_attrs(_multilevel) to do multiple translations.
- 480f1f4329f1 11.0 cited
-
Avoid unnecessary single-child Append nodes.
- d57929afc706 11.0 cited
-
Revisit handling of UNION ALL subqueries with non-Var output columns.
- dd4134ea56cb 9.2.0 cited