typedef struct IndexPath
{
Path path;
List *indexinfo; /* physical info on indexes */
List *indexclauses; /* index select conditions */
...
double rows; /* estimated #results */
} IndexPath;
typedef struct JoinPath
{
Path path;
JoinType jointype; /* inner/outer/semi/anti */
Path *outerpath; /* outer part of the join */
Path *innerpath; /* inner part of the join */
List *restrictinfo; /* where/join conds */
} JoinPath;
|