Changes between Version 3 and Version 4 of AdvancedDatabaseDevelopment


Ignore:
Timestamp:
05/28/26 04:13:31 (6 hours ago)
Author:
181201
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedDatabaseDevelopment

    v3 v4  
    1313{{{
    1414#!sql
    15 CREATE OR REPLACE FUNCTION petsitter_trg_booking_validation()
     15CREATE OR REPLACE FUNCTION project.petsitter_trg_booking_validation()
    1616RETURNS trigger
    1717LANGUAGE plpgsql
    1818AS $$
    1919BEGIN
    20   IF NEW.date_from < now() THEN
     20  -- Only prevent past dates when creating a NEW booking, not when updating an existing one
     21  IF TG_OP = 'INSERT' AND NEW.date_from < now() THEN
    2122    RAISE EXCEPTION 'Cannot create a booking in the past (date_from=%)', NEW.date_from;
    2223  END IF;
     
    4748BEFORE INSERT OR UPDATE ON project.bookings
    4849FOR EACH ROW
    49 EXECUTE FUNCTION petsitter_trg_booking_validation();
     50EXECUTE FUNCTION project.petsitter_trg_booking_validation();
    5051}}}
    5152
     
    6465{{{
    6566#!sql
    66 CREATE OR REPLACE FUNCTION petsitter_trg_review_integrity()
     67CREATE OR REPLACE FUNCTION project.petsitter_trg_review_integrity()
    6768RETURNS trigger
    6869LANGUAGE plpgsql
     
    9394BEFORE INSERT ON project.reviews
    9495FOR EACH ROW
    95 EXECUTE FUNCTION petsitter_trg_review_integrity();
     96EXECUTE FUNCTION project.petsitter_trg_review_integrity();
    9697
    9798-- Make reviews non-updateable
    98 CREATE OR REPLACE FUNCTION petsitter_trg_reviews_no_update()
     99CREATE OR REPLACE FUNCTION project.petsitter_trg_reviews_no_update()
    99100RETURNS trigger
    100101LANGUAGE plpgsql
     
    109110BEFORE UPDATE ON project.reviews
    110111FOR EACH ROW
    111 EXECUTE FUNCTION petsitter_trg_reviews_no_update();
     112EXECUTE FUNCTION project.petsitter_trg_reviews_no_update();
    112113}}}
    113114
     
    172173
    173174-- Stored procedure for clean up expired bookings
    174 CREATE OR REPLACE PROCEDURE petsitter_job_expire_pending_bookings()
     175CREATE OR REPLACE PROCEDURE project.petsitter_job_expire_pending_bookings()
    175176LANGUAGE plpgsql
    176177AS $$
     
    195196{{{
    196197-- Schedule the job to run every hour
    197 SELECT cron.schedule('petsitter_expire_bookings', '0 * * * *', $$CALL petsitter_job_expire_pending_bookings();$$);
     198SELECT cron.schedule('petsitter_expire_bookings', '0 * * * *', $$CALL project.petsitter_job_expire_pending_bookings();$$);
    198199}}}