diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2007-07-15 23:46:20 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2007-07-15 23:46:20 +0000 |
| commit | 93624bcda0dbd1befaba81299831b5f0e64ecdd6 (patch) | |
| tree | 787b7fbe5245f6977699bb4e2033f57b4e709b4a /contrib/pageinspect/btreefuncs.c | |
| parent | 4608f359a61dbdd53c31c9241288cade3197552a (diff) | |
Fix CHECK_RELATION_BLOCK_RANGE macro, which was not merely producing
a warning but was outright wrong.
Diffstat (limited to 'contrib/pageinspect/btreefuncs.c')
| -rw-r--r-- | contrib/pageinspect/btreefuncs.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/contrib/pageinspect/btreefuncs.c b/contrib/pageinspect/btreefuncs.c index 97c5ae409a4..f02c3821834 100644 --- a/contrib/pageinspect/btreefuncs.c +++ b/contrib/pageinspect/btreefuncs.c @@ -57,12 +57,13 @@ extern Datum bt_page_stats(PG_FUNCTION_ARGS); #define IS_BTREE(r) ((r)->rd_rel->relam == BTREE_AM_OID) #define CHECK_PAGE_OFFSET_RANGE(pg, offnum) { \ - if ( !(FirstOffsetNumber<=(offnum) && \ - (offnum)<=PageGetMaxOffsetNumber(pg)) ) \ + if ( !(FirstOffsetNumber <= (offnum) && \ + (offnum) <= PageGetMaxOffsetNumber(pg)) ) \ elog(ERROR, "page offset number out of range"); } +/* note: BlockNumber is unsigned, hence can't be negative */ #define CHECK_RELATION_BLOCK_RANGE(rel, blkno) { \ - if ( (blkno)<0 && RelationGetNumberOfBlocks((rel))<=(blkno) ) \ + if ( RelationGetNumberOfBlocks(rel) <= (BlockNumber) (blkno) ) \ elog(ERROR, "block number out of range"); } /* ------------------------------------------------ |
