]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0444.schema.upper-bytea.sql
Break up expensive queries, match index to quals
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0444.schema.upper-bytea.sql
1 BEGIN;
2
3 INSERT INTO config.upgrade_log (version) VALUES ('0444'); -- gmc
4
5 CREATE OR REPLACE FUNCTION oils_text_as_bytea (TEXT) RETURNS BYTEA AS $_$
6     SELECT CAST(REGEXP_REPLACE(UPPER($1), $$\\$$, $$\\\\$$, 'g') AS BYTEA);
7 $_$ LANGUAGE SQL IMMUTABLE;
8
9 DROP INDEX asset.asset_call_number_upper_label_id_owning_lib_idx;
10 CREATE INDEX asset_call_number_upper_label_id_owning_lib_idx ON asset.call_number (oils_text_as_bytea(label),id,owning_lib);
11
12 COMMIT;
13