Core/DB: Merge pool_creature, pool_gameobject and pool_pool into a single pool_members table.

(More pooling prep, I really don't want to have any sql update files in that PR if I can help it.)

(cherry picked from commit 45bc91c238)
This commit is contained in:
Treeston
2019-07-16 19:22:24 +02:00
committed by Shauren
parent 6f6cf975e4
commit 8b78f50556
3 changed files with 35 additions and 12 deletions

View File

@@ -599,8 +599,8 @@ void PoolMgr::LoadFromDB()
{
uint32 oldMSTime = getMSTime();
// 1 2 3
QueryResult result = WorldDatabase.Query("SELECT guid, pool_entry, chance FROM pool_creature");
// 1 2 3
QueryResult result = WorldDatabase.Query("SELECT spawnId, poolSpawnId, chance FROM pool_members WHERE type = 0");
if (!result)
{
@@ -656,8 +656,8 @@ void PoolMgr::LoadFromDB()
{
uint32 oldMSTime = getMSTime();
// 1 2 3
QueryResult result = WorldDatabase.Query("SELECT guid, pool_entry, chance FROM pool_gameobject");
// 1 2 3
QueryResult result = WorldDatabase.Query("SELECT spawnId, poolSpawnId, chance FROM pool_members WHERE type = 1");
if (!result)
{
@@ -727,7 +727,7 @@ void PoolMgr::LoadFromDB()
uint32 oldMSTime = getMSTime();
// 1 2 3
QueryResult result = WorldDatabase.Query("SELECT pool_id, mother_pool, chance FROM pool_pool");
QueryResult result = WorldDatabase.Query("SELECT spawnId, poolSpawnId, chance FROM pool_members WHERE type = 2");
if (!result)
{
@@ -905,9 +905,9 @@ void PoolMgr::LoadFromDB()
{
uint32 oldMSTime = getMSTime();
QueryResult result = WorldDatabase.Query("SELECT DISTINCT pool_template.entry, pool_pool.pool_id, pool_pool.mother_pool FROM pool_template"
QueryResult result = WorldDatabase.Query("SELECT DISTINCT pool_template.entry, pool_members.spawnId, pool_members.poolSpawnId FROM pool_template"
" LEFT JOIN game_event_pool ON pool_template.entry = game_event_pool.pool_entry"
" LEFT JOIN pool_pool ON pool_template.entry = pool_pool.pool_id WHERE game_event_pool.pool_entry IS NULL");
" LEFT JOIN pool_members ON pool_members.type = 2 AND pool_template.entry = pool_members.spawnId WHERE game_event_pool.pool_entry IS NULL");
if (!result)
{