[OPEN-ILS-DEV] Functions To Move Or Copy Buckets

James Fournie james.fournie at gmail.com
Thu May 23 19:55:07 EDT 2019


Hi John,

I am not sure how this meshes with your neat functions, but I also filed a
wishlist for this functionality here:
https://bugs.launchpad.net/evergreen/+bug/1815104

On Fri, May 17, 2019 at 6:50 AM John Merriam <jmerriam at biblio.org> wrote:

> Hello.  We recently had a request to copy some buckets from one user to
> another.  I did not see any existing functionality to do that in
> Evergreen.  Moving buckets from one user to another is pretty easy to do
> manually but copying them, not so much.  So, I wrote some functions to
> copy and move buckets from one user to another.  I figured I would share
> them in case someone else finds them useful.
>
> They are in the files attached to this message.  One is a support
> function used by the other four.  These functions only cover the bib
> record and copy buckets since those are the only bucket types we are
> using in our database at the moment.  Making new functions to handle the
> other two bucket types (user and call number) using these functions as
> templates should be fairly straightforward.
>
> To load these in to your database so you can make use of them, you would
> need to change all of the *CHANGEME* strings in each file to the name of
> the schema where you want these functions to live.  I put them in one of
> our local custom schemas.
>
> The four copy/move functions all take the same four arguments.  First is
> the source user id. Second is the destination user id.  Third is an
> optional list of bucket ids (surrounded by quotes, separated by commas).
>   Fourth is a boolean (true or false) as to whether the third bucket
> list argument is inclusive or exclusive.
>
> I should mention that I am not an SQL expert so there may be better ways
> to do this.  It is also possible that something like this already exists
> somewhere and we just missed it.
>
> Here are a few usage examples:
>
> To move all copy buckets from userid 10 to user 20:
>
> SELECT YOURSCHEMA.move_container_copy(10, 20, NULL, FALSE);
>
>
> To copy only one bib record bucket with bucket id 103:
>
> SELECT YOURSCHEMA.copy_container_bib_rec(10, 20, '103', TRUE);
>
>
> To move all copy buckets EXCEPT bucket ids 204 and 206:
>
> SELECT YOURSCHEMA.move_container_copy(10, 20, '204,206', FALSE);
>
>
> Any bucket ids specified in the third parameter need to belong to the
> source user or they wont be copied/moved.
>
> --
>
> John Merriam
> Evergreen Systems Specialist
> Bibliomation, Inc.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://libmail.georgialibraries.org/pipermail/open-ils-dev/attachments/20190523/22f96d21/attachment-0001.html>


More information about the Open-ils-dev mailing list