Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. DELIMITER $$
  2. CREATE PROCEDURE gc_vpn_for_disconn()
  3. BEGIN
  4. UPDATE
  5. vpn_pool vp
  6. LEFT OUTER JOIN (
  7. SELECT COUNT(vpn_id) AS n_disconnected, vpn_id, cred_id
  8. FROM vpn_pool GROUP BY cred_id) vp2
  9. ON vp.vpn_id = vp2.vpn_id
  10. INNER JOIN vpn_cred_pool cpool
  11. ON cpool.cred_id = vp.cred_id
  12. LEFT OUTER JOIN INFORMATION_SCHEMA.PROCESSLIST conns
  13. ON conns.ID = vp.vpn_conn_id
  14. SET
  15. vp.vpn_node = NULL,
  16. vp.cred_id = NULL,
  17. vp.vpn_conn_id = -1,
  18. cpool.cred_busy = cpool.cred_busy - vp2.n_disconnected
  19. WHERE vp.vpn_node IS NOT NULL AND conns.ID IS NULL;
  20. END $$
  21.  
  22. DELIMITER ;
  23.  
  24. -- Errors i get in the logs from time to time:
  25.  
  26. 110728 3:45:31 [Warning] Event Scheduler: [dbuser@%][routing.gc_vpn_disconn_pass] Column 'cred_busy' cannot be null
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement