mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Add macros in hash and btree AMs to get the special area of their pages
This makes the code more consistent with SpGiST, GiST and GIN, that already use this style, and the idea is to make easier the introduction of more sanity checks for each of these AM-specific macros. BRIN uses a different set of macros to get a page's type and flags, so it has no need for something similar. Author: Matthias van de Meent Discussion: https://postgr.es/m/CAEze2WjE3+tGO9Fs9+iZMU+z6mMZKo54W1Zt98WKqbEUHbHOBg@mail.gmail.com
This commit is contained in:
@ -1774,7 +1774,7 @@ _bt_killitems(IndexScanDesc scan)
|
||||
}
|
||||
}
|
||||
|
||||
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
|
||||
opaque = BTPageGetOpaque(page);
|
||||
minoff = P_FIRSTDATAKEY(opaque);
|
||||
maxoff = PageGetMaxOffsetNumber(page);
|
||||
|
||||
@ -2474,7 +2474,7 @@ _bt_check_natts(Relation rel, bool heapkeyspace, Page page, OffsetNumber offnum)
|
||||
{
|
||||
int16 natts = IndexRelationGetNumberOfAttributes(rel);
|
||||
int16 nkeyatts = IndexRelationGetNumberOfKeyAttributes(rel);
|
||||
BTPageOpaque opaque = (BTPageOpaque) PageGetSpecialPointer(page);
|
||||
BTPageOpaque opaque = BTPageGetOpaque(page);
|
||||
IndexTuple itup;
|
||||
int tupnatts;
|
||||
|
||||
@ -2662,7 +2662,7 @@ _bt_check_third_page(Relation rel, Relation heap, bool needheaptidspace,
|
||||
* Internal page insertions cannot fail here, because that would mean that
|
||||
* an earlier leaf level insertion that should have failed didn't
|
||||
*/
|
||||
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
|
||||
opaque = BTPageGetOpaque(page);
|
||||
if (!P_ISLEAF(opaque))
|
||||
elog(ERROR, "cannot insert oversized tuple of size %zu on internal page of index \"%s\"",
|
||||
itemsz, RelationGetRelationName(rel));
|
||||
|
Reference in New Issue
Block a user