From 43cc07fbbc4c80de1efd7757e7bc6b75240ecc35 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sat, 17 Apr 2010 14:54:22 +0400 Subject: [PATCH] Possibility drop (hide infact) records from DBStore/SQLStorage. --- src/shared/Database/DBCStore.h | 2 ++ src/shared/Database/SQLStorage.cpp | 21 +++++++++++++++++++++ src/shared/Database/SQLStorage.h | 1 + 3 files changed, 24 insertions(+) diff --git a/src/shared/Database/DBCStore.h b/src/shared/Database/DBCStore.h index a557edae0..a5f99a13c 100644 --- a/src/shared/Database/DBCStore.h +++ b/src/shared/Database/DBCStore.h @@ -83,6 +83,8 @@ class DBCStorage nCount = 0; } + void EraseEntry(uint32 id) { indexTable[id] = NULL; } + private: uint32 nCount; uint32 fieldCount; diff --git a/src/shared/Database/SQLStorage.cpp b/src/shared/Database/SQLStorage.cpp index 4f1c1eaff..4ee97622a 100644 --- a/src/shared/Database/SQLStorage.cpp +++ b/src/shared/Database/SQLStorage.cpp @@ -49,6 +49,27 @@ SQLStorage sItemStorage(ItemPrototypesrcfmt, ItemPrototypedstfmt, "entry","item_ SQLStorage sPageTextStore(PageTextfmt,"entry","page_text"); SQLStorage sInstanceTemplate(InstanceTemplatesrcfmt, InstanceTemplatedstfmt, "map","instance_template"); +void SQLStorage::EraseEntry(uint32 id) +{ + uint32 offset=0; + for(uint32 x=0;x(pIndex[id]) = NULL; +} + void SQLStorage::Free () { uint32 offset=0; diff --git a/src/shared/Database/SQLStorage.h b/src/shared/Database/SQLStorage.h index 1ef8c659d..6df7d11bf 100644 --- a/src/shared/Database/SQLStorage.h +++ b/src/shared/Database/SQLStorage.h @@ -68,6 +68,7 @@ class SQLStorage void Load(); void Free(); + void EraseEntry(uint32 id); private: void init(const char * _entry_field, const char * sqlname) {