Commit Graph

58 Commits

Author SHA1 Message Date
laserjet
a2a751b9d6 DB: Fixed comments in character_banned table
Closes #1273
2011-04-23 10:56:04 +02:00
Azazel
c36846d78a Core/GM System: rename columns of gm_surveys, gm_subsurveys, gm_tickets and lag_reports tables to lowerCamel, move queries to prepared statements and refactor the code of TicketMgr. 2011-04-19 14:04:18 +06:00
Azazel
a26b4ff95e Core/SQL: fix a few minor mishaps with wrong keys not being updated in commit 5357b1ba77 - fixes import of base characters database (thanks click for pointing out). Closes #1231.
Also rename indexes in recently cleaned tables to have 'idx_' prefix.
Add queries to recreate indexes based on recently modified columns (just to make sure that all indexes are correct).
2011-04-14 11:31:15 +06:00
Azazel
3993b73925 Core/CharDB cleanup: change creature_respawn and gameobject_respawn column names to lowerCamel, rename instance column to instanceId and move all queries to these tables to prepared statements.
Fix import error in character_database.sql.
2011-04-13 17:02:06 +06:00
leak
d4f4f4bfea SQL: Updated char db base 2011-04-12 09:34:35 +02:00
Azazel
5357b1ba77 Core/CharDB Cleanup: alter corpse table making column names lowerCamel and move all queries to prepared statements.
NOTICE: column can be named `guid` only if it represents character guid. All other guids will be renamed to reflect their purpose (like corpseGuid in this specific case)
2011-04-11 14:39:00 +06:00
leak
7935c2f5c2 Core/Arena: Move personalRating to arena_team_member 2011-04-08 21:14:30 +02:00
leak
1e94fc530b SQL/Arena: Fix some warnings with missing default values 2011-04-08 15:57:25 +02:00
Azazel
9f1cc4407a Core/CharDB Cleanup: alter character_homebind table making column names lowerCamel and move all queries to prepared statements. 2011-04-08 17:04:51 +06:00
Azazel
37a6fe2ae7 Core/CharDB Cleanup: alter character_battleground_data table making column names lowerCamel and move all queries to prepared statements. 2011-04-08 11:28:10 +06:00
leak
9456ae7199 SQL/Arena: Removing ambiguous personalRating column until things are sorted out 2011-04-06 11:20:01 +02:00
leak
ae3ab32ea5 Core/Arenas: Refactor arena code and db layout 2011-04-05 21:54:28 +02:00
leak
6eb5014182 SQL: Lost changes in character base sql 2011-03-19 00:23:35 +01:00
Azazel
a959618f31 Core/DB: increase size of phaseMask field in corpse table to allow values larger than 255 2011-03-17 12:33:20 +06:00
Azazel
3973d1b454 CharDB Schema/Cleanup: cleanup channels table:
* rename columns (remove m_ prefix and convert to lowerCamel case);
* rename prepared statements to conform to standards (there is no CLEAN statement).
2011-03-11 17:18:17 +06:00
Azazel
bcd7e45e12 CharDB Schema/Cleanup: cleanup character_tutorial table:
* rename table to account_tutorial, because it holds account specific data;
* rename column account to accountId;
* introduce prepared statements for table.
2011-02-25 00:45:57 +06:00
Azazel
20ab3e4bda CharDB Schema/Cleanup: cleanup account_data and character_account_data tables:
* rename column account to accountId;
* introduce prepared statements for both tables.
2011-02-25 00:44:33 +06:00
Shauren
c2b0bcbd6c Core/Instances: Implemented DungeonEncounter.dbc for creating completed encounters mask to use in packets
Core/Dungeon Finder: Implemented new way of giving random dungeon rewards, linked to DungeonEncounter.dbc
2011-02-03 22:20:40 +01:00
Shauren
464837077a Core/Instances: Implemented hourly instance limit: players are limited to entering 5 instances per hour (account wide limit) 2011-01-24 11:20:30 +01:00
Machiavelli
920b3b0b37 Core/SQL: Add unique table key for (guid, bag, slot) in character_inventory to prevent storing different item entities in the same slot.
NOTE: If you get import errors it's YOUR OWN RESPONSIBILITY to fix current data inconsistencies your database might have.
2011-01-22 19:05:23 +01:00
leak
f7af49291b SQL: Characters db storage type cleanup No. 7 (final) - Note:
- It is _strongly_ recommended to extensively test the recent changes before applying them to live data

