Go to the documentation of this file.
6 #include <absl/strings/str_format.h>
7 #include <absl/strings/string_view.h>
47 static_assert(
sizeof(RecordId) == 8);
149 template<>
struct hash<
taco::RecordId> {
152 return std::hash<uint64_t>()(((uint64_t)x.
pid << 32) + x.
sid);
RecordId(PageNumber pid, SlotId sid)
Definition: Record.h:20
Record()
Definition: Record.h:89
void Clear()
Definition: Record.h:120
int16_t FieldOffset
Definition: tdb_base.h:212
constexpr SlotId INVALID_SID
The invalid slot ID.
Definition: tdb_base.h:255
constexpr PageNumber INVALID_PID
The invalid page number.
Definition: tdb_base.h:236
uint16_t reserved
2-byte padding for alignment, but it's currently unused.
Definition: Record.h:26
size_t operator()(const taco::RecordId &x) const
Definition: Record.h:151
FieldOffset GetLength() const
Definition: Record.h:115
constexpr bool operator>(const RecordId &rid1, const RecordId &rid2)
Definition: Record.h:71
uint16_t SlotId
Definition: tdb_base.h:223
constexpr bool operator<(const RecordId &rid1, const RecordId &rid2)
Definition: Record.h:60
constexpr bool IsValid() const
Definition: Record.h:35
FieldOffset & GetLength()
Definition: Record.h:110
std::ostream & operator<<(std::ostream &out, const RecordId &rid)
Definition: Record.h:82
The record ID of a record on a page is a pair of ‘(PageNumber, SlotId)’.
Definition: Record.h:17
#define SLOTID_FORMAT
Definition: tdb_base.h:274
SlotId sid
Definition: Record.h:23
const char *& GetData()
Definition: Record.h:100
const RecordId & GetRecordId() const
Definition: Record.h:136
RecordId(PageNumber pid)
Definition: Record.h:19
RecordId & GetRecordId()
Definition: Record.h:131
bool IsValid() const
Definition: Record.h:126
RecordId m_rid
Definition: Record.h:143
std::vector< char, AlignedAllocImpl::aligned_allocator< 8, char > > maxaligned_char_buf
Definition: tdb_base.h:155
#define PAGENUMBER_FORMAT
Definition: tdb_base.h:273
FieldOffset m_buflen
Definition: Record.h:142
void SetInvalid()
Definition: Record.h:29
constexpr bool operator!=(const RecordId &rid1, const RecordId &rid2)
Definition: Record.h:55
constexpr bool operator>=(const RecordId &rid1, const RecordId &rid2)
Definition: Record.h:76
constexpr bool operator<=(const RecordId &rid1, const RecordId &rid2)
Definition: Record.h:65
RecordId()
Definition: Record.h:18
Record(const char *buf, FieldOffset buflen)
Definition: Record.h:91
Record & operator=(const Record &other)=default
const char * m_buffer
Definition: Record.h:141
const char * GetData() const
Definition: Record.h:105
PageNumber pid
Definition: Record.h:22
std::string ToString() const
Definition: Record.h:40
constexpr bool operator==(const RecordId &rid1, const RecordId &rid2)
Definition: Record.h:50
Record(const maxaligned_char_buf &buf)
Definition: Record.h:93
uint32_t PageNumber
Definition: tdb_base.h:214