firtst release
Revision | 4343403e99a969092ae991880c1fadb8f40c816d (tree) |
---|---|
Time | 2020-10-29 20:29:28 |
Author | Kyotaro Horiguchi <horikyoga.ntt@gmai...> |
Commiter | Kyotaro Horiguchi |
Update core.c and make_join_rel.c.
From this version core.c and make_join_rel.c are automatically
generated from core code. Adjust them to auto-generated content.
@@ -12,11 +12,6 @@ | ||
12 | 12 | * |
13 | 13 | * src/backend/optimizer/path/allpaths.c |
14 | 14 | * |
15 | - * static functions: | |
16 | - * set_plain_rel_pathlist() | |
17 | - * add_paths_to_append_rel() | |
18 | - * try_partitionwise_join() | |
19 | - * | |
20 | 15 | * public functions: |
21 | 16 | * standard_join_search(): This funcion is not static. The reason for |
22 | 17 | * including this function is make_rels_by_clause_joins. In order to |
@@ -24,6 +19,11 @@ | ||
24 | 19 | * change the behavior of make_join_rel, which is called under this |
25 | 20 | * function. |
26 | 21 | * |
22 | + * static functions: | |
23 | + * set_plain_rel_pathlist() | |
24 | + * set_append_rel_pathlist() | |
25 | + * create_plain_partial_paths() | |
26 | + * | |
27 | 27 | * src/backend/optimizer/path/joinrels.c |
28 | 28 | * |
29 | 29 | * public functions: |
@@ -35,8 +35,9 @@ | ||
35 | 35 | * make_rels_by_clauseless_joins() |
36 | 36 | * join_is_legal() |
37 | 37 | * has_join_restriction() |
38 | + * mark_dummy_rel() | |
38 | 39 | * restriction_is_constant_false() |
39 | - * | |
40 | + * try_partitionwise_join() | |
40 | 41 | * |
41 | 42 | * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group |
42 | 43 | * Portions Copyright (c) 1994, Regents of the University of California |
@@ -45,8 +46,8 @@ | ||
45 | 46 | */ |
46 | 47 | |
47 | 48 | static void populate_joinrel_with_paths(PlannerInfo *root, RelOptInfo *rel1, |
48 | - RelOptInfo *rel2, RelOptInfo *joinrel, | |
49 | - SpecialJoinInfo *sjinfo, List *restrictlist); | |
49 | + RelOptInfo *rel2, RelOptInfo *joinrel, | |
50 | + SpecialJoinInfo *sjinfo, List *restrictlist); | |
50 | 51 | |
51 | 52 | /* |
52 | 53 | * set_plain_rel_pathlist |
@@ -262,6 +263,7 @@ standard_join_search(PlannerInfo *root, int levels_needed, List *initial_rels) | ||
262 | 263 | return rel; |
263 | 264 | } |
264 | 265 | |
266 | + | |
265 | 267 | /* |
266 | 268 | * create_plain_partial_paths |
267 | 269 | * Build partial access paths for parallel scan of a plain relation |
@@ -1027,6 +1029,7 @@ restriction_is_constant_false(List *restrictlist, | ||
1027 | 1029 | return false; |
1028 | 1030 | } |
1029 | 1031 | |
1032 | + | |
1030 | 1033 | /* |
1031 | 1034 | * Assess whether join between given two partitioned relations can be broken |
1032 | 1035 | * down into joins between matching partitions; a technique called |
@@ -5,7 +5,12 @@ | ||
5 | 5 | * modifications. |
6 | 6 | * |
7 | 7 | * src/backend/optimizer/path/joinrels.c |
8 | + * | |
9 | + * This file contains the following functions from corresponding files. | |
10 | + * | |
11 | + * static functions: | |
8 | 12 | * make_join_rel() |
13 | + * populate_joinrel_with_paths() | |
9 | 14 | * |
10 | 15 | * Portions Copyright (c) 2013-2020, NIPPON TELEGRAPH AND TELEPHONE CORPORATION |
11 | 16 | * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group |
@@ -44,6 +49,7 @@ adjust_rows(double rows, RowsHint *hint) | ||
44 | 49 | return result; |
45 | 50 | } |
46 | 51 | |
52 | + | |
47 | 53 | /* |
48 | 54 | * make_join_rel |
49 | 55 | * Find or create a join RelOptInfo that represents the join of |
@@ -217,6 +223,7 @@ make_join_rel(PlannerInfo *root, RelOptInfo *rel1, RelOptInfo *rel2) | ||
217 | 223 | return joinrel; |
218 | 224 | } |
219 | 225 | |
226 | + | |
220 | 227 | /* |
221 | 228 | * populate_joinrel_with_paths |
222 | 229 | * Add paths to the given joinrel for given pair of joining relations. The |
@@ -276,7 +276,7 @@ index 0e7b99f..287e7f1 100644 | ||
276 | 276 | + /* |
277 | 277 | + * If the rows_hint's target relids is not a subset of both of |
278 | 278 | + * component rels and is a subset of this joinrel, ths hint's |
279 | -+ * targets spread over both component rels. This menas that | |
279 | ++ * targets spread over both component rels. This means that | |
280 | 280 | + * this hint has been never applied so far and this joinrel is |
281 | 281 | + * the first (and only) chance to fire in current join tree. |
282 | 282 | + * Only the multiplication hint has the cumulative nature so we |
@@ -290,7 +290,7 @@ index 0e7b99f..287e7f1 100644 | ||
290 | 290 | + { |
291 | 291 | + /* |
292 | 292 | + * If a hint just for me is found, no other adjust method is |
293 | -+ * useles, but this cannot be more than twice becuase this joinrel | |
293 | ++ * useless, but this cannot be more than twice becuase this joinrel | |
294 | 294 | + * is already adjusted by this hint. |
295 | 295 | + */ |
296 | 296 | + if (justforme->base.state == HINT_STATE_NOTUSED) |