- To fully resync the character db layout with TC releases it is recommended to dump the characters table with
mysqldump --no-data characters > characters_database_livedata.sql
and use a diff tool to compare it against sql/base/characters_database.sql
2011-01-20 02:11:49 +01:00
leak
c59ea4726e SQL: Characters db storage type cleanup No. 6 2011-01-20 01:02:24 +01:00
leak
a486eb0c2f SQL: Characters db storage type cleanup No. 5 2011-01-20 00:08:45 +01:00
leak
a7df9ddff1 SQL: Characters db storage type cleanup No. 4 2011-01-19 22:46:21 +01:00
leak
471b6f138d SQL: Characters db storage type cleanup No. 3 - Note:
There is a chance that you will be getting importing errors / data truncation warnings because of ancient invalid pet names.
SELECT * FROM character_pet WHERE CHAR_LENGTH(`name`) > 21;
2011-01-19 18:51:00 +01:00
leak
c306acf298 SQL: Characters db storage type cleanup No. 2 2011-01-19 14:04:33 +01:00
leak
b8210f4396 SQL: Characters db storage type cleanup #1 - Note:
- MySQL numeric types can NOT be altered in value range or or storage size at all, so things like INT(32) are entirely pointless. As TC currently doesn't use the display width of numeric types, use the default width to avoid confusion. (see MySQL numeric types docs)

- Timestamps can be stored as INT(10) UNSIGNED. As the max value of this type is 4294967295 which translates into year 2106 using it as timestamp we are NOT affected by the year 2038 bug. If the timestamp needs to be negative in some cases, i.e. for displaying infinity using -1, use BIGINT(20) instead.

