Raise warning messages for failed ingest with details from PG
authorMike Rylander <mrylander@gmail.com>
Thu, 20 Oct 2022 15:37:48 +0000 (11:37 -0400)
committerMike Rylander <mrylander@gmail.com>
Thu, 20 Oct 2022 15:37:48 +0000 (11:37 -0400)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.queued_ingest.sql

index a78ead9..c5bfac6 100644 (file)
@@ -317,6 +317,8 @@ $$ LANGUAGE plperlu;
 CREATE OR REPLACE FUNCTION metabib.indexing_delete (bib biblio.record_entry, extra TEXT DEFAULT NULL) RETURNS BOOL AS $func$
 DECLARE
     tmp_bool BOOL;
+    diag_detail     TEXT;
+    diag_context    TEXT;
 BEGIN
     PERFORM * FROM config.internal_flag WHERE name = 'ingest.metarecord_mapping.preserve_on_delete' AND enabled;
     tmp_bool := FOUND;
@@ -336,6 +338,9 @@ BEGIN
 
     RETURN TRUE;
 EXCEPTION WHEN OTHERS THEN
+    GET STACKED DIAGNOSTICS diag_detail  = PG_EXCEPTION_DETAIL,
+                            diag_context = PG_EXCEPTION_CONTEXT;
+    RAISE WARNING '%\n%', diag_detail, diag_context;
     RETURN FALSE;
 END;
 $func$ LANGUAGE PLPGSQL;
@@ -353,6 +358,8 @@ DECLARE
     skip_mrmap   BOOL   := FALSE;
     only_attrs   TEXT[] := NULL;
     only_fields  INT[]  := '{}'::INT[];
+    diag_detail     TEXT;
+    diag_context    TEXT;
 BEGIN
 
     -- Record authority linking
@@ -421,6 +428,9 @@ BEGIN
 
     RETURN TRUE;
 EXCEPTION WHEN OTHERS THEN
+    GET STACKED DIAGNOSTICS diag_detail  = PG_EXCEPTION_DETAIL,
+                            diag_context = PG_EXCEPTION_CONTEXT;
+    RAISE WARNING '%\n%', diag_detail, diag_context;
     RETURN FALSE;
 END;
 $func$ LANGUAGE PLPGSQL;
@@ -428,6 +438,8 @@ $func$ LANGUAGE PLPGSQL;
 CREATE OR REPLACE FUNCTION authority.indexing_delete (auth authority.record_entry, extra TEXT DEFAULT NULL) RETURNS BOOL AS $func$
 DECLARE
     tmp_bool BOOL;
+    diag_detail     TEXT;
+    diag_context    TEXT;
 BEGIN
     DELETE FROM authority.bib_linking WHERE authority = NEW.id; -- Avoid updating fields in bibs that are no longer visible
     DELETE FROM authority.full_rec WHERE record = NEW.id; -- Avoid validating fields against deleted authority records
@@ -440,6 +452,9 @@ BEGIN
 
     RETURN TRUE;
 EXCEPTION WHEN OTHERS THEN
+    GET STACKED DIAGNOSTICS diag_detail  = PG_EXCEPTION_DETAIL,
+                            diag_context = PG_EXCEPTION_CONTEXT;
+    RAISE WARNING '%\n%', diag_detail, diag_context;
     RETURN FALSE;
 END;
 $func$ LANGUAGE PLPGSQL;
@@ -451,6 +466,8 @@ DECLARE
     mbe_row metabib.browse_entry%ROWTYPE;
     mbe_id  BIGINT;
     ash_id  BIGINT;
+    diag_detail     TEXT;
+    diag_context    TEXT;
 BEGIN
 
     -- Unless there's a setting stopping us, propagate these updates to any linked bib records when the heading changes
@@ -505,6 +522,9 @@ BEGIN
 
     RETURN TRUE;
 EXCEPTION WHEN OTHERS THEN
+    GET STACKED DIAGNOSTICS diag_detail  = PG_EXCEPTION_DETAIL,
+                            diag_context = PG_EXCEPTION_CONTEXT;
+    RAISE WARNING '%\n%', diag_detail, diag_context;
     RETURN FALSE;
 END;
 $func$ LANGUAGE PLPGSQL;