From 5b1960ccbdda1a99ccd22638bb4721ee5c4c3331 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Mon, 8 May 2023 13:30:20 -0400 Subject: Record.h: Renamed record_t to Record for POSIX compliance. Required for compliance with POSIX B.2.12. The other _t types, key_t, val_t, header_t, etc. will be revised later when switching over to a templated version of this code. --- include/util/record.h | 65 --------------------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 include/util/record.h (limited to 'include/util/record.h') diff --git a/include/util/record.h b/include/util/record.h deleted file mode 100644 index 0ba0f97..0000000 --- a/include/util/record.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * include/util/record.h - * - * Copyright (C) 2023 Douglas Rumbaugh - * Dong Xie - * - * All rights reserved. Published under the Modified BSD License. - * - */ -#pragma once - -#include - -#include "util/base.h" - -namespace de { - -typedef uint32_t hdr_t; -typedef uint64_t key_t; -typedef uint32_t value_t; -typedef uint64_t weight_t; - -struct record_t { - key_t key; - value_t value; - hdr_t header; - weight_t weight; - - inline bool match(key_t k, value_t v, bool is_tombstone) const { - return (key == k) && (value == v) && ((header & 1) == is_tombstone); - } - - inline void set_delete_status() { - header |= 2; - } - - inline bool get_delete_status() const { - return header & 2; - } - - inline bool is_tombstone() const { - return header & 1; - } - - inline int match(const record_t* other) const { - return key == other->key && value == other->value; - } - - inline bool operator<(const record_t& other) const { - return key < other.key || (key == other.key && value < other.value); - } - - inline bool lt(const key_t& k, const value_t& v) const { - return key < k || (key == k && value < v); - } -}; - -static_assert(sizeof(record_t) == 24, "Record is not 24 bytes long."); - -static bool memtable_record_cmp(const record_t& a, const record_t& b) { - return (a.key < b.key) || (a.key == b.key && a.value < b.value) - || (a.key == b.key && a.value == b.value && a.header < b.header); -} - -} -- cgit v1.2.3