Changes between Version 43 and Version 44 of Transactions


Ignore:
Timestamp:
02/10/26 18:14:06 (3 weeks ago)
Author:
222039
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Transactions

    v43 v44  
    162162}}}
    163163
     164===== Procedure Cancel Booking
     165За да спречиме паралелна модификација (пр. change seat) да се судри со cancel.
    164166
     167{{{
     168DELIMITER $$
    165169
     170CREATE PROCEDURE sp_cancel_booking(
     171  IN p_booking_id INT
     172)
     173BEGIN
     174  DECLARE exit handler FOR SQLEXCEPTION
     175  BEGIN
     176    ROLLBACK;
     177    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Cancel failed (transaction rolled back).';
     178  END;
     179
     180  START TRANSACTION;
     181
     182  SELECT booking_id
     183  FROM booking
     184  WHERE booking_id = p_booking_id
     185  FOR UPDATE;
     186
     187  DELETE FROM booking
     188  WHERE booking_id = p_booking_id;
     189
     190  COMMIT;
     191END$$
     192
     193DELIMITER ;
     194}}}
     195