From 8116ae8e275e305ee91d3aea06df40ffab1f07ab Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Tue, 5 Dec 2017 23:54:41 -0500 Subject: [PATCH] get_marc_leader() Signed-off-by: Jason Etheridge --- sql/base/base.sql | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/sql/base/base.sql b/sql/base/base.sql index 01817db..1c25fcc 100644 --- a/sql/base/base.sql +++ b/sql/base/base.sql @@ -2554,6 +2554,21 @@ CREATE OR REPLACE FUNCTION migration_tools.duplicate_template_but_change_delay ( END; $$ LANGUAGE PLPGSQL STRICT VOLATILE; +CREATE OR REPLACE FUNCTION migration_tools.get_marc_leader (TEXT) RETURNS TEXT AS $$ + my ($marcxml) = @_; + + use MARC::Record; + use MARC::File::XML; + use MARC::Field; + + my $field; + eval { + my $marc = MARC::Record->new_from_xml($marcxml, 'UTF-8'); + $field = $marc->leader(); + }; + return $field; +$$ LANGUAGE PLPERLU STABLE; + CREATE OR REPLACE FUNCTION migration_tools.get_marc_tag (TEXT, TEXT, TEXT, TEXT) RETURNS TEXT AS $$ my ($marcxml, $tag, $subfield, $delimiter) = @_; -- 1.7.2.5