Найти в Дзене
62 подписчика

--Тестовый сценарий 5

-- scenario5.sql
--INSERT bookings.bookings
--DELETE book_ref LIKE 'scenario5-TEST%';
CREATE OR REPLACE FUNCTION scenario5() RETURNS integer AS $$
DECLARE
 test_book_ref character varying(60);
BEGIN
  SET application_name = 'scenario5';

  -- Генерируем уникальный book_ref для теста
  test_book_ref := 'scenario5-TEST' || lpad((random() * 999)::INT::text, 2, '0');

-- INSERT тестовой брони
  INSERT INTO bookings.bookings(book_ref, book_date, total_amount)
  VALUES (test_book_ref, now(), 0.0)
  ON CONFLICT (book_ref) DO NOTHING;

PERFORM pg_sleep(0.02);

-- DELETE тестовой брони
  DELETE FROM bookings.bookings
  WHERE book_ref LIKE 'scenario5-TEST%' AND book_date < now() - interval '5 minute';

 return 0 ;
END
$$ LANGUAGE plpgsql;
Около минуты