Advertisement
A248

A MariaDB stored function which causes a multi-valued insert to partially complete

Jun 28th, 2021
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. CREATE TABLE partners (
  2. user_id INT NOT NULL,
  3. partner_id INT NOT NULL,
  4. PRIMARY KEY (user_id),
  5. INDEX partner_index (partner_id)
  6. );
  7.  
  8. CREATE FUNCTION add_partner
  9. (user_identifier INT,
  10. partner_identifier INT)
  11. RETURNS BOOLEAN
  12. MODIFIES SQL DATA
  13. COMMENT 'True indicates parter added, false one of them is already partnered'
  14. BEGIN
  15. -- Catch duplicate key errors from insert
  16. DECLARE EXIT HANDLER FOR 1062
  17. BEGIN
  18. RETURN FALSE;
  19. END;
  20. INSERT INTO partners (user_id, partner_id) VALUES (user_identifier, partner_identifier), (partner_identifier, user_identifier);
  21. RETURN TRUE;
  22. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement