From 296ce68e80d8d9347358d42cc9631970b308b6d0 Mon Sep 17 00:00:00 2001
From: Pavel Safonov
Date: Thu, 22 Sep 2022 13:32:03 +0300
Subject: [PATCH] postgres: refactoring
---
.../flavours/postgres14/common14/heap_page.go | 6 +++---
.../flavours/postgres14/common14/pg_heap.go | 4 ++--
.../postgres/flavours/postgres14/pg_btree.go | 20 ++++++++++---------
3 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/format/postgres/flavours/postgres14/common14/heap_page.go b/format/postgres/flavours/postgres14/common14/heap_page.go
index da27198d..e1a4d489 100644
--- a/format/postgres/flavours/postgres14/common14/heap_page.go
+++ b/format/postgres/flavours/postgres14/common14/heap_page.go
@@ -15,7 +15,7 @@ import (
//
/* total size (bytes): 4 */
-type ItemId struct {
+type ItemID struct {
Off uint32 // unsigned int lp_off: 15
Flags uint32 // unsigned int lp_flags: 2
Len uint32 // unsigned int lp_len: 15
@@ -38,7 +38,7 @@ type HeapPage struct {
PosFreeSpaceEnd int64 // bits pos free space end
// parsed items positions
- ItemIds []ItemId
+ ItemIds []ItemID
}
func DecodePageHeader(page *HeapPage, d *decode.D) {
@@ -84,7 +84,7 @@ func decodeItemIdsInternal(page *HeapPage, d *decode.D) {
/* 1: 7 | 4 */ // unsigned int lp_flags: 2
/* 2: 1 | 4 */ // unsigned int lp_len: 15
d.FieldStruct("item_id", func(d *decode.D) {
- itemID := ItemId{}
+ itemID := ItemID{}
itemPos := d.Pos()
itemID.Off = uint32(d.FieldU32("lp_off", common.LpOffMapper))
diff --git a/format/postgres/flavours/postgres14/common14/pg_heap.go b/format/postgres/flavours/postgres14/common14/pg_heap.go
index 2b6257f3..f362da36 100644
--- a/format/postgres/flavours/postgres14/common14/pg_heap.go
+++ b/format/postgres/flavours/postgres14/common14/pg_heap.go
@@ -193,10 +193,10 @@ func decodeTuples(heap *Heap, d *decode.D) {
continue
}
- pos := int64(page.BytesPosBegin)*8 + int64(id.Off)*8
+ pos := (page.BytesPosBegin * 8) + int64(id.Off)*8
tupleDataLen := id.Len - SizeOfHeapTupleHeaderData
- // seek to tuple with ItemId offset
+ // seek to tuple with ItemID offset
d.SeekAbs(pos)
// type = struct HeapTupleHeaderData {
diff --git a/format/postgres/flavours/postgres14/pg_btree.go b/format/postgres/flavours/postgres14/pg_btree.go
index c7644130..89e69a88 100644
--- a/format/postgres/flavours/postgres14/pg_btree.go
+++ b/format/postgres/flavours/postgres14/pg_btree.go
@@ -6,6 +6,7 @@ import (
"github.com/wader/fq/pkg/decode"
)
+//nolint:revive
const (
BTREE_MAGIC = 0x053162
P_NONE = 0
@@ -22,6 +23,7 @@ const (
BTP_HAS_FULLXID = 1 << 8 /* contains BTDeletedPageData */
)
+//nolint:revive
const (
INDEX_SIZE_MASK = 0x1FFF
INDEX_AM_RESERVED_BIT = 0x2000 /* reserved for index-AM specific usage */
@@ -119,14 +121,14 @@ func decodeBTreeMetaPage(btree *BTree, d *decode.D) {
common14.DecodePageHeader(page, d)
})
d.FieldStruct("meta_page_data", func(d *decode.D) {
- decodeBTMetaPageData(btree, d)
+ decodeBTMetaPageData(d)
})
pos0 := d.Pos()
- pos1 := int64(btree.page.BytesPosSpecial) * 8
+ pos1 := btree.page.BytesPosSpecial * 8
d.FieldRawLen("unused0", pos1-pos0)
d.FieldStruct("page_opaque_data", func(d *decode.D) {
- decodeBTPageOpaqueData(btree, d)
+ decodeBTPageOpaqueData(d)
})
pos2 := d.Pos()
bytesPos2 := pos2 / 8
@@ -135,7 +137,7 @@ func decodeBTreeMetaPage(btree *BTree, d *decode.D) {
}
}
-func decodeBTMetaPageData(btree *BTree, d *decode.D) {
+func decodeBTMetaPageData(d *decode.D) {
/* 0 | 4 */ // uint32 btm_magic
/* 4 | 4 */ // uint32 btm_version
/* 8 | 4 */ // BlockNumber btm_root
@@ -171,7 +173,7 @@ func decodeBTMetaPageData(btree *BTree, d *decode.D) {
/* 8 | 4 */ // uint32 btpo_level;
/* 12 | 2 */ // uint16 btpo_flags;
/* 14 | 2 */ // BTCycleId btpo_cycleid;
-func decodeBTPageOpaqueData(btree *BTree, d *decode.D) {
+func decodeBTPageOpaqueData(d *decode.D) {
prev := d.FieldU32("btpo_prev")
next := d.FieldU32("btpo_next")
d.FieldU32("btpo_level")
@@ -213,10 +215,10 @@ func decodeBTreePage(btree *BTree, d *decode.D) {
})
pos0 := d.Pos()
- pos1 := int64(btree.page.BytesPosSpecial) * 8
+ pos1 := btree.page.BytesPosSpecial * 8
d.SeekAbs(pos1)
d.FieldStruct("page_opaque_data", func(d *decode.D) {
- decodeBTPageOpaqueData(btree, d)
+ decodeBTPageOpaqueData(d)
})
pos2 := d.Pos()
bytesPos2 := pos2 / 8
@@ -244,9 +246,9 @@ func decodeIndexTuples(btree *BTree, d *decode.D) {
continue
}
- pos := int64(page.BytesPosBegin)*8 + int64(id.Off)*8
+ pos := (page.BytesPosBegin * 8) + int64(id.Off)*8
- // seek to tuple with ItemId offset
+ // seek to tuple with ItemID offset
d.SeekAbs(pos)
d.FieldStruct("tuple", func(d *decode.D) {