In oils_cstore.c: converted several iterator loops to indexed loops.
doFieldMapperSearch always returns a JSON_ARRAY (or NULL). It is
more efficient to traverse such an array with a subscript than with
a jsonIterator, because a subscript doesn't require a malloc and free.
1. In osrfAppInitialize(): reuse the growing_buffer method_name
instead of repeatedly destroying and recreating it. That should
save hundreds of mallocs and frees in the initialization.
2. Also in osrfAppInitialize(): correct an inaccurate debug
message, and rearrange a few lines for clarity.
3. Throughout: replace the dbi_get_* functions, which do lookups
by name, with the corresponding dbi_get_*_idx functions, which
do lookups by index. Lookups by index are faster than lookups
by name, because they don't have to do a search.
1. Added a utility function single_hash() to create simple WHERE
clauses instead of calling jsonParseStringFmt(). This change
avoids the overhead of creating and then parsing a JSON string.
2. In SELECT(), processing an ORDER BY clause: traverse a
JSON_ARRAY with an index instead of an iterator. This change
avoids some mallocs and frees -- and also plugs a memory leak,
since we weren't freeing the iterator.
3. Also in SELECT(), processing an ORDER BY clause: free the
iterator that we use for traversing the hash of classes.
Fix SQL translation script and associated unit tests
It looks like polib became stricter about forcing the line number portion of
filename:line occurrences in the PO to actually be an integer, with the result
of simply concatenating the text "line numbers" that we had been using to
store ID values to the table names.
Now we're using specially formatted translator comments to hold the ID values,
and using the filename:line occurence entries to actually hold the source filename
and line number for occurrences. Fancy that!
Change the interface to doFieldMapperSearch(), and reap some performance
gains that this change makes possible.
Instead of passing the query as two jsonObjects wrapped in a JSON_ARRAY,
pass them as separate parameters. This change makes it possible to
avoid the overhead of constructing a single package to bundle them both.
The resulting code is also, to my eyes, easier to read.
scottmk [Tue, 30 Jun 2009 14:25:00 +0000 (14:25 +0000)]
In usr_merge(): when merging rows from reporter.*_folder,
change the name in order to avoid collisions with existing
rows belonging to the destination user.
scottmk [Tue, 30 Jun 2009 13:06:20 +0000 (13:06 +0000)]
In actor.usr_merge(): when transferring rows from vandelay.queue,
change the name in order to avoid collisions with existing rows
belonging to the destination user.
scottmk [Mon, 29 Jun 2009 18:53:51 +0000 (18:53 +0000)]
In actor.usr_merge(): For each *_bucket table, transfer the buckets
belonging to the source user into the custody of the destination user.
In order to avoid colliding with an existing bucket owned by the
destination user, append the source user's id (in parenthesese) to the
name. If you still get a collision, add successive spaces to the name
and keep trying until you succeed.
erickson [Fri, 26 Jun 2009 19:33:31 +0000 (19:33 +0000)]
returning extra flag in hold possibility check which indicates whether the permitted copy found in the possibility check is both available and lives at the requesting library. also removed a big hunk of old, unused code
erickson [Fri, 26 Jun 2009 16:10:04 +0000 (16:10 +0000)]
org_unit_setting_type management interface. comitted in anticipation of the new org_unit_setting_type table. not yet functional. will add to staff client when it's ready to roll out
erickson [Fri, 26 Jun 2009 15:09:40 +0000 (15:09 +0000)]
open-ils.actor.org_setting.delete is not used. removing to reduce possible org-settings churn as new table is added. use open-ils.actor.org_unit.settings.update instead
erickson [Thu, 25 Jun 2009 13:28:12 +0000 (13:28 +0000)]
adjust the arbitrary print sleep based on the number of items that need printing. this prevents chopping of the data as it's being queued to the printer
erickson [Thu, 25 Jun 2009 03:03:32 +0000 (03:03 +0000)]
when a copy is manually edited and is either deleted or changed into a non-holdable status, reset any holds whose current_copy matches the changed copy
phasefx [Tue, 23 Jun 2009 12:59:20 +0000 (12:59 +0000)]
the middle layer lets staff change the pickup lib of a hold already on the holds shelf if they have the UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF permission. It'll create a new transit. So let the staff client allow it too
erickson [Mon, 22 Jun 2009 20:45:20 +0000 (20:45 +0000)]
Patch from David Christensen to add support for fetching jacket images from Open Library:
Hi folks,
At a suggestion from the #OpenILS-Evergreen IRC channel, I'm putting this out there :-)
This is a patch to /openils/lib/perl5/OpenILS/WWW/AddedContent/Amazon.pm (it probably makes sense if it were to end up as OpenLibrary.pm, or some such) that enables getting book cover images from OpenLibrary (see http://openlibrary.org/dev/docs/api/covers for details on the OpenLibrary API).
A little comment section at the top shows the two changes that need to be made to opensrf.xml as well.
-David
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
erickson [Mon, 22 Jun 2009 18:00:14 +0000 (18:00 +0000)]
define fix_tcn and override parameters before call to biblio_record_replace_marc, because of some unexpected (by me, anyway) handling of =~ in a parameter list
miker [Fri, 19 Jun 2009 21:24:30 +0000 (21:24 +0000)]
Patch from Warren Layton implementing RefWorks export via SuperCat:
"The patch a new transform, MARC21slim2MARCtxt.xsl, which converts MARC
into the MARC-ish plain text format accepted by RefWorks (see [1]).
The patch also adds a new feed to SuperCat, called "marctxt"."
As well as a reworked patch for the default opac skin to expose this
functionality as a link next to the "Place a Hold" link.
scottmk [Fri, 19 Jun 2009 18:08:19 +0000 (18:08 +0000)]
Replace four calls to actor.usr_merge() with simple UPDATEs.
These columns are not included in any unique indexes, so
updating them will not violate any uniqueness constraints.
erickson [Fri, 19 Jun 2009 15:56:47 +0000 (15:56 +0000)]
adding table sql and IDL entries for the staging schema. schema has multiple applications, including patron imports and an external place to store online account applications
scottmk [Tue, 16 Jun 2009 14:44:37 +0000 (14:44 +0000)]
Add a procedure to delete expired circulation history items
in container.copy_bucket_item; also add an index so that this
operation doesn't need a full table scan.
dbs [Mon, 15 Jun 2009 03:32:54 +0000 (03:32 +0000)]
Add some logging to MFHDParser.pm, and prevent returning raw parsing errors to the client
In concert with c13383, this will give cataloguers the ability to fix errors in MFHD records
without requiring a system administrator to manipulate SQL directly. Sweet relief.
dbs [Mon, 15 Jun 2009 03:28:56 +0000 (03:28 +0000)]
Make it possible to edit MFHD records that have gone bad.
Previously, invalid MFHD records would be hidden from the staff client because
they had no holdings to display; now we check for isXUL() and display a default
location of "MFHD" inside the staff client if things are so messed up that even
the location isn't visible.
phasefx [Fri, 12 Jun 2009 20:03:19 +0000 (20:03 +0000)]
make it so 'bundle' must be targeted specifically, otherwise folks might accidentally include build.tar if they package the client into an installer. It's a dev convenience thing for me