From 596d70640c8f3d049fe3c789d3345edf0b41de24 Mon Sep 17 00:00:00 2001 From: Celestino Bellone Date: Tue, 1 Sep 2015 22:07:12 +0200 Subject: [PATCH] fix data integrity violation while deleting the reservation --- src/main/java/alfio/manager/TicketReservationManager.java | 2 +- src/main/java/alfio/repository/WaitingQueueRepository.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/alfio/manager/TicketReservationManager.java b/src/main/java/alfio/manager/TicketReservationManager.java index 44d072c91c..fd83ca66b7 100644 --- a/src/main/java/alfio/manager/TicketReservationManager.java +++ b/src/main/java/alfio/manager/TicketReservationManager.java @@ -495,8 +495,8 @@ void cleanupExpiredReservations(Date expirationDate) { specialPriceRepository.updateStatusForReservation(expiredReservationIds, Status.FREE.toString()); ticketRepository.resetCategoryIdForUnboundedCategories(expiredReservationIds); ticketRepository.freeFromReservation(expiredReservationIds); - ticketReservationRepository.remove(expiredReservationIds); waitingQueueManager.cleanExpiredReservations(expiredReservationIds); + ticketReservationRepository.remove(expiredReservationIds); } void cleanupExpiredOfflineReservations(Date expirationDate) { diff --git a/src/main/java/alfio/repository/WaitingQueueRepository.java b/src/main/java/alfio/repository/WaitingQueueRepository.java index 5b6090e44b..08b48e9944 100644 --- a/src/main/java/alfio/repository/WaitingQueueRepository.java +++ b/src/main/java/alfio/repository/WaitingQueueRepository.java @@ -47,7 +47,7 @@ public interface WaitingQueueRepository { @Query("update waiting_queue set status = :status where ticket_reservation_id = :reservationId") int updateStatusByReservationId(@Bind("reservationId") String reservationId, @Bind("status") String status); - @Query("update waiting_queue set status = 'EXPIRED' where ticket_reservation_id in (:ticketReservationIds)") + @Query("update waiting_queue set status = 'EXPIRED', ticket_reservation_id = null where ticket_reservation_id in (:ticketReservationIds)") int bulkUpdateExpiredReservations(@Bind("ticketReservationIds") List ticketReservationIds); @Query("select count(*) from waiting_queue where event_id = :eventId and status = 'WAITING'")