|
|
@@ -0,0 +1,50 @@
|
|
|
+DROP FUNCTION IF EXISTS get_data_migration_offset;
|
|
|
+DELIMITER $$
|
|
|
+CREATE FUNCTION get_data_migration_offset(table_name VARCHAR(100), p_id BIGINT(20),cur_offset INT(11))
|
|
|
+ RETURNS INT(255)
|
|
|
+ BEGIN
|
|
|
+ DECLARE x INT (11) DEFAULT 0;
|
|
|
+ IF table_name = 'wcmdocument' THEN
|
|
|
+ SET x = IFNULL((SELECT offset from document_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
|
|
|
+ IF x = 0 THEN
|
|
|
+ SET x = cur_offset;
|
|
|
+ END IF;
|
|
|
+ RETURN x;
|
|
|
+ END IF;
|
|
|
+ IF table_name = 'wcmchannel' THEN
|
|
|
+ SET x = IFNULL((SELECT offset from channel_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
|
|
|
+ IF x = 0 THEN
|
|
|
+ SET x = cur_offset;
|
|
|
+ END IF;
|
|
|
+ RETURN x;
|
|
|
+ END IF;
|
|
|
+ IF table_name = 'wcmwebsite' THEN
|
|
|
+ SET x = IFNULL((SELECT offset from site_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
|
|
|
+ IF x = 0 THEN
|
|
|
+ SET x = cur_offset;
|
|
|
+ END IF;
|
|
|
+ RETURN x;
|
|
|
+ END IF;
|
|
|
+ IF table_name = 'wcmtemplate' THEN
|
|
|
+ SET x = IFNULL((SELECT offset from template_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
|
|
|
+ IF x = 0 THEN
|
|
|
+ SET x = cur_offset;
|
|
|
+ END IF;
|
|
|
+ RETURN x;
|
|
|
+ END IF;
|
|
|
+ IF table_name = 'xwcmtableinfo' THEN
|
|
|
+ SET x = IFNULL((SELECT offset from tableinfo_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
|
|
|
+ IF x = 0 THEN
|
|
|
+ SET x = cur_offset;
|
|
|
+ END IF;
|
|
|
+ RETURN x;
|
|
|
+ END IF;
|
|
|
+ IF table_name = 'xwcmviewinfo' THEN
|
|
|
+ SET x = IFNULL((SELECT offset from viewInfo_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
|
|
|
+ IF x = 0 THEN
|
|
|
+ SET x = cur_offset;
|
|
|
+ END IF;
|
|
|
+ RETURN x;
|
|
|
+ END IF;
|
|
|
+ RETURN -1;
|
|
|
+ END $$
|