forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit5864d6a
committed
Provide a planner hook at a suitable place for creating upper-rel Paths.
In the initial revision of the upper-planner pathification work, the onlyavailable way for an FDW or custom-scan provider to inject Pathsrepresenting post-scan-join processing was to insert them during scan-levelGetForeignPaths or similar processing. While that's not impossible, it'drequire quite a lot of duplicative processing to look forward and see ifthe extension would be capable of implementing the whole query. To improvematters for custom-scan providers, provide a hook function at the pointwhere the core code is about to start filling in upperrel Paths. At thispoint Paths are available for the whole scan/join tree, which should reducethe amount of redundant effort considerably.(An alternative design that was suggested was to provide a separate hookfor each post-scan-join processing step, but that seems messy and notclearly more useful.)Following our time-honored tradition, there's no documentation for thishook outside the source code.As-is, this hook is only meant for custom scan providers, which we can'tassume very much about. A followon patch will implement an FDW callbackto let FDWs do the same thing in a somewhat more structured fashion.1 parent28048cb commit5864d6a
File tree
4 files changed
+35
-0
lines changed- src
- backend/optimizer
- plan
- prep
- include
- nodes
- optimizer
4 files changed
+35
-0
lines changedLines changed: 26 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
62 | 62 |
| |
63 | 63 |
| |
64 | 64 |
| |
| 65 | + | |
| 66 | + | |
| 67 | + | |
65 | 68 |
| |
66 | 69 |
| |
67 | 70 |
| |
| |||
459 | 462 |
| |
460 | 463 |
| |
461 | 464 |
| |
| 465 | + | |
462 | 466 |
| |
463 | 467 |
| |
464 | 468 |
| |
| |||
1736 | 1740 |
| |
1737 | 1741 |
| |
1738 | 1742 |
| |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
| 1758 | + | |
| 1759 | + | |
| 1760 | + | |
| 1761 | + | |
| 1762 | + | |
| 1763 | + | |
| 1764 | + | |
1739 | 1765 |
| |
1740 | 1766 |
| |
1741 | 1767 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
909 | 909 |
| |
910 | 910 |
| |
911 | 911 |
| |
| 912 | + | |
912 | 913 |
| |
913 | 914 |
| |
914 | 915 |
| |
|
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
263 | 263 |
| |
264 | 264 |
| |
265 | 265 |
| |
| 266 | + | |
| 267 | + | |
| 268 | + | |
266 | 269 |
| |
267 | 270 |
| |
268 | 271 |
| |
|
Lines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
24 | 24 |
| |
25 | 25 |
| |
26 | 26 |
| |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
27 | 32 |
| |
28 | 33 |
| |
29 | 34 |
| |
|
0 commit comments
Comments
(0)