Skip to content
Snippets Groups Projects
Commit 08817bdb authored by Tom Lane's avatar Tom Lane
Browse files

Adjust GiST error messages to conform to message style guidelines.

parent a453951d
No related branches found
No related tags found
No related merge requests found
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/gist/gistscan.c,v 1.59 2005/06/27 12:45:22 teodor Exp $ * $PostgreSQL: pgsql/src/backend/access/gist/gistscan.c,v 1.60 2005/09/22 18:49:45 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -422,7 +422,8 @@ adjustiptr(IndexScanDesc scan, ...@@ -422,7 +422,8 @@ adjustiptr(IndexScanDesc scan,
} }
break; break;
default: default:
elog(ERROR, "Bad operation in GiST scan adjust: %d", op); elog(ERROR, "unrecognized GiST scan adjust operation: %d",
op);
} }
} }
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/gist/gistutil.c,v 1.5 2005/06/30 17:52:14 teodor Exp $ * $PostgreSQL: pgsql/src/backend/access/gist/gistutil.c,v 1.6 2005/09/22 18:49:45 tgl Exp $
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
#include "postgres.h" #include "postgres.h"
...@@ -71,7 +71,7 @@ gistfillbuffer(Relation r, Page page, IndexTuple *itup, ...@@ -71,7 +71,7 @@ gistfillbuffer(Relation r, Page page, IndexTuple *itup,
l = PageAddItem(page, (Item) itup[i], IndexTupleSize(itup[i]), l = PageAddItem(page, (Item) itup[i], IndexTupleSize(itup[i]),
off, LP_USED); off, LP_USED);
if (l == InvalidOffsetNumber) if (l == InvalidOffsetNumber)
elog(ERROR, "gistfillbuffer: failed to add index item to \"%s\"", elog(ERROR, "failed to add item to index page in \"%s\"",
RelationGetRelationName(r)); RelationGetRelationName(r));
off++; off++;
} }
...@@ -645,8 +645,9 @@ gistchoose(Relation r, Page p, IndexTuple it, /* it has compressed entry */ ...@@ -645,8 +645,9 @@ gistchoose(Relation r, Page p, IndexTuple it, /* it has compressed entry */
IndexTuple itup = (IndexTuple) PageGetItem(p, PageGetItemId(p, i)); IndexTuple itup = (IndexTuple) PageGetItem(p, PageGetItemId(p, i));
if ( !GistPageIsLeaf(p) && GistTupleIsInvalid(itup) ) { if ( !GistPageIsLeaf(p) && GistTupleIsInvalid(itup) ) {
elog(LOG, "It's desirable to vacuum or reindex GiST index '%s' due to crash recovery", ereport(LOG,
RelationGetRelationName(r)); (errmsg("index \"%s\" needs VACUUM or REINDEX to finish crash recovery",
RelationGetRelationName(r))));
continue; continue;
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/gist/gistvacuum.c,v 1.7 2005/09/02 19:02:19 tgl Exp $ * $PostgreSQL: pgsql/src/backend/access/gist/gistvacuum.c,v 1.8 2005/09/22 18:49:45 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -78,7 +78,8 @@ gistVacuumUpdate( GistVacuum *gv, BlockNumber blkno, bool needunion ) { ...@@ -78,7 +78,8 @@ gistVacuumUpdate( GistVacuum *gv, BlockNumber blkno, bool needunion ) {
needchildunion = (GistTupleIsInvalid(idxtuple)) ? true : false; needchildunion = (GistTupleIsInvalid(idxtuple)) ? true : false;
if ( needchildunion ) if ( needchildunion )
elog(DEBUG2,"gistVacuumUpdate: Need union for block %u", ItemPointerGetBlockNumber(&(idxtuple->t_tid))); elog(DEBUG2, "gistVacuumUpdate: need union for block %u",
ItemPointerGetBlockNumber(&(idxtuple->t_tid)));
chldtuple = gistVacuumUpdate( gv, ItemPointerGetBlockNumber(&(idxtuple->t_tid)), chldtuple = gistVacuumUpdate( gv, ItemPointerGetBlockNumber(&(idxtuple->t_tid)),
needchildunion ); needchildunion );
...@@ -309,10 +310,10 @@ gistvacuumcleanup(PG_FUNCTION_ARGS) { ...@@ -309,10 +310,10 @@ gistvacuumcleanup(PG_FUNCTION_ARGS) {
} }
freeGISTstate(&(gv.giststate)); freeGISTstate(&(gv.giststate));
MemoryContextDelete(gv.opCtx); MemoryContextDelete(gv.opCtx);
} else if (needFullVacuum) { } else if (needFullVacuum)
elog(NOTICE,"It's desirable to vacuum full or reindex GiST index '%s' due to crash recovery", ereport(NOTICE,
RelationGetRelationName(rel)); (errmsg("index \"%s\" needs VACUUM FULL or REINDEX to finish crash recovery",
} RelationGetRelationName(rel))));
needFullVacuum = false; needFullVacuum = false;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/gist/gistxlog.c,v 1.7 2005/07/01 13:18:17 teodor Exp $ * $PostgreSQL: pgsql/src/backend/access/gist/gistxlog.c,v 1.8 2005/09/22 18:49:45 tgl Exp $
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
#include "postgres.h" #include "postgres.h"
...@@ -162,7 +162,7 @@ gistRedoEntryUpdateRecord(XLogRecPtr lsn, XLogRecord *record, bool isnewroot) { ...@@ -162,7 +162,7 @@ gistRedoEntryUpdateRecord(XLogRecPtr lsn, XLogRecord *record, bool isnewroot) {
return; return;
buffer = XLogReadBuffer(false, reln, xlrec.data->blkno); buffer = XLogReadBuffer(false, reln, xlrec.data->blkno);
if (!BufferIsValid(buffer)) if (!BufferIsValid(buffer))
elog(PANIC, "gistRedoEntryUpdateRecord: block %u unfound", xlrec.data->blkno); elog(PANIC, "block %u unfound", xlrec.data->blkno);
page = (Page) BufferGetPage(buffer); page = (Page) BufferGetPage(buffer);
if ( isnewroot ) { if ( isnewroot ) {
...@@ -173,7 +173,7 @@ gistRedoEntryUpdateRecord(XLogRecPtr lsn, XLogRecord *record, bool isnewroot) { ...@@ -173,7 +173,7 @@ gistRedoEntryUpdateRecord(XLogRecPtr lsn, XLogRecord *record, bool isnewroot) {
} }
} else { } else {
if ( PageIsNew((PageHeader) page) ) if ( PageIsNew((PageHeader) page) )
elog(PANIC, "gistRedoEntryUpdateRecord: uninitialized page blkno %u", xlrec.data->blkno); elog(PANIC, "uninitialized page %u", xlrec.data->blkno);
if (XLByteLE(lsn, PageGetLSN(page))) { if (XLByteLE(lsn, PageGetLSN(page))) {
LockBuffer(buffer, BUFFER_LOCK_UNLOCK); LockBuffer(buffer, BUFFER_LOCK_UNLOCK);
ReleaseBuffer(buffer); ReleaseBuffer(buffer);
...@@ -270,11 +270,10 @@ gistRedoPageSplitRecord(XLogRecPtr lsn, XLogRecord *record ) { ...@@ -270,11 +270,10 @@ gistRedoPageSplitRecord(XLogRecPtr lsn, XLogRecord *record ) {
/* first of all wee need get F_LEAF flag from original page */ /* first of all wee need get F_LEAF flag from original page */
buffer = XLogReadBuffer( false, reln, xlrec.data->origblkno); buffer = XLogReadBuffer( false, reln, xlrec.data->origblkno);
if (!BufferIsValid(buffer)) if (!BufferIsValid(buffer))
elog(PANIC, "gistRedoEntryUpdateRecord: block %u unfound", xlrec.data->origblkno); elog(PANIC, "block %u unfound", xlrec.data->origblkno);
page = (Page) BufferGetPage(buffer); page = (Page) BufferGetPage(buffer);
if ( PageIsNew((PageHeader) page) ) if ( PageIsNew((PageHeader) page) )
elog(PANIC, "gistRedoEntryUpdateRecord: uninitialized page blkno %u", elog(PANIC, "uninitialized page %u", xlrec.data->origblkno);
xlrec.data->origblkno);
flags = ( GistPageIsLeaf(page) ) ? F_LEAF : 0; flags = ( GistPageIsLeaf(page) ) ? F_LEAF : 0;
LockBuffer(buffer, BUFFER_LOCK_UNLOCK); LockBuffer(buffer, BUFFER_LOCK_UNLOCK);
...@@ -287,7 +286,7 @@ gistRedoPageSplitRecord(XLogRecPtr lsn, XLogRecord *record ) { ...@@ -287,7 +286,7 @@ gistRedoPageSplitRecord(XLogRecPtr lsn, XLogRecord *record ) {
buffer = XLogReadBuffer( !isorigpage, reln, newpage->header->blkno); buffer = XLogReadBuffer( !isorigpage, reln, newpage->header->blkno);
if (!BufferIsValid(buffer)) if (!BufferIsValid(buffer))
elog(PANIC, "gistRedoEntryUpdateRecord: block %u unfound", newpage->header->blkno); elog(PANIC, "block %u unfound", newpage->header->blkno);
page = (Page) BufferGetPage(buffer); page = (Page) BufferGetPage(buffer);
if (XLByteLE(lsn, PageGetLSN(page))) { if (XLByteLE(lsn, PageGetLSN(page))) {
...@@ -330,7 +329,7 @@ gistRedoCreateIndex(XLogRecPtr lsn, XLogRecord *record) { ...@@ -330,7 +329,7 @@ gistRedoCreateIndex(XLogRecPtr lsn, XLogRecord *record) {
return; return;
buffer = XLogReadBuffer( true, reln, GIST_ROOT_BLKNO); buffer = XLogReadBuffer( true, reln, GIST_ROOT_BLKNO);
if (!BufferIsValid(buffer)) if (!BufferIsValid(buffer))
elog(PANIC, "gistRedoCreateIndex: block unfound"); elog(PANIC, "root block unfound");
page = (Page) BufferGetPage(buffer); page = (Page) BufferGetPage(buffer);
if (!PageIsNew((PageHeader) page) && XLByteLE(lsn, PageGetLSN(page))) { if (!PageIsNew((PageHeader) page) && XLByteLE(lsn, PageGetLSN(page))) {
...@@ -450,6 +449,7 @@ gist_desc(char *buf, uint8 xl_info, char *rec) ...@@ -450,6 +449,7 @@ gist_desc(char *buf, uint8 xl_info, char *rec)
((gistxlogInsertComplete*)rec)->node.spcNode, ((gistxlogInsertComplete*)rec)->node.spcNode,
((gistxlogInsertComplete*)rec)->node.dbNode, ((gistxlogInsertComplete*)rec)->node.dbNode,
((gistxlogInsertComplete*)rec)->node.relNode); ((gistxlogInsertComplete*)rec)->node.relNode);
break;
default: default:
elog(PANIC, "gist_desc: unknown op code %u", info); elog(PANIC, "gist_desc: unknown op code %u", info);
} }
...@@ -474,9 +474,9 @@ static Buffer ...@@ -474,9 +474,9 @@ static Buffer
gistXLogReadAndLockBuffer( Relation r, BlockNumber blkno ) { gistXLogReadAndLockBuffer( Relation r, BlockNumber blkno ) {
Buffer buffer = XLogReadBuffer( false, r, blkno ); Buffer buffer = XLogReadBuffer( false, r, blkno );
if (!BufferIsValid(buffer)) if (!BufferIsValid(buffer))
elog(PANIC, "gistXLogReadAndLockBuffer: block %u unfound", blkno); elog(PANIC, "block %u unfound", blkno);
if ( PageIsNew( (PageHeader)(BufferGetPage(buffer)) ) ) if ( PageIsNew( (PageHeader)(BufferGetPage(buffer)) ) )
elog(PANIC, "gistXLogReadAndLockBuffer: uninitialized page blkno %u", blkno); elog(PANIC, "uninitialized page %u", blkno);
return buffer; return buffer;
} }
...@@ -507,7 +507,7 @@ gixtxlogFindPath( Relation index, gistIncompleteInsert *insert ) { ...@@ -507,7 +507,7 @@ gixtxlogFindPath( Relation index, gistIncompleteInsert *insert ) {
ptr = ptr->parent; ptr = ptr->parent;
} }
} else } else
elog(LOG, "gixtxlogFindPath: lost parent for block %u", insert->origblkno); elog(LOG, "lost parent for block %u", insert->origblkno);
} }
/* /*
...@@ -545,7 +545,7 @@ gistContinueInsert(gistIncompleteInsert *insert) { ...@@ -545,7 +545,7 @@ gistContinueInsert(gistIncompleteInsert *insert) {
Page page; Page page;
if (!BufferIsValid(buffer)) if (!BufferIsValid(buffer))
elog(PANIC, "gistContinueInsert: root block unfound"); elog(PANIC, "root block unfound");
page = BufferGetPage(buffer); page = BufferGetPage(buffer);
if (XLByteLE(insert->lsn, PageGetLSN(page))) { if (XLByteLE(insert->lsn, PageGetLSN(page))) {
...@@ -580,10 +580,10 @@ gistContinueInsert(gistIncompleteInsert *insert) { ...@@ -580,10 +580,10 @@ gistContinueInsert(gistIncompleteInsert *insert) {
numbuffer=1; numbuffer=1;
buffers[numbuffer-1] = XLogReadBuffer(false, index, insert->path[i]); buffers[numbuffer-1] = XLogReadBuffer(false, index, insert->path[i]);
if (!BufferIsValid(buffers[numbuffer-1])) if (!BufferIsValid(buffers[numbuffer-1]))
elog(PANIC, "gistContinueInsert: block %u unfound", insert->path[i]); elog(PANIC, "block %u unfound", insert->path[i]);
pages[numbuffer-1] = BufferGetPage( buffers[numbuffer-1] ); pages[numbuffer-1] = BufferGetPage( buffers[numbuffer-1] );
if ( PageIsNew((PageHeader)(pages[numbuffer-1])) ) if ( PageIsNew((PageHeader)(pages[numbuffer-1])) )
elog(PANIC, "gistContinueInsert: uninitialized page blkno %u", insert->path[i]); elog(PANIC, "uninitialized page %u", insert->path[i]);
if (XLByteLE(insert->lsn, PageGetLSN(pages[numbuffer-1]))) { if (XLByteLE(insert->lsn, PageGetLSN(pages[numbuffer-1]))) {
LockBuffer(buffers[numbuffer-1], BUFFER_LOCK_UNLOCK); LockBuffer(buffers[numbuffer-1], BUFFER_LOCK_UNLOCK);
...@@ -614,7 +614,7 @@ gistContinueInsert(gistIncompleteInsert *insert) { ...@@ -614,7 +614,7 @@ gistContinueInsert(gistIncompleteInsert *insert) {
/* no space left on page, so we should split */ /* no space left on page, so we should split */
buffers[numbuffer] = XLogReadBuffer(true, index, P_NEW); buffers[numbuffer] = XLogReadBuffer(true, index, P_NEW);
if (!BufferIsValid(buffers[numbuffer])) if (!BufferIsValid(buffers[numbuffer]))
elog(PANIC, "gistContinueInsert: can't create new block"); elog(PANIC, "could not obtain new block");
GISTInitBuffer(buffers[numbuffer], 0); GISTInitBuffer(buffers[numbuffer], 0);
pages[numbuffer] = BufferGetPage( buffers[numbuffer] ); pages[numbuffer] = BufferGetPage( buffers[numbuffer] );
gistfillbuffer( index, pages[numbuffer], itup, lenitup, FirstOffsetNumber ); gistfillbuffer( index, pages[numbuffer], itup, lenitup, FirstOffsetNumber );
...@@ -628,13 +628,13 @@ gistContinueInsert(gistIncompleteInsert *insert) { ...@@ -628,13 +628,13 @@ gistContinueInsert(gistIncompleteInsert *insert) {
/* sanity check */ /* sanity check */
if ( i+1 != insert->pathlen ) if ( i+1 != insert->pathlen )
elog(PANIC,"gistContinueInsert: can't restore index '%s'", elog(PANIC,"unexpected pathlen in index \"%s\"",
RelationGetRelationName( index )); RelationGetRelationName( index ));
/* fill new page */ /* fill new page */
buffers[numbuffer] = XLogReadBuffer(true, index, P_NEW); buffers[numbuffer] = XLogReadBuffer(true, index, P_NEW);
if (!BufferIsValid(buffers[numbuffer])) if (!BufferIsValid(buffers[numbuffer]))
elog(PANIC, "gistContinueInsert: can't create new block"); elog(PANIC, "could not obtain new block");
GISTInitBuffer(buffers[numbuffer], 0); GISTInitBuffer(buffers[numbuffer], 0);
pages[numbuffer] = BufferGetPage( buffers[numbuffer] ); pages[numbuffer] = BufferGetPage( buffers[numbuffer] );
gistfillbuffer(index, pages[numbuffer], parentitup, pituplen, FirstOffsetNumber); gistfillbuffer(index, pages[numbuffer], parentitup, pituplen, FirstOffsetNumber);
...@@ -644,12 +644,12 @@ gistContinueInsert(gistIncompleteInsert *insert) { ...@@ -644,12 +644,12 @@ gistContinueInsert(gistIncompleteInsert *insert) {
GISTInitBuffer(buffers[0], 0); GISTInitBuffer(buffers[0], 0);
for(j=1;j<numbuffer;j++) { for(j=1;j<numbuffer;j++) {
IndexTuple tuple = gist_form_invalid_tuple( BufferGetBlockNumber( buffers[j] ) ); IndexTuple tuple = gist_form_invalid_tuple( BufferGetBlockNumber( buffers[j] ) );
if ( InvalidOffsetNumber == PageAddItem(pages[0], if (PageAddItem(pages[0],
(Item)tuple, (Item)tuple,
IndexTupleSize( tuple ), IndexTupleSize( tuple ),
(OffsetNumber)j, (OffsetNumber)j,
LP_USED) ) LP_USED) == InvalidOffsetNumber)
elog( PANIC,"gistContinueInsert: can't restore index '%s'", elog(PANIC, "failed to add item to index page in \"%s\"",
RelationGetRelationName( index )); RelationGetRelationName( index ));
} }
} }
...@@ -668,8 +668,10 @@ gistContinueInsert(gistIncompleteInsert *insert) { ...@@ -668,8 +668,10 @@ gistContinueInsert(gistIncompleteInsert *insert) {
} }
} }
elog(LOG,"Detected incomplete insert into GiST index %u/%u/%u; It's desirable to vacuum or reindex index", ereport(LOG,
insert->node.spcNode, insert->node.dbNode, insert->node.relNode); (errmsg("index %u/%u/%u needs VACUUM or REINDEX to finish crash recovery",
insert->node.spcNode, insert->node.dbNode, insert->node.relNode),
errdetail("Incomplete insertion detected during crash replay.")));
} }
void void
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment