From c4753e23d686b48d631f5295a36711f8a385b13b Mon Sep 17 00:00:00 2001 From: dbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4> Date: Mon, 1 Feb 2010 01:49:51 +0000 Subject: [PATCH] C-style comment was terminated prematurely by XPath expression in old biblio.flatten_marc() SQL-style comments will avoid that problem and let us keep the old function around for awhile for easy comparison with the new version. git-svn-id: svn://svn.open-ils.org/ILS/trunk@15400 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/sql/Pg/030.schema.metabib.sql | 53 +++++++++++++++--------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/Open-ILS/src/sql/Pg/030.schema.metabib.sql b/Open-ILS/src/sql/Pg/030.schema.metabib.sql index c8a53de7d1..01fc4a460e 100644 --- a/Open-ILS/src/sql/Pg/030.schema.metabib.sql +++ b/Open-ILS/src/sql/Pg/030.schema.metabib.sql @@ -310,33 +310,32 @@ BEGIN END; $func$ LANGUAGE PLPGSQL; -/* -CREATE OR REPLACE FUNCTION biblio.flatten_marc ( TEXT, BIGINT ) RETURNS SETOF metabib.full_rec AS $func$ - SELECT NULL::bigint AS id, NULL::bigint, 'LDR'::char(3), NULL::TEXT, NULL::TEXT, NULL::TEXT, oils_xpath_string( '//*[local-name()="leader"]', $1 ), NULL::tsvector AS index_vector - UNION - SELECT NULL::bigint AS id, NULL::bigint, x.tag::char(3), NULL::TEXT, NULL::TEXT, NULL::TEXT, x.value, NULL::tsvector AS index_vector - FROM oils_xpath_table( - 'id', - 'marc', - 'biblio.record_entry', - '//*[local-name()="controlfield"]/@tag|//*[local-name()="controlfield"]', - 'id=' || $2::TEXT - )x(record int, tag text, value text) - UNION - SELECT NULL::bigint AS id, NULL::bigint, x.tag::char(3), x.ind1, x.ind2, x.subfield, x.value, NULL::tsvector AS index_vector - FROM oils_xpath_table( - 'id', - 'marc', - 'biblio.record_entry', - '//*[local-name()="datafield"]/@tag|' || - '//*[local-name()="datafield"]/@ind1|' || - '//*[local-name()="datafield"]/@ind2|' || - '//*[local-name()="datafield"]/*/@code|' || - '//*[local-name()="datafield"]/*[@code]', - 'id=' || $2::TEXT - )x(record int, tag text, ind1 text, ind2 text, subfield text, value text); -$func$ LANGUAGE SQL; -*/ +/* Old form of biblio.flatten_marc() relied on contrib/xml2 functions that got all crashy in PostgreSQL 8.4 */ +-- CREATE OR REPLACE FUNCTION biblio.flatten_marc ( TEXT, BIGINT ) RETURNS SETOF metabib.full_rec AS $func$ +-- SELECT NULL::bigint AS id, NULL::bigint, 'LDR'::char(3), NULL::TEXT, NULL::TEXT, NULL::TEXT, oils_xpath_string( '//*[local-name()="leader"]', $1 ), NULL::tsvector AS index_vector +-- UNION +-- SELECT NULL::bigint AS id, NULL::bigint, x.tag::char(3), NULL::TEXT, NULL::TEXT, NULL::TEXT, x.value, NULL::tsvector AS index_vector +-- FROM oils_xpath_table( +-- 'id', +-- 'marc', +-- 'biblio.record_entry', +-- '//*[local-name()="controlfield"]/@tag|//*[local-name()="controlfield"]', +-- 'id=' || $2::TEXT +-- )x(record int, tag text, value text) +-- UNION +-- SELECT NULL::bigint AS id, NULL::bigint, x.tag::char(3), x.ind1, x.ind2, x.subfield, x.value, NULL::tsvector AS index_vector +-- FROM oils_xpath_table( +-- 'id', +-- 'marc', +-- 'biblio.record_entry', +-- '//*[local-name()="datafield"]/@tag|' || +-- '//*[local-name()="datafield"]/@ind1|' || +-- '//*[local-name()="datafield"]/@ind2|' || +-- '//*[local-name()="datafield"]/*/@code|' || +-- '//*[local-name()="datafield"]/*[@code]', +-- 'id=' || $2::TEXT +-- )x(record int, tag text, ind1 text, ind2 text, subfield text, value text); +-- $func$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION biblio.flatten_marc ( TEXT ) RETURNS SETOF metabib.full_rec AS $func$ -- 2.11.0