mirror of
https://github.com/postgres/postgres.git
synced 2025-08-27 07:42:10 +03:00
Change SeqScan node to contain Scan node
This makes the structure of all Scan-derived nodes the same, independent of whether they have additional fields. Discussion: https://www.postgresql.org/message-id/flat/c1097590-a6a4-486a-64b1-e1f9cc0533ce@enterprisedb.com
This commit is contained in:
@@ -2855,7 +2855,7 @@ create_seqscan_plan(PlannerInfo *root, Path *best_path,
|
||||
scan_clauses,
|
||||
scan_relid);
|
||||
|
||||
copy_generic_path_info(&scan_plan->plan, best_path);
|
||||
copy_generic_path_info(&scan_plan->scan.plan, best_path);
|
||||
|
||||
return scan_plan;
|
||||
}
|
||||
@@ -5369,13 +5369,13 @@ make_seqscan(List *qptlist,
|
||||
Index scanrelid)
|
||||
{
|
||||
SeqScan *node = makeNode(SeqScan);
|
||||
Plan *plan = &node->plan;
|
||||
Plan *plan = &node->scan.plan;
|
||||
|
||||
plan->targetlist = qptlist;
|
||||
plan->qual = qpqual;
|
||||
plan->lefttree = NULL;
|
||||
plan->righttree = NULL;
|
||||
node->scanrelid = scanrelid;
|
||||
node->scan.scanrelid = scanrelid;
|
||||
|
||||
return node;
|
||||
}
|
||||
|
@@ -516,12 +516,12 @@ set_plan_refs(PlannerInfo *root, Plan *plan, int rtoffset)
|
||||
{
|
||||
SeqScan *splan = (SeqScan *) plan;
|
||||
|
||||
splan->scanrelid += rtoffset;
|
||||
splan->plan.targetlist =
|
||||
fix_scan_list(root, splan->plan.targetlist,
|
||||
splan->scan.scanrelid += rtoffset;
|
||||
splan->scan.plan.targetlist =
|
||||
fix_scan_list(root, splan->scan.plan.targetlist,
|
||||
rtoffset, NUM_EXEC_TLIST(plan));
|
||||
splan->plan.qual =
|
||||
fix_scan_list(root, splan->plan.qual,
|
||||
splan->scan.plan.qual =
|
||||
fix_scan_list(root, splan->scan.plan.qual,
|
||||
rtoffset, NUM_EXEC_QUAL(plan));
|
||||
}
|
||||
break;
|
||||
|
Reference in New Issue
Block a user