Index: openacs-4/packages/assessment/sql/postgresql/upgrade/upgrade-2.8.1-2.8.2d1.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/sql/postgresql/upgrade/upgrade-2.8.1-2.8.2d1.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/assessment/sql/postgresql/upgrade/upgrade-2.8.1-2.8.2d1.sql 27 Apr 2015 15:28:19 -0000 1.2 @@ -0,0 +1,25 @@ + +create or replace function __create_index(name varchar, def varchar) +returns integer as $$ +declare v_exists integer; +begin + select into v_exists count(*) from pg_class where relname = name; + if v_exists = 0 then + execute 'create index ' || name || ' ' || def; + end if; + return 1; +end; +$$ language plpgsql; + +select __create_index('as_item_choices_content_value_idx', 'on as_item_choices(content_value)'); +select __create_index('as_item_choices_mc_id_idx', 'on as_item_choices(mc_id)'); +select __create_index('as_item_data_as_item_id_idx', 'on as_item_data(as_item_id)'); +select __create_index('as_item_data_content_answer_idx', 'on as_item_data(content_answer)'); +select __create_index('as_item_data_file_id_idx', 'on as_item_data(file_id)'); +select __create_index('as_item_data_section_id_idx', 'on as_item_data(section_id)'); +select __create_index('as_item_data_staff_id_idx', 'on as_item_data(staff_id)'); +select __create_index('as_item_rels_item_rev_id_idx', 'on as_item_rels(item_rev_id)'); +select __create_index('as_item_rels_target_rev_id_idx', 'on as_item_rels(target_rev_id)'); + + +drop function __create_index(name varchar, def varchar);