LP 1303940: pg_tap regression test.

Add a pg_tap test to insert a record that should trigger the problem
fixed by LP 1303940. If the test fails, we have a regression.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
LP#1303940: improve readability of test case

This patch adds some whitespace and a comment in the MARCXML
to clarify the sort of data that triggers the bug.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
LP#1303940: Protect against bogus data that can breaking indexing

In at least the case of browse indexing, some MARC contents can
cause us problems when normalization (such as stripping all
punctuation) can leave us with a NULL value for index-intended
data. The patch avoids the specific case of browse data being null
and causing an ingest failure.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
LP#1303940: don't attempt to store NULL values in keyword, browse, or facet indexes

This patch implements a suggestion by Dan Wells and builds on Mike
Rylander's patch to skip inserting into field_entry and facet
indexes values that have been normalized to NULL.  As a side effect,
the following warning will no longer be logged when attempting
to store such values in the facet index:

WARNING:  Use of uninitialized value in subroutine entry at /usr/lib/perl/5.18/Unicode/Normalize.pm line 80.
CONTEXT:  PL/Perl function "force_unicode_normal_form"

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
LP#1303940: pin schema upgrade to 0878

Signed-off-by: Galen Charlton <gmc@esilibrary.com>