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

Commit98e6e89

Browse files
committed
tidbitmap: Support shared iteration.
When a shared iterator is used, each call to tbm_shared_iterate()returns a result that has not yet been returned to any processattached to the shared iterator. In other words, each cooperatingprocesses gets a disjoint subset of the full result set, but allresults are returned exactly once.This is infrastructure for parallel bitmap heap scan.Dilip Kumar. The larger patch set of which this is a part has beenreviewed and tested by (at least) Andres Freund, Amit Khandekar,Tushar Ahuja, Rafia Sabih, Haribabu Kommi, and Thomas Munro.Discussion:http://postgr.es/m/CAFiTN-uc4=0WxRGfCzs-xfkMYcSEWUC-Fon6thkJGjkh9i=13A@mail.gmail.com
1 parentb7fa016 commit98e6e89

File tree

8 files changed

+536
-39
lines changed

8 files changed

+536
-39
lines changed

‎doc/src/sgml/monitoring.sgml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -826,7 +826,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
826826

827827
<tbody>
828828
<row>
829-
<entry morerows="58"><literal>LWLock</></entry>
829+
<entry morerows="59"><literal>LWLock</></entry>
830830
<entry><literal>ShmemIndexLock</></entry>
831831
<entry>Waiting to find or allocate space in shared memory.</entry>
832832
</row>
@@ -1081,6 +1081,10 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
10811081
<entry><literal>parallel_query_dsa</></entry>
10821082
<entry>Waiting for parallel query dynamic shared memory allocation lock.</entry>
10831083
</row>
1084+
<row>
1085+
<entry><literal>tbm</></entry>
1086+
<entry>Waiting for TBM shared iterator lock.</entry>
1087+
</row>
10841088
<row>
10851089
<entry morerows="9"><literal>Lock</></entry>
10861090
<entry><literal>relation</></entry>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ collectMatchBitmap(GinBtreeData *btree, GinBtreeStack *stack,
120120
Form_pg_attributeattr;
121121

122122
/* Initialize empty bitmap result */
123-
scanEntry->matchBitmap=tbm_create(work_mem*1024L);
123+
scanEntry->matchBitmap=tbm_create(work_mem*1024L,NULL);
124124

125125
/* Null query cannot partial-match anything */
126126
if (scanEntry->isPartialMatch&&

‎src/backend/executor/nodeBitmapIndexscan.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ MultiExecBitmapIndexScan(BitmapIndexScanState *node)
7878
else
7979
{
8080
/* XXX should we use less than work_mem for this? */
81-
tbm=tbm_create(work_mem*1024L);
81+
tbm=tbm_create(work_mem*1024L,NULL);
8282
}
8383

8484
/*

‎src/backend/executor/nodeBitmapOr.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ MultiExecBitmapOr(BitmapOrState *node)
129129
if (result==NULL)/* first subplan */
130130
{
131131
/* XXX should we use less than work_mem for this? */
132-
result=tbm_create(work_mem*1024L);
132+
result=tbm_create(work_mem*1024L,NULL);
133133
}
134134

135135
((BitmapIndexScanState*)subnode)->biss_result=result;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp