gmc [Mon, 24 Jan 2011 18:43:03 +0000 (18:43 +0000)]
improve performance of multi-class searches
Backport of trunk commit 18233.
For as yet unknown reasons, Postgres sometimes uses
nested loops instead of hash joins when joining subqueries
in a multi-class bib search. This can result in searches
such as "author:rowling title:harry potter" never completing.
Removing the interior limit clause can both speed up the query
and make search results more accurate when combining queries
of two or more common words.
senator [Wed, 19 Jan 2011 21:56:04 +0000 (21:56 +0000)]
Backport r19214 from trunk
Booking: Robert Soulliere spotted and fixed a bug in processing reservation-
related overdue fines. See https://bugs.launchpad.net/evergreen/+bug/705061
miker [Wed, 19 Jan 2011 19:54:05 +0000 (19:54 +0000)]
Build and flatten a tree, correcting a sorting issue in some OU dropdowns.
The previous code assumed that work org units would be delivered in hierarchical order, but alas, they are not. Thus, we build the hierarchy and then flatten it, sorting at each level.
This will be non-fast with many work OUs, but the common case is a small set, which is not painful.
Further improvement is warranted when the above proves false.
phasefx [Wed, 19 Jan 2011 19:45:04 +0000 (19:45 +0000)]
some interfaces (or at least org_unit_settings.js) was not infering the identifier value here. This helps the filtering org select dijit in that interface
dbs [Sat, 1 Jan 2011 21:20:18 +0000 (21:20 +0000)]
Fix exception thrown in MARC editor searching for bib sources
As reported in https://bugs.launchpad.net/evergreen/+bug/695526,
the attempt to retrieve all of the config.bib_source values using
openils.PermaCrud was failing because the retrieveAll() method
relies on fieldmapper.IDL's setting of the
fieldmapper[hint].Identifier property for each class - but in the
1.6 releases, we're still using fmclasses in XUL instead of
fieldmapper.AutoIDL.
So, to fix the direct problem, we can simply set the property
ourselves on the desired class before invoking retrieveAll();
this avoids touching code paths that might have wider unintended
consequences.
gmc [Thu, 23 Dec 2010 13:51:08 +0000 (13:51 +0000)]
When the subfield delimiter is configured as "$" (the default), use {dollar} to represent a literal dollar sign. This is apparently in line with other Breaker-format tools. Fix suggested by Galen Charlton, thanks gmc!
gmc [Thu, 23 Dec 2010 13:51:04 +0000 (13:51 +0000)]
addressing two Breaker-format issues: 1) supply an "empty" (space) value for indicators in the internal format if they are left out and 2) add indicator placeholders to incoming Breaker datafield lines if they seem to be missing. Addresses https://bugs.launchpad.net/evergreen/+bug/693468
miker [Fri, 10 Dec 2010 17:21:54 +0000 (17:21 +0000)]
Patch from James Fournie to address https://bugs.launchpad.net/evergreen/+bug/622908 wherein we learn that related item physical description might be used as the main PD of the main item, if the main item lacks such a field in the MARC
miker [Fri, 10 Dec 2010 14:33:42 +0000 (14:33 +0000)]
partial backport of r18957 to capture the fixes for vandelay.replace_field -- specifically, normalizing the XML for comparison when deciding if the "add" side of a replace should proceed
dbs [Thu, 9 Dec 2010 04:44:14 +0000 (04:44 +0000)]
Enable Ingest to ingest multiple located URIs for a single org-unit at once
Previous logic incorrectly restricted a given bib record to have one located
URI per org-unit - unless you reingested it multiple times, each time adding
one more URI per org-unit.
We also add the strict pragma and adjust some syntax accordingly.
senator [Fri, 3 Dec 2010 15:33:17 +0000 (15:33 +0000)]
Be consistent with a misspelled field. Credit to Robert Soulliere for pointing
out my mistaken understanding of where this was already fixed and where it
wasn't.
senator [Tue, 30 Nov 2010 15:47:40 +0000 (15:47 +0000)]
Backport some booking related commits from trunk.
r17980: more transaction cleanups
--
r18502: Booking: make the circ module avoid booking code if the booking service
isn't up
Previously, it was not possible to turn the booking service off and have
working circ. Now you should be able to turn it off if you don't need it.
--
r18514: If we already know we're not using booking, skip a redundant and
expensive test for the possibility of capturing a hold. We're just going to
try actually doing it a little farther down.
phasefx [Fri, 19 Nov 2010 16:34:28 +0000 (16:34 +0000)]
merge r18716 from rel_2_0 to cache this setting. Thanks to James Fournie for https://bugs.launchpad.net/evergreen/+bug/677311 We should probably do this as a cookie instead for even fewer network calls. I can't see the setting changing all that frequently
dbs [Mon, 15 Nov 2010 22:29:47 +0000 (22:29 +0000)]
asset.uri needs a seed entry for queries of its ID values
To fix a problem with ingesting URIs, Ingest.pm was changed to reflect
the maximum asset.uri.id value rather than the asset.call_number.id
value. However, with no entries in asset.uri, the query returned a
NULL object which broke ingest entirely. Adding a seed entry avoids
this problem.
gmc [Wed, 10 Nov 2010 13:21:25 +0000 (13:21 +0000)]
do not use TRUNCATE when refreshing reporter.materialized_simple_record
Previous behavior would break Slony replication after doing a
bib load. Since a deletion is slower than a truncate, if you're
not using Slony replication, you may prefer to truncate rmsr
prior to calling reporter.enable_materialized_simple_record_trigger.
miker [Mon, 8 Nov 2010 16:28:47 +0000 (16:28 +0000)]
Backporting r18652: Teach vandelay.replace_field to be a little smarter by allowing simple cases of both replacing and regexp-testing the same subfield
gmc [Fri, 5 Nov 2010 17:12:51 +0000 (17:12 +0000)]
fix user password reset request time column def
Needs to be a timestamp with time zone; fixes a bug
where it was interpreted as a UTC time, throwing off
the calculation of the expiration of the password reset
request.
dbs [Thu, 28 Oct 2010 15:21:42 +0000 (15:21 +0000)]
Backport r18516: Ensure call numbers are returned to the holdings editor in ascending sorted order
James Fournie in https://bugs.launchpad.net/evergreen/+bug/635121 reported
that call numbers were being displayed in the order that they had been
added to the database, rather than in sorted call number label order.
Although I have been unable to reproduce this problem on two different
test systems, the patch he provided for 1.6.1 (which fixes the problem on their
test system) shouldn't hurt other systems.
gmc [Wed, 27 Oct 2010 19:21:10 +0000 (19:21 +0000)]
adjust user tests that get done when retargeting holds
Fixes bug where a user having the maximum number of
active hold requests allowed to them by policy would
prevent items from being targeted to fill their requests.
Backport of rel_2_0 commits r18189, r18197, r18201, and
r18229 by Mike Rylander and Galen Charlton.
dbs [Wed, 27 Oct 2010 02:24:10 +0000 (02:24 +0000)]
Prevent ingest errors when asset.uri ID value outstrips asset.call_number
We were basing IDs in asset.uri on the max ID of asset.call_number,
which occasionally led to major ingest problems as attempts to insert
the next ID into asset.uri failed because that ID already existed. Using
the max ID from asset.uri for asset.uri inserts seems to make more sense
and does resolve that problem.
The bigger problem of not using the sequences that are already on these
tables to generate the IDs will not be an issue in 2.0, when we move to
in-database ingest and can use the normal lastval() approach to populate
asset.uri_call_number_map with the new values.
gmc [Thu, 21 Oct 2010 14:53:06 +0000 (14:53 +0000)]
improve call number sorting
oils_text_as_bytea now does uppercasing in addition
to converting strings to bytea, working around
the limitation that json_query can't stack transforms