- Do NOT set ROW_FORMAT for InnoDB tables unless you specifically want COMPRESSED tables (which we don't for performance reasons). MySQL will chose the appropriate ROW_FORMAT by itself depending on the innodb_file_format setting of the server. (FIXED is only available for MyISAM)

- Even though VARCHAR does require less storage space than CHAR for values with variable length, the length still needs to be chosen wisely as this doesn't apply to memory consumption.
2011-01-19 02:53:44 +01:00
leak
719ffeb414 SQL: Resync characters db base SQL with rollups and redump with recent mysqldump version in preparation for char db storage type cleanup 2011-01-19 01:31:08 +01:00
linencloth
b150172521 Core/QuestStatus:
- Separate rewarded quests from active quests, and store them in a new table to reduce database size
- Drop the no longer needed `rewarded` column from character_queststatus for smaller table size
- Prevent filling the database with dropped quests
  - Delete useless records
- Implement queststatus save "queues" instead of states
- Minor optimizations

WARNING: Backup your database!

--HG--
branch : trunk
2010-12-26 04:16:18 +01:00
Xanadu
cfa26522ad Core: Fixed occasional wrong order of async operations at respawn time saving. Closes issue #5239.
DB schema: Sorted out a discrepancy in respawn time column format.

--HG--
branch : trunk
2010-12-23 05:49:23 +01:00
Shauren
89f2870b97 Core/Auras: Save cast item guids for auras to db
--HG--
branch : trunk
2010-12-20 14:55:36 +01:00
azazel
b39b8fdd0d DB Schema/Characters: removed columns auctionhouse.item_template, character_inventory.item_template, guild_bank_item.item_entry and mail_items.item_template and created item_instance.itemEntry column instead of them.
As a side effect moved related queries to prepared statements.
As one more side effect fixed not shown and lost mail items in returned expired mail (patch by Quriq14).

--HG--
branch : trunk
2010-12-15 14:08:12 +06:00
click
bc098658c6 Core/Chat: Configure automatic owner declaration for custom chat channels (patch by leak)
Closes issue 4974.

--HG--
branch : trunk
2010-12-02 03:54:52 +01:00
click
aa35190c42 Core/Database: Adjust character database fields to have an existing default value (group_member) - fixes a transactionerror
--HG--
branch : trunk
2010-12-01 18:17:33 +01:00
click
5cd3904059 Core/DBLayer: Move tables reserved_name, gameobject_respawn and creature_respawn from WORLD database to CHARACTER database as it's content is realm-specific and should be preserved (thanks to leak for the cleanup)
*** TO PRESERVE (COPY) THE DATA CONTAINED IN THE OLD TABLES, YOU MUST FOLLOW THE FOLLOWING SQL-RECIPE (REPLACE DATABASENAMES WHERE NEEDED!) ***

-- Move creature_respawn from world to characters db
INSERT INTO `characters`.`creature_respawn` (`guid`, `respawntime`, `instance`)
SELECT `guid, `respawntime` `instance` * FROM `world`.`creature_respawn`;
-- Remove creature_respawn table from world db
DROP TABLE `world`.`creature_respawn`;

-- Move gameobject_respawn from world to characters db
INSERT INTO `characters`.`gameobject_respawn` (`guid`, `respawntime`, `instance`)
SELECT `guid`, `respawntime`, `instance` FROM `world`.`gameobject_respawn`;
-- Remove creature_respawn table from world db
DROP TABLE `world`.`gameobject_respawn`;

-- Move reserved names from world to characters db
INSERT INTO `characters`.`reserved_name` (`name`)
SELECT `name` FROM `world`.`reserved_name`;
-- Remove reserved_names table from world db
DROP TABLE `world`.`reserved_name`;

*** THE ABOVE MUST BE DONE, OR EXISTING INSTANCES WILL BE FULLY RESPAWNED - YOU HAVE BEEN WARNED ***
Closes issue 4842. Closes issue 4849.

--HG--
branch : trunk
2010-11-19 15:53:14 +01:00
azazel
c0faed2251 Core/Guilds: guild code was completely refactored and rewritten.
* OOP desing and implementation;
* all the queries are moved to prepared statements;
* guild loading is optimized;
* all the possible interaction with guild's data is done inside the guild class;
* added more hooks to GuildScript class;

WARNING: Make sure you backup your characters database before applying this change (just in case).

Known problems with guilds:
* when new member is added to the guild, MOTD is not displayed for him in guild tab of social window;
* if you add item with random property to guild bank visual representation of item below it becomes wrong (it displays wrong stack number);
* packets order differs from official: currently guild bank packet traffic is twice as more than on offy.

--HG--
branch : trunk
2010-10-17 19:54:13 +06:00
Shocker
894b2081b3 Core/DB: Adjust max values for some columns in character_queststatus
--HG--
branch : trunk
2010-09-27 00:38:22 +03:00
Shauren
d8ddf38453 Core/Items: Implemented trading soulbound loot items
Core/DBLayer: Converted more more player-related queries into prepared statements
Core/Items: Fixed loading of enchantments

Closes issue #4130.

--HG--
branch : trunk
2010-09-21 21:55:16 +02:00
Shauren
97aeb251b8 Core/Players: Added support for single character bans
Core/Commands: Renamed .ban character to .ban playeraccount (.ban character will ban only the player, not account)

This revision reaches 10000, congratulations and thanks to everyone who contributed!

--HG--
branch : trunk
2010-09-19 17:02:14 +02:00
Shauren
102e51d620 Core/Pools: Implemented quest pooling
Core/DBLayer: Added GetNumRows() method to PreparedResultSet

--HG--
branch : trunk
2010-09-14 13:56:27 +02:00
Shocker
de9ed810ef Core/Guilds: Fix Guild bank event log for big stacks, fixes issue 3996, thanks maketheking for pointing out the problem
--HG--
branch : trunk
2010-09-13 22:41:32 +03:00
Spp
279d40efdc Core/Groups: Store group member roles to DB
--HG--
branch : trunk
2010-09-10 13:40:20 +02:00
Spp
fd14d7195f Core: Minor code cleanup before next commits
--HG--
branch : trunk
2010-09-10 13:37:33 +02:00
Shocker
e6450df9c4 DB-Schema/Characters: Add indexes for some columns used in JOINs in the core
--HG--
branch : trunk
2010-09-06 01:38:50 +03:00
Machiavelli
e3957bd6de DB-Schema/Characters: Store game_event_save.next_start as unix timestamp and remove runtime typecasts for this field.
--HG--
branch : trunk
2010-09-04 18:01:03 +02:00
Shocker
55c54c9ad2 Database/Table: Forgotten data from previous commit regarding auctionhousebot removal
--HG--
branch : trunk
2010-09-02 17:43:27 +03:00
Shocker
661cd04c27 Remove auctionhousebot from base too
--HG--
branch : trunk
2010-09-02 17:37:32 +03:00
Spp
90a2e23a97 SQLS/Creation: Fix default engine for tables in world and characters
--HG--
branch : trunk
2010-09-01 12:51:35 +02:00
Shocker
72358a1b5f * Include needed SQL data for Lord Marrowgar / Deathbringer Saurfang
* Small SQL correction from a previous commit, MySQL doesn't allow default value for a LONGTEXT on Windows, unlinke Linux where it's only a warning

--HG--
branch : trunk
2010-08-30 09:26:28 +03:00
silinoron
08205afcc9 Rewrite much of the GM ticket system
* Extract storage and manipulation of tickets to TicketMgr (from ObjectMgr)
* Extract ticket commands to TicketCommands.cpp
* Adds support for sending GM responses and GM surveys.
* Fix structure of several ticket-related packets.
* Add support for understanding lag reports.
* Thanks Zor for some of the packet structures, and Cyrax for some sniffs
* Please report any issues encountered via the tracker.

--HG--
branch : trunk
2010-08-29 20:28:14 -07:00