It's not necessarily just scanning a base relation any more.
Amit Langote and Etsuro Fujita
BitmapHeapPath - top of a bitmapped index scan
TidPath - scan by CTID
SubqueryScanPath - scan a subquery-in-FROM
- ForeignPath - scan a foreign table
+ ForeignPath - scan a foreign table, foreign join or foreign upper-relation
CustomPath - for custom scan providers
AppendPath - append multiple subpaths together
MergeAppendPath - merge multiple subpaths, preserving their common sort order
} SubqueryScanPath;
/*
- * ForeignPath represents a potential scan of a foreign table
+ * ForeignPath represents a potential scan of a foreign table, foreign join
+ * or foreign upper-relation.
*
* fdw_private stores FDW private data about the scan. While fdw_private is
* not actually touched by the core code during normal operations, it's