Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. DROP PROCEDURE IF EXISTS BuyAndSellRequestAnonymiseJob;;
  2. CREATE PROCEDURE BuyAndSellRequestAnonymiseJob (smbr_expiration_period INT, smbr_cool_period INT, id_PIID INT, account_chng_PIID INT)
  3. BEGIN
  4. SET SESSION tx_isolation='READ-COMMITTED';
  5.  
  6. -- anonymise unsucessful
  7.  
  8. SELECT Nic_Handle, NH_Name, NH_Email, NH_Address
  9. FROM NicHandleHist where Chng_ID = id_PIID INTO @Nic_Handle, @NH_Name, @NH_Email, @NH_Address;
  10.  
  11. SELECT Id FROM SecondaryMarketBuyRequestHist
  12. WHERE
  13. datediff(NOW(),Created_TS) > smbr_expiration_period + smbr_cool_period
  14. AND Status != 'Sold';
  15.  
  16. UPDATE `SecondaryMarketBuyRequestHist` SET
  17. `Chng_NH`=@Nic_Handle,
  18. `D_Holder`='PII Purged',
  19. `Remark`=NULL,
  20. `H_Remark`=NULL,
  21. `Admin_Name`=@NH_Name,
  22. `Admin_Email`=@NH_Email,
  23. `Admin_Co_Name`=@NH_Name,
  24. `Creator_NH_Chng_ID`= id_PIID,
  25. `Account_Chng_ID`= account_chng_PIID,
  26. `Admin_Address` = @NH_Address WHERE
  27. datediff(NOW(),Created_TS) > smbr_expiration_period + smbr_cool_period
  28. AND Id NOT IN (SELECT DISTINCT Id FROM `SecondaryMarketBuyRequestHist` WHERE Status = 'Sold') and `D_Holder`!='PII Purged';
  29.  
  30. SET SESSION tx_isolation='REPEATABLE-READ';
  31. END;;
  32.  
  33. DROP PROCEDURE IF EXISTS BuyAndSellRequestCleanUpJob;;
  34. CREATE PROCEDURE BuyAndSellRequestCleanUpJob (smbr_expiration_period INT, smbr_cool_period INT, smbr_history_retention_period INT, domain_cool_period INT, secondary_market_authcode_expiration_period INT)
  35. BEGIN
  36. SET SESSION tx_isolation='READ-COMMITTED';
  37.  
  38. SELECT DISTINCT Id FROM (
  39. SELECT Id FROM SecondaryMarketBuyRequestHist
  40. WHERE Status != 'Sold' AND
  41. datediff(NOW(),Created_TS) > (IF (Authcode_TS IS NOT NULL, secondary_market_authcode_expiration_period, smbr_expiration_period) + smbr_cool_period + smbr_history_retention_period)
  42. UNION ALL
  43. SELECT Id FROM SecondaryMarketBuyRequestHist SMBRH
  44. LEFT JOIN DomainHist on Domain_Chng_ID = DomainHist.Chng_ID
  45. WHERE SMBRH.Status = 'Sold'
  46. AND DomainHist.Chng_ID IS NULL
  47. ) K;
  48. -- delete SecondaryMarketSellRequestHist
  49.  
  50. DELETE SMSRH
  51. FROM SecondaryMarketSellRequestHist SMSRH
  52. JOIN SecondaryMarketBuyRequestHist SMBRH on BuyRequest_Chng_ID = SMBRH.Chng_ID
  53. JOIN DomainHist DH on Domain_Chng_ID = DH.Chng_ID
  54. JOIN Domain D ON DH.D_Name = D.D_Name
  55. WHERE DH.D_Holder != D.D_Holder
  56. AND datediff(NOW(),SMBRH.Created_TS) > domain_cool_period;
  57.  
  58. -- delete orphans -- that may be slow
  59.  
  60. DELETE SMSRH
  61. FROM SecondaryMarketSellRequestHist SMSRH
  62. JOIN SecondaryMarketBuyRequestHist SMBRH on BuyRequest_Chng_ID = SMBRH.Chng_ID
  63. WHERE Domain_Chng_ID NOT IN (SELECT Chng_ID FROM DomainHist);
  64.  
  65. -- delete unsucesfull SecondaryMarketBuyRequestHist
  66. DELETE IGNORE FROM `SecondaryMarketBuyRequestHist`
  67. WHERE Status != 'Sold' AND
  68. datediff(NOW(),Created_TS) > (IF (Authcode_TS IS NOT NULL, secondary_market_authcode_expiration_period, smbr_expiration_period) + smbr_cool_period + smbr_history_retention_period);
  69.  
  70. -- delete succesfull SecondaryMarketBuyRequestHist (orphaned to domains)
  71. DELETE IGNORE SMBRH FROM SecondaryMarketBuyRequestHist SMBRH
  72. LEFT JOIN DomainHist on Domain_Chng_ID = DomainHist.Chng_ID
  73. WHERE SMBRH.Status = 'Sold'
  74. AND DomainHist.Chng_ID IS NULL;
  75.  
  76. SET SESSION tx_isolation='REPEATABLE-READ';
  77. END;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement