LP#1673799: new acqedim index to speed up duplicate file check user/gmcharlt/lp1673799_speed_up_dupe_edi_file_check
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 17 Mar 2017 15:47:46 +0000 (11:47 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Fri, 17 Mar 2017 15:47:46 +0000 (11:47 -0400)
commit20e57f9010446889f948365dee9a962707d328e3
treeb2f209bdf7bfc91ed5c79b59cfaa58e9b3edc29e
parent782803c5dd81ac7547a5011015fe04dd9ad1562e
LP#1673799: new acqedim index to speed up duplicate file check

This patch adds a new index on acq.edi_message to speed up
the check for duplicate EDI messages that edi_fetcher.pl runs,
replacing use of "ilike" with invocations of the evergreen.lowercase()
stored procedure.

To test
-------
[1] Arrange to create or simulate an EDI message that failed
    processing.
[2] Run edi_fetcher.pl to have it attempt to download the
    failed message in step #1; verify that the file is
    /not/ downloaded again and that no additonal acq.edi_message
    rows are created for it.
[3] (Extra credit) Try steps 1 and 2 in a database that has a
    very large number of rows in acq.edi_message.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/EDI.pm
Open-ILS/src/sql/Pg/200.schema.acq.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.index_edi_message_remote_file.sql [new file with mode: 0644]