All pastes #1571087 Raw Edit

Mysql Trigger

public sql v1 · immutable
#1571087 ·published 2009-09-18 18:49 UTC
rendered paste body
	CREATE TRIGGER update_transfer_history BEFORE UPDATE on xbt_files_users FOR EACH ROW	BEGIN		# Not Seeding		IF NEW.remaining = 0 AND NEW.active = 0 THEN	INSERT INTO transfer_history (uid,fid,uploaded,downloaded,connectable,seeding,seedtime) VALUES (OLD.uid,OLD.fid,NEW.uploaded-OLD.uploaded,NEW.downloaded-OLD.downloaded,NEW.connectable,"0","0") ON DUPLICATE KEY UPDATE uploaded = uploaded+NEW.uploaded-OLD.uploaded, downloaded = downloaded+NEW.downloaded-OLD.downloaded, connectable = NEW.connectable, seeding = "0";	# Stoped seeding		ELSEIF NEW.remaining = 0 AND OLD.active = 1 AND NEW.active = 0 THEN	INSERT INTO transfer_history (uid,fid,uploaded,downloaded,connectable,seeding,seedtime) VALUES (OLD.uid,OLD.fid,NEW.uploaded-OLD.uploaded,NEW.downloaded-OLD.downloaded,NEW.connectable,"0",NEW.mtime-OLD.mtime) ON DUPLICATE KEY UPDATE uploaded = uploaded+NEW.uploaded-OLD.uploaded, downloaded = downloaded+NEW.downloaded-OLD.downloaded, connectable = NEW.connectable, seeding = "0", seedtime = seedtime+NEW.mtime-OLD.mtime;		# Still Seeding		ELSEIF NEW.remaining = 0 AND OLD.active = 1 AND NEW.active = 1 THEN	INSERT INTO transfer_history (uid,fid,uploaded,downloaded,connectable,seeding,seedtime) VALUES (OLD.uid,OLD.fid,NEW.uploaded-OLD.uploaded,NEW.downloaded-OLD.downloaded,NEW.connectable,"1",NEW.mtime-OLD.mtime) ON DUPLICATE KEY UPDATE uploaded = uploaded+NEW.uploaded-OLD.uploaded, downloaded = downloaded+NEW.downloaded-OLD.downloaded, connectable = NEW.connectable, seeding = "1", seedtime = seedtime+NEW.mtime-OLD.mtime;		# Downloading		ELSEIF NEW.remaining > 0 AND OLD.active = 1 AND NEW.active = 1 THEN	INSERT INTO transfer_history (uid,fid,uploaded,downloaded,connectable,seeding,seedtime) VALUES (OLD.uid,OLD.fid,NEW.uploaded-OLD.uploaded,NEW.downloaded-OLD.downloaded,NEW.connectable,"0","0") ON DUPLICATE KEY UPDATE uploaded = uploaded+NEW.uploaded-OLD.uploaded, downloaded = downloaded+NEW.downloaded-OLD.downloaded, connectable = NEW.connectable, seeding = "0", seedtime = seedtime;			# Stoped Downloading		ELSEIF NEW.remaining > 0 AND OLD.active = 1 AND NEW.active = 0  THEN	INSERT INTO transfer_history (uid,fid,uploaded,downloaded,connectable,seeding,seedtime) VALUES (OLD.uid,OLD.fid,NEW.uploaded-OLD.uploaded,NEW.downloaded-OLD.downloaded,NEW.connectable,"0","0") ON DUPLICATE KEY UPDATE uploaded = uploaded+NEW.uploaded-OLD.uploaded, downloaded = downloaded+NEW.downloaded-OLD.downloaded, connectable = NEW.connectable, seeding = "0", seedtime = seedtime;		END IF;	END;