[OPEN-ILS-DEV] Looking for thoughts on Launchpad bug 1482757
Morgan, Michele
mmorgan at noblenet.org
Fri Jan 15 13:16:16 EST 2016
Mike,
Thanks for the quick patch!
We'll take a look.
Michele
--
Michele M. Morgan, Technical Assistant
North of Boston Library Exchange, Danvers Massachusetts
mmorgan at noblenet.org
On Fri, Jan 15, 2016 at 12:58 PM, Mike Rylander <mrylander at gmail.com> wrote:
> Michele,
>
> I don't have time to put together a branch and tests, but here's a
> patch that should does what you want. If I have time in the first
> half of next week, I'll branch-ify it.
>
> -------8<-----------
>
> diff --git a/Open-ILS/src/sql/Pg/030.schema.metabib.sql
> b/Open-ILS/src/sql/Pg/030.schema.metabib.sql
> index 212a201..ab78c8f 100644
> --- a/Open-ILS/src/sql/Pg/030.schema.metabib.sql
> +++ b/Open-ILS/src/sql/Pg/030.schema.metabib.sql
> @@ -1126,16 +1126,9 @@ DECLARE
> uri_id INT;
> uri_cn_id INT;
> uri_map_id INT;
> + current_map_owner_list INT[];
> BEGIN
>
> - -- Clear any URI mappings and call numbers for this bib.
> - -- This leads to acn / auricnm inflation, but also enables
> - -- old acn/auricnm's to go away and for bibs to be deleted.
> - FOR uri_cn_id IN SELECT id FROM asset.call_number WHERE record =
> bib_id AND label = '##URI##' AND NOT deleted LOOP
> - DELETE FROM asset.uri_call_number_map WHERE call_number =
> uri_cn_id;
> - DELETE FROM asset.call_number WHERE id = uri_cn_id;
> - END LOOP;
> -
> uris := oils_xpath('//*[@tag="856" and (@ind1="4" or @ind1="1")
> and (@ind2="0" or @ind2="1")]',marcxml);
> IF ARRAY_UPPER(uris,1) > 0 THEN
> FOR i IN 1 .. ARRAY_UPPER(uris, 1) LOOP
> @@ -1213,6 +1206,8 @@ BEGIN
> INSERT INTO asset.uri_call_number_map
> (call_number, uri) VALUES (uri_cn_id, uri_id);
> END IF;
>
> + current_map_owner_list := current_map_owner_list
> || uri_cn_id
> +
> END LOOP;
>
> END IF;
> @@ -1220,6 +1215,20 @@ BEGIN
> END LOOP;
> END IF;
>
> + -- Clear any URI mappings and call numbers for this bib
> + -- that weren't mapped above.
> + FOR uri_cn_id IN
> + SELECT id
> + FROM asset.call_number
> + WHERE record = bib_id
> + AND label = '##URI##'
> + AND NOT deleted
> + AND NOT (id = ANY (current_map_owner_list))
> + LOOP
> + DELETE FROM asset.uri_call_number_map WHERE call_number =
> uri_cn_id;
> + DELETE FROM asset.call_number WHERE id = uri_cn_id;
> + END LOOP;
> +
> RETURN;
> END;
> $func$ LANGUAGE PLPGSQL;
>
> -------8<-----------
>
> HTH,
>
> --
> Mike Rylander
> | President
> | Equinox Software, Inc. / The Open Source Experts
> | phone: 1-877-OPEN-ILS (673-6457)
> | email: miker at esilibrary.com
> | web: http://www.esilibrary.com
>
>
>
> On Fri, Jan 15, 2016 at 11:39 AM, Morgan, Michele <mmorgan at noblenet.org>
> wrote:
> > Hi,
> >
> > We at NOBLE are wrestling with the issues described in this Launchpad
> bug:
> >
> > https://bugs.launchpad.net/evergreen/+bug/1482757
> >
> > As described in the bug, each time a record with 856 links is loaded,
> > existing URI entries for the matching bib are deleted from the call
> number
> > table, and a new set it is added. We're looking for thoughts on possible
> > approaches to avoid this blanket deletion and addition to the call number
> > table, or otherwise preserve the original create dates of the URIs.
> >
> > Electronic Resources are as much a part of our libraries' collections as
> > print resources and we need to be able to provide the same type of
> holdings
> > reports for these that we do for print items. Right now we are unable to
> > provide monthly reports on numbers of electronic resources added or
> removed
> > since we can't use the create dates from the call number table.
> >
> > We are happy with the way the electronic resources are represented in the
> > catalog. But we are unable to find a way to provide reports our libraries
> > need.
> >
> > Any thoughts on possible approachs to remedy this would be greatly
> > appreciated.
> >
> > Thanks,
> > Michele
> >
> > --
> > Michele M. Morgan, Technical Assistant
> > North of Boston Library Exchange, Danvers Massachusetts
> > mmorgan at noblenet.org
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://libmail.georgialibraries.org/pipermail/open-ils-dev/attachments/20160115/714cd843/attachment.html>
More information about the Open-ils-dev
mailing list