Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2226b41

Browse files
committed
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
1 parent00116de commit2226b41

File tree

5 files changed

+15
-12
lines changed

5 files changed

+15
-12
lines changed

‎src/backend/executor/nodeSeqscan.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ ExecInitSeqScan(SeqScan *node, EState *estate, int eflags)
151151
*/
152152
scanstate->ss.ss_currentRelation=
153153
ExecOpenScanRelation(estate,
154-
node->scanrelid,
154+
node->scan.scanrelid,
155155
eflags);
156156

157157
/* and create slot with the appropriate rowtype */
@@ -169,7 +169,7 @@ ExecInitSeqScan(SeqScan *node, EState *estate, int eflags)
169169
* initialize child expressions
170170
*/
171171
scanstate->ss.ps.qual=
172-
ExecInitQual(node->plan.qual, (PlanState*)scanstate);
172+
ExecInitQual(node->scan.plan.qual, (PlanState*)scanstate);
173173

174174
returnscanstate;
175175
}

‎src/backend/nodes/readfuncs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1833,7 +1833,7 @@ _readSeqScan(void)
18331833
{
18341834
READ_LOCALS_NO_FIELDS(SeqScan);
18351835

1836-
ReadCommonScan(local_node);
1836+
ReadCommonScan(&local_node->scan);
18371837

18381838
READ_DONE();
18391839
}

‎src/backend/optimizer/plan/createplan.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2855,7 +2855,7 @@ create_seqscan_plan(PlannerInfo *root, Path *best_path,
28552855
scan_clauses,
28562856
scan_relid);
28572857

2858-
copy_generic_path_info(&scan_plan->plan,best_path);
2858+
copy_generic_path_info(&scan_plan->scan.plan,best_path);
28592859

28602860
returnscan_plan;
28612861
}
@@ -5369,13 +5369,13 @@ make_seqscan(List *qptlist,
53695369
Indexscanrelid)
53705370
{
53715371
SeqScan*node=makeNode(SeqScan);
5372-
Plan*plan=&node->plan;
5372+
Plan*plan=&node->scan.plan;
53735373

53745374
plan->targetlist=qptlist;
53755375
plan->qual=qpqual;
53765376
plan->lefttree=NULL;
53775377
plan->righttree=NULL;
5378-
node->scanrelid=scanrelid;
5378+
node->scan.scanrelid=scanrelid;
53795379

53805380
returnnode;
53815381
}

‎src/backend/optimizer/plan/setrefs.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -516,12 +516,12 @@ set_plan_refs(PlannerInfo *root, Plan *plan, int rtoffset)
516516
{
517517
SeqScan*splan= (SeqScan*)plan;
518518

519-
splan->scanrelid+=rtoffset;
520-
splan->plan.targetlist=
521-
fix_scan_list(root,splan->plan.targetlist,
519+
splan->scan.scanrelid+=rtoffset;
520+
splan->scan.plan.targetlist=
521+
fix_scan_list(root,splan->scan.plan.targetlist,
522522
rtoffset,NUM_EXEC_TLIST(plan));
523-
splan->plan.qual=
524-
fix_scan_list(root,splan->plan.qual,
523+
splan->scan.plan.qual=
524+
fix_scan_list(root,splan->scan.plan.qual,
525525
rtoffset,NUM_EXEC_QUAL(plan));
526526
}
527527
break;

‎src/include/nodes/plannodes.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,10 @@ typedef struct Scan
348348
*sequential scan node
349349
* ----------------
350350
*/
351-
typedefScanSeqScan;
351+
typedefstructSeqScan
352+
{
353+
Scanscan;
354+
}SeqScan;
352355

353356
/* ----------------
354357
*table sample scan node

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp