LP#1673799: new acqedim index to speed up duplicate file check
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 17 Mar 2017 15:47:46 +0000 (11:47 -0400)
committerBill Erickson <berickxx@gmail.com>
Wed, 17 May 2017 16:55:45 +0000 (12:55 -0400)
commit2565c2c808b4b15efa17b1fd1745426e84e6bb15
treee3dbad4bdefe2f71766ffa9d5d4230105a6eb109
parent89f763b5c92314b9a8db8024e0680f3808e99117
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>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
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]