Considering there's a distribution field in every Path (which
the SubqueryScanPath includes), this seems unnecessary and quite
confusing, because sometimes we work with (Path*) directly, and
sometimes through the 'path' field. It took me quite a bit of
time to realize that when create_subqueryscan_path does
pathnode->distribution = X
it's not the same as doing
pathnode->path.distribution = X
Note: It's possible that we in fact need the separate field for
somehow transformed distribution?
SubqueryScanPath *pathnode = makeNode(SubqueryScanPath);
#ifdef XCP
- pathnode->distribution = distribution;
+ pathnode->path.distribution = distribution;
#endif
pathnode->path.pathtype = T_SubqueryScan;
pathnode->path.parent = rel;
{
Path path;
Path *subpath; /* path representing subquery execution */
- Distribution *distribution; /* result distribution */
} SubqueryScanPath;
/*