|
|
@@ -502,6 +502,28 @@ ALTER TABLE ONLY users
|
|
|
ADD CONSTRAINT users_network_fkey FOREIGN KEY (network) REFERENCES networks(name) ON UPDATE CASCADE ON DELETE CASCADE;
|
|
|
|
|
|
|
|
|
+
|
|
|
+-- new stuff
|
|
|
+
|
|
|
+CREATE RULE update_username AS ON UPDATE TO users WHERE OLD.name <> NEW.name DO INSTEAD (
|
|
|
+ INSERT INTO users (name, network, last_act_type, last_act_datetime, last_act_channel, last_act_channel_network, last_act, last_act_auxiliary, away, away_reason, xp_spent, level, coin) VALUES (NEW.name, NEW.network, NEW.last_act_type, NEW.last_act_datetime, NEW.last_act_channel, NEW.last_act_channel_network, NEW.last_act, NEW.last_act_auxiliary, NEW.away, NEW.away_reason, NEW.xp_spent, NEW.level, NEW.coin);
|
|
|
+ UPDATE joins SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
|
|
|
+ UPDATE kicks SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
|
|
|
+ UPDATE messages SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
|
|
|
+ DELETE FROM users WHERE name=OLD.name AND network=OLD.network;
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+CREATE RULE update_channel_name AS ON UPDATE TO channels WHERE OLD.name <> NEW.name DO INSTEAD (
|
|
|
+ INSERT INTO channels (name, network, autojoin, join_greeting, statistics_commands, games, aggressiveness, chat, key, last_lame) VALUES (NEW.name, NEW.network, NEW.autojoin, NEW.join_greeting, NEW.statistics_commands, NEW.games, NEW.aggressiveness, NEW.chat, NEW.key, NEW.last_lame);
|
|
|
+ UPDATE joins SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
|
|
|
+ UPDATE kicks SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
|
|
|
+ UPDATE messages SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
|
|
|
+ UPDATE users SET last_act_channel=NEW.name WHERE last_act_channel=OLD.name AND network=OLD.network;
|
|
|
+ DELETE FROM channels WHERE name=OLD.name AND network=OLD.network;
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
--
|
|
|
-- PostgreSQL database dump complete
|
|
|
--
|