[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