Commit Graph

37 Commits

Author SHA1 Message Date
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
Liberate
5433b99279 Add the sql of rfce5b5c218 to sql/base/characters_database.sql.
Thanks to bitherd for showing me this stupid mistake.

--HG--
branch : trunk
2010-08-28 14:09:57 +02:00
click
fd03b78fe6 Core/SQL: Fix character_database structure-creation - thanks to some number-thingie@qq
Closes issue 3181

--HG--
branch : trunk
2010-07-31 08:58:46 +02:00
Shauren
9bda35c7df Killed the last blob field (corpse)
--HG--
branch : trunk
2010-07-30 15:15:07 +02:00
Shauren
77fc91bde8 Deleted data blob in item_instance
Fixed issues with displaying sockets/enchants/durability on heroic items

--HG--
branch : trunk
2010-07-30 13:15:31 +02:00
Shauren
ade1bbdd62 Remade access_requirement table, now each difficulty mode for each instance has its own entry (for future Dungeon Finder development)
Added completed achievement as new requirement type
Removed obsolete access_id from areatrigger_teleport table
Implemented automatic downscaling of raid difficulty when requested mode does not exist
Changed dungeon_difficulty in characters table to instance_mode_mask saving both dungeon and raid difficulty in form (dungeon diff | raid diff << 4)

--HG--
branch : trunk
2010-07-29 18:11:41 +02:00
Brian
c8662c888b * Implemented DB cleaning on startup
* Must be enabled in conf AND set in worldstates for what you want to clean
* CLEANING_FLAG_ACHIEVEMENT_PROGRESS  = 0x1,
* CLEANING_FLAG_SKILLS                = 0x2,
* CLEANING_FLAG_SPELLS                = 0x4,
* CLEANING_FLAG_TALENTS               = 0x8
* Set to 0xF to clean all 4
* Patch by hunuza

--HG--
branch : trunk
2010-07-22 13:41:19 -06:00
Brian
4320b10901 * Implement the ability to delete characters without them being removed from
* the DB, so they can be unerased
* Original patch by DasBlub
* Ported to Trinty by Az@zel

--HG--
branch : trunk
2010-07-21 12:13:23 -06:00
teacher
94f143ee46 Renamed "realmd" to "auth" in config files.
Renamed "character_database.sql" to "characters_database.sql". (yeah I know, you're gonna hate me, but I'm pedantic!)

--HG--
branch : trunk
2010-07-12 18:00:27 +02:00