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;
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;
skip_mrmap BOOL := FALSE;
only_attrs TEXT[] := NULL;
only_fields INT[] := '{}'::INT[];
+ diag_detail TEXT;
+ diag_context TEXT;
BEGIN
-- Record authority linking
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;
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
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;
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
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;