39 {
41
43 if (!result)
44 {
45 LOG_WARN(
"server.loading",
">> Loaded 0 known addons. DB table `addons` is empty!");
47 return;
48 }
49
51
52 do
53 {
54 Field* fields = result->Fetch();
55
56 std::string name = fields[0].
Get<std::string>();
58
59 m_knownAddons.push_back(
SavedAddon(name, crc));
60
61 ++count;
62 } while (result->NextRow());
63
66
68 result =
CharacterDatabase.Query(
"SELECT id, name, version, UNIX_TIMESTAMP(timestamp) FROM banned_addons");
69
70 if (result)
71 {
74
75 do
76 {
77 Field* fields = result->Fetch();
78
81 addon.Timestamp =
uint32(fields[3].Get<uint64>());
84
86
87 ++count2;
88 } while (result->NextRow());
89
92 }
93 }
std::uint32_t uint32
Definition: Define.h:108
#define LOG_INFO(filterType__,...)
Definition: Log.h:167
#define LOG_WARN(filterType__,...)
Definition: Log.h:163
uint32 GetMSTimeDiffToNow(uint32 oldMSTime)
Definition: Timer.h:131
uint32 getMSTime()
Definition: Timer.h:103
DatabaseWorkerPool< CharacterDatabaseConnection > CharacterDatabase
Accessor to the character database.
Definition: DatabaseEnv.cpp:21
std::shared_ptr< ResultSet > QueryResult
Definition: DatabaseEnvFwd.h:28
BannedAddonList m_bannedAddons
Definition: AddonMgr.cpp:35
static Digest GetDigestOf(uint8 const *data, size_t len)
Definition: CryptoHash.h:53
Class used to access individual fields of database query result.
Definition: Field.h:99
std::enable_if_t< std::is_arithmetic_v< T >, T > Get() const
Definition: Field.h:113
Definition: AddonMgr.h:40
Definition: AddonMgr.h:51
uint32 Id
Definition: AddonMgr.h:52