File tree Expand file tree Collapse file tree 2 files changed +8
-6
lines changed Expand file tree Collapse file tree 2 files changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -57,12 +57,13 @@ extern Datum bt_page_stats(PG_FUNCTION_ARGS);
57
57
#define IS_BTREE (r ) ((r)->rd_rel->relam == BTREE_AM_OID)
58
58
59
59
#define CHECK_PAGE_OFFSET_RANGE (pg , offnum ) { \
60
- if ( !(FirstOffsetNumber<= (offnum) && \
61
- (offnum)<= PageGetMaxOffsetNumber(pg)) ) \
60
+ if ( !(FirstOffsetNumber <= (offnum) && \
61
+ (offnum) <= PageGetMaxOffsetNumber(pg)) ) \
62
62
elog(ERROR, "page offset number out of range"); }
63
63
64
+ /* note: BlockNumber is unsigned, hence can't be negative */
64
65
#define CHECK_RELATION_BLOCK_RANGE (rel , blkno ) { \
65
- if ( (blkno)<0 && RelationGetNumberOfBlocks(( rel))<= (blkno) ) \
66
+ if ( RelationGetNumberOfBlocks(rel) <= (BlockNumber) (blkno) ) \
66
67
elog(ERROR, "block number out of range"); }
67
68
68
69
/* ------------------------------------------------
Original file line number Diff line number Diff line change @@ -48,12 +48,13 @@ extern Datum pg_relpages(PG_FUNCTION_ARGS);
48
48
#define IS_BTREE (r ) ((r)->rd_rel->relam == BTREE_AM_OID)
49
49
50
50
#define CHECK_PAGE_OFFSET_RANGE (pg , offnum ) { \
51
- if ( !(FirstOffsetNumber<= (offnum) && \
52
- (offnum)<= PageGetMaxOffsetNumber(pg)) ) \
51
+ if ( !(FirstOffsetNumber <= (offnum) && \
52
+ (offnum) <= PageGetMaxOffsetNumber(pg)) ) \
53
53
elog(ERROR, "page offset number out of range"); }
54
54
55
+ /* note: BlockNumber is unsigned, hence can't be negative */
55
56
#define CHECK_RELATION_BLOCK_RANGE (rel , blkno ) { \
56
- if ( (blkno)<0 && RelationGetNumberOfBlocks(( rel))<= (blkno) ) \
57
+ if ( RelationGetNumberOfBlocks(rel) <= (BlockNumber) (blkno) ) \
57
58
elog(ERROR, "block number out of range"); }
58
59
59
60
/* ------------------------------------------------
You can’t perform that action at this time.
0 commit comments