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

Commite5b0b0c

Browse files
Add is_analyze parameter to vacuum_delay_point().
This function is used in both vacuum and analyze code paths, and afollow-up commit will require distinguishing between the two. Thiscommit forces callers to specify whether they are in a vacuum oranalyze path, but it does not use that information for anythingyet.Author: Nathan Bossart <nathandbossart@gmail.com>Co-authored-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>Discussion:https://postgr.es/m/ZmaXmWDL829fzAVX%40ip-10-97-1-34.eu-west-3.compute.internal
1 parentd0d649e commite5b0b0c

File tree

15 files changed

+26
-26
lines changed

15 files changed

+26
-26
lines changed

‎contrib/bloom/blvacuum.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ blbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats,
5757
*itupPtr,
5858
*itupEnd;
5959

60-
vacuum_delay_point();
60+
vacuum_delay_point(false);
6161

6262
buffer=ReadBufferExtended(index,MAIN_FORKNUM,blkno,
6363
RBM_NORMAL,info->strategy);
@@ -187,7 +187,7 @@ blvacuumcleanup(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)
187187
Bufferbuffer;
188188
Pagepage;
189189

190-
vacuum_delay_point();
190+
vacuum_delay_point(false);
191191

192192
buffer=ReadBufferExtended(index,MAIN_FORKNUM,blkno,
193193
RBM_NORMAL,info->strategy);

