# HG changeset patch # User Sebastien Jodogne # Date 1548167752 -3600 # Node ID b559af8fe6e0b393d646f4ed9105326b44482044 # Parent eefbcee7bd7898befa498f55ab41fd2b2f0efcd9 Remove "ASSERT" in SQL for compatibility with older releases of PostgreSQL diff -r eefbcee7bd78 -r b559af8fe6e0 PostgreSQL/NEWS --- a/PostgreSQL/NEWS Tue Jan 22 15:16:05 2019 +0100 +++ b/PostgreSQL/NEWS Tue Jan 22 15:35:52 2019 +0100 @@ -2,6 +2,7 @@ =============================== * Fix build on Debian Buster +* Remove "ASSERT" in SQL for compatibility with older releases of PostgreSQL Release 3.0 (2019-01-21) diff -r eefbcee7bd78 -r b559af8fe6e0 PostgreSQL/Plugins/CreateInstance.sql --- a/PostgreSQL/Plugins/CreateInstance.sql Tue Jan 22 15:16:05 2019 +0100 +++ b/PostgreSQL/Plugins/CreateInstance.sql Tue Jan 22 15:35:52 2019 +0100 @@ -29,40 +29,51 @@ IF patientKey IS NULL THEN -- Must create a new patient - ASSERT studyKey IS NULL; - ASSERT seriesKey IS NULL; - ASSERT instanceKey IS NULL; + IF NOT (studyKey IS NULL AND seriesKey IS NULL AND instanceKey IS NULL) THEN + RAISE EXCEPTION 'Broken invariant'; + END IF; + INSERT INTO Resources VALUES (DEFAULT, 0, patient, NULL) RETURNING internalId INTO patientKey; isNewPatient := 1; ELSE isNewPatient := 0; END IF; - ASSERT NOT patientKey IS NULL; + IF (patientKey IS NULL) THEN + RAISE EXCEPTION 'Broken invariant'; + END IF; IF studyKey IS NULL THEN -- Must create a new study - ASSERT seriesKey IS NULL; - ASSERT instanceKey IS NULL; + IF NOT (seriesKey IS NULL AND instanceKey IS NULL) THEN + RAISE EXCEPTION 'Broken invariant'; + END IF; + INSERT INTO Resources VALUES (DEFAULT, 1, study, patientKey) RETURNING internalId INTO studyKey; isNewStudy := 1; ELSE isNewStudy := 0; END IF; - ASSERT NOT studyKey IS NULL; - + IF (studyKey IS NULL) THEN + RAISE EXCEPTION 'Broken invariant'; + END IF; + IF seriesKey IS NULL THEN -- Must create a new series - ASSERT instanceKey IS NULL; + IF NOT (instanceKey IS NULL) THEN + RAISE EXCEPTION 'Broken invariant'; + END IF; + INSERT INTO Resources VALUES (DEFAULT, 2, series, studyKey) RETURNING internalId INTO seriesKey; isNewSeries := 1; ELSE isNewSeries := 0; END IF; - ASSERT NOT seriesKey IS NULL; - ASSERT instanceKey IS NULL; + IF (seriesKey IS NULL OR NOT instanceKey IS NULL) THEN + RAISE EXCEPTION 'Broken invariant'; + END IF; INSERT INTO Resources VALUES (DEFAULT, 3, instance, seriesKey) RETURNING internalId INTO instanceKey; isNewInstance := 1;