Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DELIMITER $$
- CREATE PROCEDURE gc_vpn_for_disconn()
- BEGIN
- UPDATE
- vpn_pool vp
- LEFT OUTER JOIN (
- SELECT COUNT(vpn_id) AS n_disconnected, vpn_id, cred_id
- FROM vpn_pool GROUP BY cred_id) vp2
- ON vp.vpn_id = vp2.vpn_id
- INNER JOIN vpn_cred_pool cpool
- ON cpool.cred_id = vp.cred_id
- LEFT OUTER JOIN INFORMATION_SCHEMA.PROCESSLIST conns
- ON conns.ID = vp.vpn_conn_id
- SET
- vp.vpn_node = NULL,
- vp.cred_id = NULL,
- vp.vpn_conn_id = -1,
- cpool.cred_busy = cpool.cred_busy - vp2.n_disconnected
- WHERE vp.vpn_node IS NOT NULL AND conns.ID IS NULL;
- END $$
- DELIMITER ;
- -- Errors i get in the logs from time to time:
- 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