diff options
author | Adam <Adam@anope.org> | 2011-04-28 19:13:44 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-04-28 19:13:44 -0400 |
commit | 7da33344d10f4323d9811c68398fe8bb836979b1 (patch) | |
tree | 73afa5cdc97622cccfe8110d83378d40dd8bfebd | |
parent | cbdb9f59f3ba19a634ad633cd1ed27e07d477256 (diff) |
Added a unique key for the anope_cs_mlock table
-rw-r--r-- | data/mysql/tables.sql | 42 | ||||
-rw-r--r-- | modules/extra/db_mysql.cpp | 4 |
2 files changed, 17 insertions, 29 deletions
diff --git a/data/mysql/tables.sql b/data/mysql/tables.sql index 54699c4c8..9fc0e55a0 100644 --- a/data/mysql/tables.sql +++ b/data/mysql/tables.sql @@ -3,7 +3,7 @@ -- http://www.phpmyadmin.net -- -- Host: localhost --- Generation Time: Mar 09, 2011 at 01:23 AM +-- Generation Time: Apr 28, 2011 at 07:08 PM -- Server version: 5.1.50 -- PHP Version: 5.3.3-pl1-gentoo @@ -158,6 +158,7 @@ CREATE TABLE IF NOT EXISTS `anope_cs_mlock` ( `setter` varchar(255) NOT NULL, `created` int(11) NOT NULL, `param` varchar(255) NOT NULL, + UNIQUE KEY `entry` (`channel`,`mode`,`status`,`setter`,`param`), KEY `FK_anope_cs_mlock` (`channel`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -368,90 +369,77 @@ CREATE TABLE IF NOT EXISTS `anope_os_xlines` ( -- Constraints for table `anope_bs_badwords` -- ALTER TABLE `anope_bs_badwords` - ADD CONSTRAINT `FK_anope_bs_badwords_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE -ON UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_bs_badwords_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_bs_info_metadata` -- ALTER TABLE `anope_bs_info_metadata` - ADD CONSTRAINT `FK_anope_bs_info_metadata_botname` FOREIGN KEY (`botname`) REFERENCES `anope_bs_core` (`nick`) ON DELETE -CASCADE ON UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_bs_info_metadata_botname` FOREIGN KEY (`botname`) REFERENCES `anope_bs_core` (`nick`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_cs_access` -- ALTER TABLE `anope_cs_access` - ADD CONSTRAINT `FK_anope_cs_access_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON -UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_cs_access_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_cs_akick` -- ALTER TABLE `anope_cs_akick` - ADD CONSTRAINT `FK_anope_cs_akick_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON -UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_cs_akick_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_cs_info_metadata` -- ALTER TABLE `anope_cs_info_metadata` - ADD CONSTRAINT `FK_anope_cs_info_metadata_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE -CASCADE ON UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_cs_info_metadata_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_cs_levels` -- ALTER TABLE `anope_cs_levels` - ADD CONSTRAINT `FK_anope_cs_levels_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON -UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_cs_levels_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_cs_mlock` -- ALTER TABLE `anope_cs_mlock` - ADD CONSTRAINT `FK_anope_cs_mlock_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON -UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_cs_mlock_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_cs_ttb` -- ALTER TABLE `anope_cs_ttb` - ADD CONSTRAINT `FK_anope_cs_ttb_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON -UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_cs_ttb_channel` FOREIGN KEY (`channel`) REFERENCES `anope_cs_info` (`name`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_hs_core` -- ALTER TABLE `anope_hs_core` - ADD CONSTRAINT `FK_anope_hs_core_nick` FOREIGN KEY (`nick`) REFERENCES `anope_ns_alias` (`nick`) ON DELETE CASCADE ON UPDATE -CASCADE; + ADD CONSTRAINT `FK_anope_hs_core_nick` FOREIGN KEY (`nick`) REFERENCES `anope_ns_alias` (`nick`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_ms_info` -- ALTER TABLE `anope_ms_info` - ADD CONSTRAINT `FK_anope_ms_info_receiver` FOREIGN KEY (`receiver`) REFERENCES `anope_ns_alias` (`nick`) ON DELETE CASCADE ON -UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_ms_info_receiver` FOREIGN KEY (`receiver`) REFERENCES `anope_ns_alias` (`nick`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_ns_access` -- ALTER TABLE `anope_ns_access` - ADD CONSTRAINT `FK_anope_ns_access_display` FOREIGN KEY (`display`) REFERENCES `anope_ns_core` (`display`) ON DELETE CASCADE -ON UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_ns_access_display` FOREIGN KEY (`display`) REFERENCES `anope_ns_core` (`display`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_ns_alias` -- ALTER TABLE `anope_ns_alias` - ADD CONSTRAINT `FK_anope_ns_alias_display` FOREIGN KEY (`display`) REFERENCES `anope_ns_core` (`display`) ON DELETE CASCADE -ON UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_ns_alias_display` FOREIGN KEY (`display`) REFERENCES `anope_ns_core` (`display`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Constraints for table `anope_ns_alias_metadata` -- ALTER TABLE `anope_ns_alias_metadata` - ADD CONSTRAINT `FK_anope_ns_alias_metadata_nick` FOREIGN KEY (`nick`) REFERENCES `anope_ns_alias` (`nick`) ON DELETE CASCADE -ON UPDATE CASCADE; + ADD CONSTRAINT `FK_anope_ns_alias_metadata_nick` FOREIGN KEY (`nick`) REFERENCES `anope_ns_alias` (`nick`) ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/modules/extra/db_mysql.cpp b/modules/extra/db_mysql.cpp index 650763b6b..9662d75a6 100644 --- a/modules/extra/db_mysql.cpp +++ b/modules/extra/db_mysql.cpp @@ -937,7 +937,7 @@ class DBMySQL : public Module ChannelMode *cm = ModeManager::FindChannelModeByName(ml.name); if (cm != NULL) - this->RunQuery("INSERT INTO `anope_cs_mlock` (channel, mode, status, setter, created, param) VALUES('" + this->Escape(ci->name) + "', '" + cm->NameAsString() + "', " + stringify(ml.set ? 1 : 0) + ", '" + this->Escape(ml.setter) + "', " + stringify(ml.created) + ", '" + this->Escape(ml.param) + "')"); + this->RunQuery("INSERT INTO `anope_cs_mlock` (channel, mode, status, setter, created, param) VALUES('" + this->Escape(ci->name) + "', '" + cm->NameAsString() + "', " + stringify(ml.set ? 1 : 0) + ", '" + this->Escape(ml.setter) + "', " + stringify(ml.created) + ", '" + this->Escape(ml.param) + "') ON DUPLICATE KEY UPDATE channel=VALUES(channel), mode=VALUES(mode), status=VALUES(status), setter=VALUES(setter), created=VALUES(created), param=VALUES(param)"); } } @@ -965,7 +965,7 @@ class DBMySQL : public Module { ChannelMode *cm = ModeManager::FindChannelModeByName(lock->name); if (cm != NULL) - this->RunQuery("INSERT INTO `anope_cs_mlock` (channel, mode, status, setter, created, param) VALUES('" + this->Escape(ci->name) + "', '" + cm->NameAsString() + "', " + stringify(lock->set ? 1 : 0) + ", '" + this->Escape(lock->setter) + "', " + stringify(lock->created) + ", '" + this->Escape(lock->param) + "')"); + this->RunQuery("INSERT INTO `anope_cs_mlock` (channel, mode, status, setter, created, param) VALUES('" + this->Escape(ci->name) + "', '" + cm->NameAsString() + "', " + stringify(lock->set ? 1 : 0) + ", '" + this->Escape(lock->setter) + "', " + stringify(lock->created) + ", '" + this->Escape(lock->param) + "') ON DUPLICATE KEY UPDATE channel=VALUES(channel), mode=VALUES(mode), status=VALUES(status), setter=VALUES(setter), created=VALUES(created), param=VALUES(param)"); return EVENT_CONTINUE; } |