From d4343d7f74ffb13818255637f0b73b62d3e6947c Mon Sep 17 00:00:00 2001 From: Cody Cutrer Date: Wed, 6 Nov 2013 10:15:51 -0700 Subject: [PATCH] add more gist indexes closes CNVS-5180 Change-Id: Ib9d0db2d03c9c24f9536202e41cbeca4c2cd6b65 Reviewed-on: https://gerrit.instructure.com/26038 Tested-by: Jenkins Reviewed-by: Brian Palmer Product-Review: Cody Cutrer QA-Review: Cody Cutrer --- .../20131106171153_add_more_gist_indexes.rb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 db/migrate/20131106171153_add_more_gist_indexes.rb diff --git a/db/migrate/20131106171153_add_more_gist_indexes.rb b/db/migrate/20131106171153_add_more_gist_indexes.rb new file mode 100644 index 00000000000..d615a0a3eb6 --- /dev/null +++ b/db/migrate/20131106171153_add_more_gist_indexes.rb @@ -0,0 +1,21 @@ +class AddMoreGistIndexes < ActiveRecord::Migration + disable_ddl_transaction! + tag :predeploy + + def self.up + if is_postgres? && has_postgres_proc?('show_trgm') + concurrently = " CONCURRENTLY" if connection.open_transactions == 0 + execute("CREATE INDEX#{concurrently} index_trgm_users_short_name ON users USING gist(LOWER(short_name) gist_trgm_ops)") + execute("CREATE INDEX#{concurrently} index_trgm_courses_name ON courses USING gist(LOWER(name) gist_trgm_ops)") + execute("CREATE INDEX#{concurrently} index_trgm_courses_course_code ON courses USING gist(LOWER(course_code) gist_trgm_ops)") + execute("CREATE INDEX#{concurrently} index_trgm_courses_sis_source_id ON courses USING gist(LOWER(sis_source_id) gist_trgm_ops)") + end + end + + def self.down + remove_index :users, name: 'index_trgm_users_short_name' + remove_index :courses, name: 'index_trgm_courses_name' + remove_index :courses, name: 'index_trgm_courses_course_code' + remove_index :courses, name: 'index_trgm_courses_sis_source_id' + end +end