Add SQL scripts for nightly cron jobs:
authordbs <dbs@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Tue, 13 Apr 2010 16:03:01 +0000 (16:03 +0000)
committerdbs <dbs@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Tue, 13 Apr 2010 16:03:01 +0000 (16:03 +0000)
  * OSUL-patrons-lang-prefs.sql - ensures a stat cat for language preference is set for every user in OSUL
  * update_indexes_for_ampersand_equivalency.sql - adds "and" to index where value is "&"

git-svn-id: svn://svn.open-ils.org/ILS-Contrib/conifer/branches/rel_1_6_0@866 6d9bc8c9-1ec2-4278-b937-99fde70a366f

tools/daily-scripts/OSUL-patrons-lang-prefs.sql [new file with mode: 0644]
tools/daily-scripts/update_indexes_for_ampersand_equivalency.sql [new file with mode: 0644]

diff --git a/tools/daily-scripts/OSUL-patrons-lang-prefs.sql b/tools/daily-scripts/OSUL-patrons-lang-prefs.sql
new file mode 100644 (file)
index 0000000..be7ca94
--- /dev/null
@@ -0,0 +1,10 @@
+-- Ensure that we have a stat cat entry for language preference for OSUL users
+-- NOTE: We should cut over to usr_settings at some point
+INSERT INTO actor.stat_cat_entry_usr_map (stat_cat_entry, stat_cat, target_usr)
+  SELECT 'English', 2, au.id
+  FROM actor.usr au
+  WHERE au.id NOT IN (
+    SELECT target_usr
+    FROM actor.stat_cat_entry_usr_map
+  ) AND home_ou = 103
+;
diff --git a/tools/daily-scripts/update_indexes_for_ampersand_equivalency.sql b/tools/daily-scripts/update_indexes_for_ampersand_equivalency.sql
new file mode 100644 (file)
index 0000000..e38eab4
--- /dev/null
@@ -0,0 +1,16 @@
+-- Cheap way of making titles and the like that contain "&" 
+-- return results for well-meaning queries that use "and"
+BEGIN;
+UPDATE metabib.author_field_entry
+  SET value = value || ' and'
+  WHERE value LIKE '%&%' AND value NOT LIKE '% and %';
+UPDATE metabib.keyword_field_entry
+  SET value = value || ' and'
+  WHERE value LIKE '%&%' AND value NOT LIKE '% and %';
+UPDATE metabib.subject_field_entry
+  SET value = value || ' and'
+  WHERE value LIKE '%&%' AND value NOT LIKE '% and %';
+UPDATE metabib.title_field_entry
+  SET value = value || ' and'
+  WHERE value LIKE '%&%' AND value NOT LIKE '% and %';
+COMMIT;