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) = @_;