gmc [Wed, 30 Jun 2010 23:06:15 +0000 (23:06 +0000)]
bug #600432: fix MARC expert search
Fix gitch introduced via overzealous tidying that broke MARC
expert search; in the expression @array || $scalar, @array
is evaluated in scalar context and thus returns the number
of elements in it.
scottmk [Wed, 30 Jun 2010 13:32:28 +0000 (13:32 +0000)]
1. Degrade gracefully when the database connection dies.
2. Validate the user-specified operator in a series expression.
M Open-ILS/include/openils/oils_buildq.h
M Open-ILS/src/c-apps/oils_qstore.c
M Open-ILS/src/c-apps/oils_buildq.c
M Open-ILS/src/c-apps/oils_storedq.c
M Open-ILS/src/c-apps/oils_execsql.c
phasefx [Tue, 29 Jun 2010 18:20:02 +0000 (18:20 +0000)]
File->Join Tabs experiment. Can disable through prefs.js, and I may make disabled the default before we branch trunk depending how things play out. One current limitation is that the interfaces thus joined get reloaded as a consequence of their respective DOM nodes being relocated, so tab joining is most useful to setup prior to retrieving information you'd like to view side by side. I haven't found an easy way around this, though we could roll our own tab browser (bleh) or come up with a generic way for interfaces to save their state. Tab labels are also imperfect, given that interfaces are able to dynamically modify the tab label and can clobber each other if sharing a tab
senator [Tue, 29 Jun 2010 17:53:39 +0000 (17:53 +0000)]
Booking: begin forward-porting code from rel_1_6.
Booking (regrettably) was largely written directly against a 1.6 environment
instead of written for trunk and backported. So now we have booking code in
rel_1_6 and rel_1_6_1 that works, but that needs to be cleanly merged with
trunk. There has been a lot of drift, and this won't be easy.
Here is the first step (some of the easy stuff). These files have been updated
wholesale with their contents from rel_1_6, since they don't affect anything
other than booking itself.
Just to be clear: this commit does not complete the booking foward-port. The
booking module did not work in trunk before this commit, and it does not work
after this commit. For the moment, booking only works in the rel_1_6 branch,
in the rel_1_6_1 branch, and in 1.6.1.* releases. It still does not work in
trunk, and it will take a few more hairy commits to get things in sync.
Once that's finally done, any future Booking code can be written the Right Way
(in trunk) and *back*ported thence to whatever other branches as needed.
scottmk [Mon, 28 Jun 2010 19:45:43 +0000 (19:45 +0000)]
Represent a subfield expression as a variant of a function call
expression, rather than a function call in its own right.
1. Eliminate 'xfld' as a valid value for query.expression.type.
2. Eliminate the query.expr_xfld view.
3. Expand the query.expr_xfunc view to include the column_name column.
M Open-ILS/src/sql/Pg/002.schema.config.sql
M Open-ILS/src/sql/Pg/008.schema.query.sql
A Open-ILS/src/sql/Pg/upgrade/0322.schema.query.no-xfld-expr.sql
M Open-ILS/examples/fm_IDL.xml
scottmk [Mon, 28 Jun 2010 15:43:28 +0000 (15:43 +0000)]
Support function calls with subfields, e.g. (func(args))."id".
Note that this support treats the subfield as an optional
component of the functional call, not as a type of expression
in its own right. A subsequent commit will eliminate the "xfld"
expression type.
M Open-ILS/include/openils/oils_buildq.h
M Open-ILS/src/c-apps/oils_storedq.c
M Open-ILS/src/c-apps/buildSQL.c
miker [Fri, 25 Jun 2010 17:31:21 +0000 (17:31 +0000)]
add bib-authority linking table; add stored proc to extract linking; add hook to ingest (controlled by internal_flag) to implement authority link extraction
miker [Fri, 25 Jun 2010 14:47:56 +0000 (14:47 +0000)]
vandelay.add_field bug fix; add stored procs to 1) create an authority-based overlay template and 2) allow simple application of said template directly with marcxml
dbs [Fri, 25 Jun 2010 03:54:46 +0000 (03:54 +0000)]
Provide support for Class::DBI::Frozen::301 via UNIVERSAL::require
Class::DBI changed its API interfaces after the 3.0.1 release, causing much
pain (and incompatibility for existing applications like Evergreen). Some
distributions package Class::DBI 0.96 or 3.0.1, but newer distributions
package an incompatible 3.0.17. An alternative is to install the
Class::DBI::Frozen::301 module from source; UNIVERSAL::require enables us
to try loading both and use whichever one we find.
scottmk [Thu, 24 Jun 2010 17:15:16 +0000 (17:15 +0000)]
1. Degrade (relatively) gracefully when the database connection dies.
Problem to be solved: a server drone that loses its database connection
immediately becomes unusable. It might manage to reconnect, but that
wouldn't help if a transaction was in progress at the time of the failure.
If the drone merely reports an error and then makes itself available
for more requests, every request that it services thereafter will fail.
It will continue to fail repeatedly until it reaches the max_requests
limit, or until someone kills it manually.
Solution: terminate immediately, without waiting for max_requests or a
DISCONNECT request. The listener can replace it with a new drone,
which will try to establish its own database connection.
2. Correct an oversigt in doUpdate() and doDelete().
If the database operation fails, report an error to the client.
The old code would log an error message but otherwise behave as if
the operation had succeeded.
It is conceivable that this change will appear to break something,
because an operation will fail that would otherwise have appeared
to succeed. However if that happens, whatever breaks was already
broken; the appearance of success was a snare and a delusion.
M Open-ILS/include/openils/oils_sql.h
M Open-ILS/src/c-apps/oils_sql.c
dbs [Thu, 24 Jun 2010 03:29:02 +0000 (03:29 +0000)]
First stab at Fedora 13 support in prerequisite installer
Of possible concern: the use of -JS_THREADSAFE in JavaScript::SpiderMonkey.
Need to test this change on other distros - but it enabled me to avoid
the libperl.so linking hacks used on RHEL and CentOS.
scottmk [Thu, 24 Jun 2010 02:57:58 +0000 (02:57 +0000)]
Whenever a database call fails -- i.e. whenever dbi_conn_query() or
dbi_conn_queryf() returns NULL -- call dbi_conn_error() to get a
description of the error, and include that description in the log
message.
atz [Wed, 23 Jun 2010 21:27:32 +0000 (21:27 +0000)]
Cancel reasons from EDI spec
Technically, these aren't all cancellation reasons, they are just
"Action request/notification description codes". A "5" (or 1005, here)
actually means success, for example.
Examine the EDI list here: http://www.stylusstudio.com/edifact/D04B/1229.htm
Include keep_debits field although it does not necessarily apply to each row.
Signed-off-by: Joe Atzberger <atz@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@16795 dcc99617-32d9-48b4-a31d-7c20da2025e4
senator [Mon, 21 Jun 2010 20:20:57 +0000 (20:20 +0000)]
Acq: add default sort order to canned searches, and provide middle layer
support for sort order for unified search generally. The UI for that may
come later.
senator [Fri, 18 Jun 2010 17:13:30 +0000 (17:13 +0000)]
Acq: more menu reorganization
New entry points to selection list, PO, and invoice interfaces. Also replaced
visible references to "Pick List" with "Selection List" wherever I could think
of, for consistency's sake.
scottmk [Fri, 18 Jun 2010 14:59:12 +0000 (14:59 +0000)]
Define some stock datatypes in query.datatype.
Set the sequence for query.datatype to leave room for more
stock datatypes if we want to add them.
M Open-ILS/src/sql/Pg/002.schema.config.sql
M Open-ILS/src/sql/Pg/008.schema.query.sql
A Open-ILS/src/sql/Pg/upgrade/0311.data.query-seed-datatypes.sql
M Open-ILS/src/sql/Pg/950.data.seed-values.sql
scottmk [Thu, 17 Jun 2010 19:16:45 +0000 (19:16 +0000)]
1. Disable fleshing for PCRUD. Otherwise fleshing would provide a
back door whereby a user could see stuff he has no permission to see.
2. For the id_list method: strip out the "flesh_fields" entry, not
the "flesh_columns" entry (which doesn't exist). This actually makes
no difference, but if we're going to do something useless, we might
as well do it right.