‎contrib/file_fdw/file_fdw.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1237,7 +1237,7 @@ file_acquire_sample_rows(Relation onerel, int elevel,
12371237
for (;;)
12381238
{
12391239
/* Check for user-requested abort or sleep */
1240-
vacuum_delay_point();
1240+
vacuum_delay_point(true);
12411241

12421242
/* Fetch next row */
12431243
MemoryContextReset(tupcontext);

‎src/backend/access/gin/ginfast.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -892,7 +892,7 @@ ginInsertCleanup(GinState *ginstate, bool full_clean,
892892
*/
893893
processPendingPage(&accum,&datums,page,FirstOffsetNumber);
894894

895-
vacuum_delay_point();
895+
vacuum_delay_point(false);
896896

897897
/*
898898
* Is it time to flush memory to disk?Flush if we are at the end of
@@ -929,7 +929,7 @@ ginInsertCleanup(GinState *ginstate, bool full_clean,
929929
{
930930
ginEntryInsert(ginstate,attnum,key,category,
931931
list,nlist,NULL);
932-
vacuum_delay_point();
932+
vacuum_delay_point(false);
933933
}
934934

935935
/*
@@ -1002,7 +1002,7 @@ ginInsertCleanup(GinState *ginstate, bool full_clean,
10021002
/*
10031003
* Read next page in pending list
10041004
*/
1005-
vacuum_delay_point();
1005+
vacuum_delay_point(false);
10061006
buffer=ReadBuffer(index,blkno);
10071007
LockBuffer(buffer,GIN_SHARE);
10081008
page=BufferGetPage(buffer);

‎src/backend/access/gin/ginvacuum.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -662,12 +662,12 @@ ginbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats,
662662
UnlockReleaseBuffer(buffer);
663663
}
664664

665-
vacuum_delay_point();
665+
vacuum_delay_point(false);
666666

667667
for (i=0;i<nRoot;i++)
668668
{
669669
ginVacuumPostingTree(&gvs,rootOfPostingTree[i]);
670-
vacuum_delay_point();
670+
vacuum_delay_point(false);
671671
}
672672

673673
if (blkno==InvalidBlockNumber)/* rightmost page */
@@ -748,7 +748,7 @@ ginvacuumcleanup(IndexVacuumInfo *info, IndexBulkDeleteResult *stats)
748748
Bufferbuffer;
749749
Pagepage;
750750

751-
vacuum_delay_point();
751+
vacuum_delay_point(false);
752752

753753
buffer=ReadBufferExtended(index,MAIN_FORKNUM,blkno,
754754
RBM_NORMAL,info->strategy);

‎src/backend/access/gist/gistvacuum.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ gistvacuumpage(GistVacState *vstate, BlockNumber blkno, BlockNumber orig_blkno)
283283
recurse_to=InvalidBlockNumber;
284284

285285
/* call vacuum_delay_point while not holding any buffer lock */
286-
vacuum_delay_point();
286+
vacuum_delay_point(false);
287287

288288
buffer=ReadBufferExtended(rel,MAIN_FORKNUM,blkno,RBM_NORMAL,
289289
info->strategy);

‎src/backend/access/hash/hash.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -716,7 +716,7 @@ hashbucketcleanup(Relation rel, Bucket cur_bucket, Buffer bucket_buf,
716716
boolretain_pin= false;
717717
boolclear_dead_marking= false;
718718

719-
vacuum_delay_point();
719+
vacuum_delay_point(false);
720720

721721
page=BufferGetPage(buf);
722722
opaque=HashPageGetOpaque(page);

‎src/backend/access/heap/vacuumlazy.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,7 +1214,7 @@ lazy_scan_heap(LVRelState *vacrel)
12141214
update_vacuum_error_info(vacrel,NULL,VACUUM_ERRCB_PHASE_SCAN_HEAP,
12151215
blkno,InvalidOffsetNumber);
12161216

1217-
vacuum_delay_point();
1217+
vacuum_delay_point(false);
12181218

12191219
/*
12201220
* Regularly check if wraparound failsafe should trigger.
@@ -2646,7 +2646,7 @@ lazy_vacuum_heap_rel(LVRelState *vacrel)
26462646
OffsetNumberoffsets[MaxOffsetNumber];
26472647
intnum_offsets;
26482648

2649-
vacuum_delay_point();
2649+
vacuum_delay_point(false);
26502650

26512651
blkno=iter_result->blkno;
26522652
vacrel->blkno=blkno;

‎src/backend/access/nbtree/nbtree.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1137,7 +1137,7 @@ btvacuumpage(BTVacState *vstate, BlockNumber scanblkno)
11371137
backtrack_to=P_NONE;
11381138

11391139
/* call vacuum_delay_point while not holding any buffer lock */
1140-
vacuum_delay_point();
1140+
vacuum_delay_point(false);
11411141

11421142
/*
11431143
* We can't use _bt_getbuf() here because it always applies

‎src/backend/access/spgist/spgvacuum.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ spgvacuumpage(spgBulkDeleteState *bds, BlockNumber blkno)
625625
Pagepage;
626626

627627
/* call vacuum_delay_point while not holding any buffer lock */
628-
vacuum_delay_point();
628+
vacuum_delay_point(false);
629629

630630
buffer=ReadBufferExtended(index,MAIN_FORKNUM,blkno,
631631
RBM_NORMAL,bds->info->strategy);
@@ -704,7 +704,7 @@ spgprocesspending(spgBulkDeleteState *bds)
704704
continue;/* ignore already-done items */
705705

706706
/* call vacuum_delay_point while not holding any buffer lock */
707-
vacuum_delay_point();
707+
vacuum_delay_point(false);
708708

709709
/* examine the referenced page */
710710
blkno=ItemPointerGetBlockNumber(&pitem->tid);

‎src/backend/commands/analyze.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -915,7 +915,7 @@ compute_index_stats(Relation onerel, double totalrows,
915915
{
916916
HeapTupleheapTuple=rows[rowno];
917917

918-
vacuum_delay_point();
918+
vacuum_delay_point(true);
919919

920920
/*
921921
* Reset the per-tuple context each time, to reclaim any cruft
@@ -1238,7 +1238,7 @@ acquire_sample_rows(Relation onerel, int elevel,
12381238
/* Outer loop over blocks to sample */
12391239
while (table_scan_analyze_next_block(scan,stream))
12401240
{
1241-
vacuum_delay_point();
1241+
vacuum_delay_point(true);
12421242

12431243
while (table_scan_analyze_next_tuple(scan,OldestXmin,&liverows,&deadrows,slot))
12441244
{
@@ -1970,7 +1970,7 @@ compute_trivial_stats(VacAttrStatsP stats,
19701970
Datumvalue;
19711971
boolisnull;
19721972

1973-
vacuum_delay_point();
1973+
vacuum_delay_point(true);
19741974

19751975
value=fetchfunc(stats,i,&isnull);
19761976

@@ -2086,7 +2086,7 @@ compute_distinct_stats(VacAttrStatsP stats,
20862086
intfirstcount1,
20872087
j;
20882088

2089-
vacuum_delay_point();
2089+
vacuum_delay_point(true);
20902090

20912091
value=fetchfunc(stats,i,&isnull);
20922092

@@ -2433,7 +2433,7 @@ compute_scalar_stats(VacAttrStatsP stats,
24332433
Datumvalue;
24342434
boolisnull;
24352435

2436-
vacuum_delay_point();
2436+
vacuum_delay_point(true);
24372437

24382438
value=fetchfunc(stats,i,&isnull);
24392439

‎src/backend/commands/vacuum.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2373,7 +2373,7 @@ vac_close_indexes(int nindexes, Relation *Irel, LOCKMODE lockmode)
23732373
* typically once per page processed.
23742374
*/
23752375
void
2376-
vacuum_delay_point(void)
2376+
vacuum_delay_point(boolis_analyze)
23772377
{
23782378
doublemsec=0;
23792379

‎src/backend/tsearch/ts_typanalyze.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ compute_tsvector_stats(VacAttrStats *stats,
204204
char*lexemesptr;
205205
intj;
206206

207-
vacuum_delay_point();
207+
vacuum_delay_point(true);
208208

209209
value=fetchfunc(stats,vector_no,&isnull);
210210

‎src/backend/utils/adt/array_typanalyze.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ compute_array_stats(VacAttrStats *stats, AnalyzeAttrFetchFunc fetchfunc,
314314
intdistinct_count;
315315
boolcount_item_found;
316316

317-
vacuum_delay_point();
317+
vacuum_delay_point(true);
318318

319319
value=fetchfunc(stats,array_no,&isnull);
320320
if (isnull)

‎src/backend/utils/adt/rangetypes_typanalyze.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ compute_range_stats(VacAttrStats *stats, AnalyzeAttrFetchFunc fetchfunc,
167167
upper;
168168
float8length;
169169

170-
vacuum_delay_point();
170+
vacuum_delay_point(true);
171171

172172
value=fetchfunc(stats,range_no,&isnull);
173173
if (isnull)

‎src/include/commands/vacuum.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ extern bool vacuum_get_cutoffs(Relation rel, const VacuumParams *params,
356356
structVacuumCutoffs*cutoffs);
357357
externboolvacuum_xid_failsafe_check(conststructVacuumCutoffs*cutoffs);
358358
externvoidvac_update_datfrozenxid(void);
359-
externvoidvacuum_delay_point(void);
359+
externvoidvacuum_delay_point(boolis_analyze);
360360
externboolvacuum_is_permitted_for_relation(Oidrelid,Form_pg_classreltuple,
361361
bits32options);
362362
externRelationvacuum_open_relation(Oidrelid,RangeVar*relation,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp