25 : type{type}, name{std::move(name)}, timestamp{common::INVALID_TRANSACTION} {}
33 void rename(std::string name_) { this->name = std::move(name_); }
34 std::string
getName()
const {
return name; }
38 void setDeleted(
bool deleted_) { this->deleted = deleted_; }
47 this->prev->setNext(
nullptr);
49 return std::move(prev);
51 void setPrev(std::unique_ptr<CatalogEntry> prev_) {
52 this->prev = std::move(prev_);
54 this->prev->setNext(
this);
68 template<
class TARGET>
70 return common::ku_dynamic_cast<const CatalogEntry&, const TARGET&>(*
this);
72 template<
class TARGET>
74 return common::ku_dynamic_cast<const CatalogEntry*, const TARGET*>(
this);
76 template<
class TARGET>
78 return common::ku_dynamic_cast<CatalogEntry*, TARGET*>(
this);
89 bool hasParent_ =
false;
91 std::unique_ptr<CatalogEntry>
prev;
#define KUZU_API
Definition api.h:25
#define KU_ASSERT(condition)
Definition assert.h:19
#define KU_UNREACHABLE
Definition assert.h:28
Definition catalog_entry.h:18
void setPrev(std::unique_ptr< CatalogEntry > prev_)
Definition catalog_entry.h:51
static std::unique_ptr< CatalogEntry > deserialize(common::Deserializer &deserializer)
void setTimestamp(common::transaction_t timestamp_)
Definition catalog_entry.h:36
void setNext(CatalogEntry *next_)
Definition catalog_entry.h:58
void setHasParent(bool hasParent)
Definition catalog_entry.h:40
virtual std::string toCypher(main::ClientContext *) const
Definition catalog_entry.h:66
CatalogEntry(CatalogEntryType type, std::string name)
Definition catalog_entry.h:24
bool isDeleted() const
Definition catalog_entry.h:37
virtual void serialize(common::Serializer &serializer) const
DELETE_COPY_DEFAULT_MOVE(CatalogEntry)
bool hasParent() const
Definition catalog_entry.h:39
CatalogEntryType getType() const
Definition catalog_entry.h:32
common::transaction_t getTimestamp() const
Definition catalog_entry.h:35
const TARGET & constCast() const
Definition catalog_entry.h:69
void setDeleted(bool deleted_)
Definition catalog_entry.h:38
std::unique_ptr< CatalogEntry > movePrev()
Definition catalog_entry.h:45
void rename(std::string name_)
Definition catalog_entry.h:33
CatalogEntry * getNext() const
Definition catalog_entry.h:57
common::transaction_t timestamp
Definition catalog_entry.h:87
std::string name
Definition catalog_entry.h:86
CatalogEntry * getPrev() const
Definition catalog_entry.h:41
const TARGET * constPtrCast() const
Definition catalog_entry.h:73
std::string getName() const
Definition catalog_entry.h:34
TARGET * ptrCast()
Definition catalog_entry.h:77
virtual ~CatalogEntry()=default
CatalogEntryType type
Definition catalog_entry.h:85
virtual void copyFrom(const CatalogEntry &other)
std::unique_ptr< CatalogEntry > prev
Definition catalog_entry.h:91
Definition deserializer.h:15
Definition serializer.h:15
Contain client side configuration. We make profiler associated per query, so profiler is not maintain...
Definition client_context.h:51
CatalogEntryType
Definition catalog_entry_type.h:9
uint64_t transaction_t
Definition types.h:57
Definition alter_type.h:5