Files
TCPlayerbotCore/src/server/database/Database/Implementation/HotfixDatabase.h
T

300 lines
6.5 KiB
C++

/*
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _HOTFIXDATABASE_H
#define _HOTFIXDATABASE_H
#include "DatabaseWorkerPool.h"
#include "MySQLConnection.h"
enum HotfixDatabaseStatements
{
/* Naming standard for defines:
{DB}_{SEL/INS/UPD/DEL/REP}_{Summary of data changed}
When updating more than one field, consider looking at the calling function
name for a suiting suffix.
*/
HOTFIX_SEL_ACHIEVEMENT,
HOTFIX_SEL_ACHIEVEMENT_LOCALE,
HOTFIX_SEL_AREA_GROUP_MEMBER,
HOTFIX_SEL_AUCTION_HOUSE,
HOTFIX_SEL_AUCTION_HOUSE_LOCALE,
HOTFIX_SEL_BARBER_SHOP_STYLE,
HOTFIX_SEL_BARBER_SHOP_STYLE_LOCALE,
HOTFIX_SEL_BATTLE_PET_BREED_QUALITY,
HOTFIX_SEL_BATTLE_PET_BREED_STATE,
HOTFIX_SEL_BATTLE_PET_SPECIES,
HOTFIX_SEL_BATTLE_PET_SPECIES_LOCALE,
HOTFIX_SEL_BATTLE_PET_SPECIES_STATE,
HOTFIX_SEL_BROADCAST_TEXT,
HOTFIX_SEL_BROADCAST_TEXT_LOCALE,
HOTFIX_SEL_CHAR_START_OUTFIT,
HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES,
HOTFIX_SEL_CINEMATIC_SEQUENCES,
HOTFIX_SEL_CREATURE_DISPLAY_INFO,
HOTFIX_SEL_CREATURE_DISPLAY_INFO_LOCALE,
HOTFIX_SEL_CREATURE_TYPE,
HOTFIX_SEL_CREATURE_TYPE_LOCALE,
HOTFIX_SEL_CRITERIA,
HOTFIX_SEL_CRITERIA_TREE,
HOTFIX_SEL_CRITERIA_TREE_LOCALE,
HOTFIX_SEL_CURRENCY_TYPES,
HOTFIX_SEL_CURRENCY_TYPES_LOCALE,
HOTFIX_SEL_CURVE_POINT,
HOTFIX_SEL_DESTRUCTIBLE_MODEL_DATA,
HOTFIX_SEL_DURABILITY_QUALITY,
HOTFIX_SEL_GAMEOBJECTS,
HOTFIX_SEL_GAMEOBJECTS_LOCALE,
HOTFIX_SEL_GAME_TABLES,
HOTFIX_SEL_GAME_TABLES_LOCALE,
HOTFIX_SEL_GARR_ABILITY,
HOTFIX_SEL_GARR_ABILITY_LOCALE,
HOTFIX_SEL_GARR_BUILDING,
HOTFIX_SEL_GARR_BUILDING_LOCALE,
HOTFIX_SEL_GARR_BUILDING_PLOT_INST,
HOTFIX_SEL_GARR_CLASS_SPEC,
HOTFIX_SEL_GARR_CLASS_SPEC_LOCALE,
HOTFIX_SEL_GARR_FOLLOWER,
HOTFIX_SEL_GARR_FOLLOWER_LOCALE,
HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY,
HOTFIX_SEL_GARR_PLOT,
HOTFIX_SEL_GARR_PLOT_LOCALE,
HOTFIX_SEL_GARR_PLOT_BUILDING,
HOTFIX_SEL_GARR_PLOT_INSTANCE,
HOTFIX_SEL_GARR_PLOT_INSTANCE_LOCALE,
HOTFIX_SEL_GARR_SITE_LEVEL,
HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST,
HOTFIX_SEL_GLYPH_SLOT,
HOTFIX_SEL_GUILD_PERK_SPELLS,
HOTFIX_SEL_HEIRLOOM,
HOTFIX_SEL_HEIRLOOM_LOCALE,
HOTFIX_SEL_HOLIDAYS,
HOTFIX_SEL_HOLIDAYS_LOCALE,
HOTFIX_SEL_IMPORT_PRICE_ARMOR,
HOTFIX_SEL_IMPORT_PRICE_QUALITY,
HOTFIX_SEL_IMPORT_PRICE_SHIELD,
HOTFIX_SEL_IMPORT_PRICE_WEAPON,
HOTFIX_SEL_ITEM_APPEARANCE,
HOTFIX_SEL_ITEM_BONUS,
HOTFIX_SEL_ITEM_BONUS_TREE_NODE,
HOTFIX_SEL_ITEM_CLASS,
HOTFIX_SEL_ITEM_CLASS_LOCALE,
HOTFIX_SEL_ITEM_CURRENCY_COST,
HOTFIX_SEL_ITEM_DISENCHANT_LOOT,
HOTFIX_SEL_ITEM_EFFECT,
HOTFIX_SEL_ITEM,
HOTFIX_SEL_ITEM_EXTENDED_COST,
HOTFIX_SEL_ITEM_LIMIT_CATEGORY,
HOTFIX_SEL_ITEM_LIMIT_CATEGORY_LOCALE,
HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE,
HOTFIX_SEL_ITEM_PRICE_BASE,
HOTFIX_SEL_ITEM_RANDOM_PROPERTIES,
HOTFIX_SEL_ITEM_RANDOM_PROPERTIES_LOCALE,
HOTFIX_SEL_ITEM_RANDOM_SUFFIX,
HOTFIX_SEL_ITEM_RANDOM_SUFFIX_LOCALE,
HOTFIX_SEL_ITEM_SPARSE,
HOTFIX_SEL_ITEM_SPARSE_LOCALE,
HOTFIX_SEL_ITEM_SPEC,
HOTFIX_SEL_ITEM_SPEC_OVERRIDE,
HOTFIX_SEL_ITEM_TO_BATTLE_PET_SPECIES,
HOTFIX_SEL_ITEM_X_BONUS_TREE,
HOTFIX_SEL_KEY_CHAIN,
HOTFIX_SEL_MAIL_TEMPLATE,
HOTFIX_SEL_MAIL_TEMPLATE_LOCALE,
HOTFIX_SEL_MODIFIER_TREE,
HOTFIX_SEL_MOUNT,
HOTFIX_SEL_MOUNT_LOCALE,
HOTFIX_SEL_MOUNT_CAPABILITY,
HOTFIX_SEL_MOUNT_TYPE_X_CAPABILITY,
HOTFIX_SEL_NAME_GEN,
HOTFIX_SEL_NAME_GEN_LOCALE,
HOTFIX_SEL_NAMES_PROFANITY,
HOTFIX_SEL_NAMES_RESERVED,
HOTFIX_SEL_NAMES_RESERVED_LOCALE,
HOTFIX_SEL_OVERRIDE_SPELL_DATA,
HOTFIX_SEL_PHASE_X_PHASE_GROUP,
HOTFIX_SEL_PLAYER_CONDITION,
HOTFIX_SEL_PLAYER_CONDITION_LOCALE,
HOTFIX_SEL_QUEST_MONEY_REWARD,
HOTFIX_SEL_QUEST_PACKAGE_ITEM,
HOTFIX_SEL_QUEST_SORT,
HOTFIX_SEL_QUEST_SORT_LOCALE,
HOTFIX_SEL_QUEST_V2,
HOTFIX_SEL_QUEST_XP,
HOTFIX_SEL_SCALING_STAT_DISTRIBUTION,
HOTFIX_SEL_SOUND_ENTRIES,
HOTFIX_SEL_SOUND_ENTRIES_LOCALE,
HOTFIX_SEL_SPECIALIZATION_SPELLS,
HOTFIX_SEL_SPECIALIZATION_SPELLS_LOCALE,
HOTFIX_SEL_SPELL_AURA_RESTRICTIONS,
HOTFIX_SEL_SPELL_CASTING_REQUIREMENTS,
HOTFIX_SEL_SPELL_CAST_TIMES,
HOTFIX_SEL_SPELL_CLASS_OPTIONS,
HOTFIX_SEL_SPELL_DURATION,
HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT_CONDITION,
HOTFIX_SEL_SPELL_LEARN_SPELL,
HOTFIX_SEL_SPELL_MISC,
HOTFIX_SEL_SPELL_POWER,
HOTFIX_SEL_SPELL_POWER_DIFFICULTY,
HOTFIX_SEL_SPELL_RADIUS,
HOTFIX_SEL_SPELL_RANGE,
HOTFIX_SEL_SPELL_RANGE_LOCALE,
HOTFIX_SEL_SPELL_REAGENTS,
HOTFIX_SEL_SPELL_RUNE_COST,
HOTFIX_SEL_SPELL_TOTEMS,
HOTFIX_SEL_SPELL_X_SPELL_VISUAL,
HOTFIX_SEL_TAXI_NODES,
HOTFIX_SEL_TAXI_NODES_LOCALE,
HOTFIX_SEL_TAXI_PATH,
HOTFIX_SEL_TAXI_PATH_NODE,
HOTFIX_SEL_TOTEM_CATEGORY,
HOTFIX_SEL_TOTEM_CATEGORY_LOCALE,
HOTFIX_SEL_TOY,
HOTFIX_SEL_TOY_LOCALE,
HOTFIX_SEL_TRANSPORT_ANIMATION,
HOTFIX_SEL_TRANSPORT_ROTATION,
HOTFIX_SEL_UNIT_POWER_BAR,
HOTFIX_SEL_UNIT_POWER_BAR_LOCALE,
HOTFIX_SEL_WORLD_MAP_OVERLAY,
HOTFIX_SEL_WORLD_MAP_OVERLAY_LOCALE,
MAX_HOTFIXDATABASE_STATEMENTS
};
class HotfixDatabaseConnection : public MySQLConnection
{
public:
typedef HotfixDatabaseStatements Statements;
//- Constructors for sync and async connections
HotfixDatabaseConnection(MySQLConnectionInfo& connInfo) : MySQLConnection(connInfo) { }
HotfixDatabaseConnection(ProducerConsumerQueue<SQLOperation*>* q, MySQLConnectionInfo& connInfo) : MySQLConnection(q, connInfo) { }
//- Loads database type specific prepared statements
void DoPrepareStatements() override;
};
typedef DatabaseWorkerPool<HotfixDatabaseConnection> HotfixDatabaseWorkerPool;
#endif