Skip to content

Commit 5445434

Browse files
committed
Merge branch 'REL9_5_STABLE' into PGPRO9_5
2 parents 7c8d062 + 47215c1 commit 5445434

File tree

8 files changed

+183
-130
lines changed

8 files changed

+183
-130
lines changed

doc/src/sgml/ref/create_database.sgml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable>
2929
[ LC_CTYPE [=] <replaceable class="parameter">lc_ctype</replaceable> ]
3030
[ TABLESPACE [=] <replaceable class="parameter">tablespace_name</replaceable> ]
3131
[ ALLOW_CONNECTIONS [=] <replaceable class="parameter">allowconn</replaceable> ]
32-
[ CONNECTION LIMIT [=] <replaceable class="parameter">connlimit</replaceable> ] ]
33-
[ IS_TEMPLATE [=] <replaceable class="parameter">istemplate</replaceable> ]
32+
[ CONNECTION LIMIT [=] <replaceable class="parameter">connlimit</replaceable> ]
33+
[ IS_TEMPLATE [=] <replaceable class="parameter">istemplate</replaceable> ] ]
3434
</synopsis>
3535
</refsynopsisdiv>
3636

src/backend/access/brin/brin_pageops.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,8 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
179179

180180
START_CRIT_SECTION();
181181
PageIndexDeleteNoCompact(oldpage, &oldoff, 1);
182-
if (PageAddItem(oldpage, (Item) newtup, newsz, oldoff, true,
183-
false) == InvalidOffsetNumber)
182+
if (PageAddItemExtended(oldpage, (Item) newtup, newsz, oldoff,
183+
PAI_OVERWRITE | PAI_ALLOW_FAR_OFFSET) == InvalidOffsetNumber)
184184
elog(ERROR, "failed to add BRIN tuple");
185185
MarkBufferDirty(oldbuf);
186186

src/backend/access/brin/brin_revmap.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,10 @@ brinGetTupleForHeapBlock(BrinRevmap *revmap, BlockNumber heapBlk,
266266
/* If we land on a revmap page, start over */
267267
if (BRIN_IS_REGULAR_PAGE(page))
268268
{
269+
if (*off > PageGetMaxOffsetNumber(page))
270+
ereport(ERROR,
271+
(errcode(ERRCODE_INDEX_CORRUPTED),
272+
errmsg_internal("corrupted BRIN index: inconsistent range map")));
269273
lp = PageGetItemId(page, *off);
270274
if (ItemIdIsUsed(lp))
271275
{

src/backend/access/brin/brin_xlog.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,8 @@ brin_xlog_samepage_update(XLogReaderState *record)
193193
elog(PANIC, "brin_xlog_samepage_update: invalid max offset number");
194194

195195
PageIndexDeleteNoCompact(page, &offnum, 1);
196-
offnum = PageAddItem(page, (Item) brintuple, tuplen, offnum, true, false);
196+
offnum = PageAddItemExtended(page, (Item) brintuple, tuplen, offnum,
197+
PAI_OVERWRITE | PAI_ALLOW_FAR_OFFSET);
197198
if (offnum == InvalidOffsetNumber)
198199
elog(PANIC, "brin_xlog_samepage_update: failed to add tuple");
199200

0 commit comments

Comments
 (0)