File: /var/www/html/unitime/target/classes/dbupdate.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dbupdate>
<!--
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for
* additional information regarding copyright ownership.
*
* The Apereo Foundation licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*
-->
<dbupdate>
<dialect type="mysql">org.hibernate.dialect.MySQLDialect</dialect>
<dialect type="mysql">org.hibernate.dialect.MySQL57Dialect</dialect>
<dialect type="mysql">org.hibernate.dialect.MySQL8Dialect</dialect>
<dialect type="plsql">org.hibernate.dialect.OracleDialect</dialect>
<dialect type="plsql">org.hibernate.dialect.Oracle12cDialect</dialect>
<dialect type="plsql">org.hibernate.dialect.Oracle10gDialect</dialect>
<dialect type="plsql">org.unitime.commons.hibernate.util.OracleDialectLegacyLimitQueries</dialect>
<dialect type="pgsql">org.hibernate.dialect.PostgreSQLDialect</dialect>
<dialect type="pgsql">org.hibernate.dialect.PostgreSQL10Dialect</dialect>
<update version="1" date="11-Jun-2007" comment="Package Renames, Column Renames">
<sql>
update %SCHEMA%.solver_info_def set implementation=replace(implementation,'edu.purdue.smas','org.unitime') where implementation like 'edu.purdue.smas%'
</sql>
<sql>
update %SCHEMA%.solver_parameter_def set default_value=replace(default_value,'edu.purdue.smas','org.unitime') where default_value like 'edu.purdue.smas%'
</sql>
<sql>
update %SCHEMA%.change_log set obj_type=replace(obj_type,'edu.purdue.smas','org.unitime') where obj_type like 'edu.purdue.smas%'
</sql>
<plsql onFail="done">
alter table %SCHEMA%.tmtbl_mgr_to_roles rename column primary to is_primary
</plsql>
<mysql onFail="done">
alter table %SCHEMA%.tmtbl_mgr_to_roles change column `primary` is_primary int(1) null
</mysql>
</update>
<update version="2" date="13-Jul-2007" comment="Room group feature abbv">
<plsql onFail="next">
alter table %SCHEMA%.room_feature add abbv varchar2(20)
</plsql>
<plsql onFail="next">
alter table %SCHEMA%.room_group add abbv varchar2(20)
</plsql>
<mysql onFail="next">
alter table %SCHEMA%.room_feature add abbv varchar(20) binary null
</mysql>
<mysql onFail="next">
alter table %SCHEMA%.room_group add abbv varchar(20) binary null
</mysql>
</update>
<update version="3" date="13-Jul-2007" comment="On fly student sectioning">
<sql onEqual="done" value="1">
select count(*) from %SCHEMA%.solver_parameter_group g where g.name='OnFlySectioning'
</sql>
<plsql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, ord) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'OnFlySectioning', 'On Fly Student Sectioning', -1)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x )
where g.name='OnFlySectioning'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'OnFlySectioning.Enabled' as name, 'false' as default_value,
'Enable on fly sectioning (if enabled, students will be resectioned after each iteration)' as description,
'boolean' as type, 0 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='OnFlySectioning')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'OnFlySectioning.Recursive' as name, 'true' as default_value,
'Recursively resection lectures affected by a student swap' as description,
'boolean' as type, 1 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='OnFlySectioning')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'OnFlySectioning.ConfigAsWell' as name, 'false' as default_value,
'Resection students between configurations as well' as description,
'boolean' as type, 2 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='OnFlySectioning')
</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql into="ORD">
select max(ord)+1 from %SCHEMA%.solver_parameter_group
</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, ord) values
(%ID%, 'OnFlySectioning', 'On Fly Student Sectioning', %ORD%)
</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+1, 'OnFlySectioning.Enabled', 'false', 'Enable on fly sectioning (if enabled, students will be resectioned after each iteration)', 'boolean', 0, 1, %ID%),
(%ID%+2, 'OnFlySectioning.Recursive', 'true', 'Recursively resection lectures affected by a student swap', 'boolean', 1, 1, %ID%),
(%ID%+3, 'OnFlySectioning.ConfigAsWell', 'false', 'Resection students between configurations as well', 'boolean', 2, 1, %ID%)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="4" date="22-Aug-2007" comment="Timetable Grid Fix">
<sql>
update %SCHEMA%.user_data set value='-100' where name='TimetableGridTable.week' and value='-1'
</sql>
</update>
<update version="5" date="04-Sep-2007" comment="Application config name size">
<plsql onFail="done">
alter table %SCHEMA%.application_config modify name varchar2(512)
</plsql>
<mysql onFail="done">
alter table %SCHEMA%.application_config modify name varchar(512) binary not null
</mysql>
</update>
<update version="6" date="15-Oct-2007" comment="Lastlike course demand permid">
<mysql onFail="next">
create index idx_ll_course_demand_permid on %SCHEMA%.lastlike_course_demand(course_perm_id)
</mysql>
<mysql onFail="next">
alter table %SCHEMA%.course_offering modify perm_id varchar(20) binary null
</mysql>
<plsql onFail="next">
create index %SCHEMA%.idx_ll_course_demand_permid on %SCHEMA%.lastlike_course_demand(course_perm_id)
</plsql>
<plsql onFail="next">
alter table %SCHEMA%.course_offering drop constraint nn_course_offering_perm_id
</plsql>
<sql>
update %SCHEMA%.lastlike_course_demand set course_perm_id = null where course_perm_id = '-1'
</sql>
<sql>
update %SCHEMA%.course_offering set perm_id = null where perm_id = '-1'
</sql>
</update>
<update version="7" date="16-Oct-2007" comment="IType Abbreviation">
<sql onFail="next">
update %SCHEMA%.itype_desc set abbv=smas_abbv where trim(abbv) is null or trim(abbv) = ''
</sql>
<sql onFail="next">
alter table %SCHEMA%.itype_desc drop column smas_abbv
</sql>
</update>
<update version="8" date="25-Oct-2007" comment="Distribution Pref add column">
<plsql onFail="next">
alter table %SCHEMA%.distribution_pref add uid_rolled_fwd_from number(20)
</plsql>
<mysql onFail="next">
alter table %SCHEMA%.distribution_pref add uid_rolled_fwd_from decimal(20,0) null
</mysql>
</update>
<update version="9" date="27-Nov-2007" comment="ItypeDesc parent">
<plsql onFail="next">
alter table %SCHEMA%.itype_desc add parent number(2)
</plsql>
<mysql onFail="next">
alter table %SCHEMA%.itype_desc add parent int(2)
</mysql>
<plsql onFail="next">
alter table %SCHEMA%.itype_desc add constraint fk_itype_parent foreign key (parent) references %SCHEMA%.itype_desc(itype)
</plsql>
<mysql onFail="next">
alter table %SCHEMA%.itype_desc add constraint fk_itype_parent foreign key fk_itype_parent (parent) references %SCHEMA%.itype_desc(itype)
</mysql>
<plsql><![CDATA[
update %SCHEMA%.itype_desc x set x.parent=(select max(i.itype) from %SCHEMA%.itype_desc i where i.itype<x.itype and i.basic=1) where x.basic=0
]]></plsql>
<mysql><![CDATA[
create table %SCHEMA%.itype_dummy as (select i.itype, max(x.itype) as parent from %SCHEMA%.itype_desc i, %SCHEMA%.itype_desc x where i.basic=0 and x.basic=1 and x.itype<i.itype group by i.itype)
]]></mysql>
<mysql>
update %SCHEMA%.itype_desc i set i.parent=(select x.parent from %SCHEMA%.itype_dummy x where x.itype=i.itype)
</mysql>
<mysql>
drop table %SCHEMA%.itype_dummy
</mysql>
</update>
<update version="10" date="29-Nov-2007" comment="Course offering cache number of last-like course demands">
<mysql>
alter table %SCHEMA%.course_offering add lastlike_demand bigint(10) not null default 0
</mysql>
<plsql>
alter table %SCHEMA%.course_offering add lastlike_demand number(10) default 0
</plsql>
<plsql>
alter table %SCHEMA%.course_offering add constraint nn_course_offering_ll_demand check (lastlike_demand is not null)
</plsql>
<sql>
update %SCHEMA%.course_offering co set co.lastlike_demand = (
select count(distinct cod.student_id) from %SCHEMA%.lastlike_course_demand cod
where co.subject_area_id=cod.subject_area_id and co.course_nbr=cod.course_nbr
) where co.perm_id is null
</sql>
<sql>
update %SCHEMA%.course_offering co
set co.lastlike_demand = (
select count(distinct cod.student_id) from %SCHEMA%.lastlike_course_demand cod, %SCHEMA%.subject_area sa, %SCHEMA%.student s
where co.perm_id=cod.course_perm_id and co.subject_area_id=sa.uniqueid and
cod.student_id=s.uniqueid and s.session_id=sa.session_id
) where co.perm_id is not null
</sql>
</update>
<update version="11" date="07-Feb-2008" comment="Examination timetabling">
<!-- Table DISTRIBUTION_TYPE, add column exam_pref (boolean) -->
<plsql>alter table %SCHEMA%.distribution_type add exam_pref number(1) default 0</plsql>
<mysql>alter table %SCHEMA%.distribution_type add exam_pref int(1) default 0</mysql>
<!-- Added few exam distribution types (same period, same room, precedence) -->
<plsql><![CDATA[
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'EX_SAME_PER', 'Same Period', 0, 36, 'P43210R', 'Exams are to be placed at the same period. <BR>When prohibited or (strongly) discouraged: exams are to be placed at different periods.', 'Same Per', 0, 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'EX_SAME_ROOM', 'Same Room', 0, 37, 'P43210R', 'Exams are to be placed at the same room(s). <BR>When prohibited or (strongly) discouraged: exams are to be placed at different rooms.', 'Same Room', 0, 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'EX_PRECEDENCE', 'Precedence', 1, 38, 'P43210R', 'Exams are to be placed in the given order. <BR>When prohibited or (strongly) discouraged: exams are to be placed in the order reverse to the given one.', 'Precede', 0, 1)
]]></plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql> <![CDATA[
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%ID%, 'EX_SAME_PER', 'Same Period', 0, 36, 'P43210R', 'Exams are to be placed at the same period. <BR>When prohibited or (strongly) discouraged: exams are to be placed at different periods.', 'Same Per', 0, 1),
(%ID%+1, 'EX_SAME_ROOM', 'Same Room', 0, 37, 'P43210R', 'Exams are to be placed at the same room(s). <BR>When prohibited or (strongly) discouraged: exams are to be placed at different rooms.', 'Same Room', 0, 1),
(%ID%+2, 'EX_PRECEDENCE', 'Precedence', 1, 38, 'P43210R', 'Exams are to be placed in the given order. <BR>When prohibited or (strongly) discouraged: exams are to be placed in the order reverse to the given one.', 'Precede', 0, 1)
]]></mysql>
<!-- Add exam start date to sessions -->
<plsql>alter table %SCHEMA%.sessions add exam_begin_date date</plsql>
<plsql>update %SCHEMA%.sessions set exam_begin_date = session_begin_date_time+112</plsql>
<mysql>alter table %SCHEMA%.sessions add exam_begin_date datetime</mysql>
<mysql>update %SCHEMA%.sessions set exam_begin_date = adddate(session_begin_date_time,112)</mysql>
<sql>alter table %SCHEMA%.sessions add constraint nn_sessions_exam_begin_date check (exam_begin_date is not null)</sql>
<!-- Create table exam_period -->
<plsql>
create table %SCHEMA%.exam_period (
uniqueid number(20,0) constraint nn_exam_period_uniqueid not null,
session_id number(20,0) constraint nn_exam_period_session not null,
date_ofs number(10,0) constraint nn_exam_period_date_ofs not null,
start_slot number(10,0) constraint nn_exam_period_start_slot not null,
length number(10,0) constraint nn_exam_period_length not null,
pref_level_id number(20,0) constraint nn_exam_period_pref not null
)
</plsql>
<plsql>alter table %SCHEMA%.exam_period add constraint pk_exam_period primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.exam_period (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
date_ofs bigint(10) not null,
start_slot bigint(10) not null,
length bigint(10) not null,
pref_level_id decimal(20,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.exam_period add constraint fk_exam_period_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.exam_period add constraint fk_exam_period_pref foreign key (pref_level_id)
references %SCHEMA%.preference_level (uniqueid) on delete cascade
</sql>
<!-- Rooms, and non-university locations - added columns exam_enable (boolean), exam_capacity (exam seating capacity, int), exam_pref (exam period preferences) -->
<plsql>alter table %SCHEMA%.room add exam_enable number(1) default 0</plsql>
<plsql>alter table %SCHEMA%.room add exam_capacity number(10) default 0</plsql>
<plsql>alter table %SCHEMA%.room add exam_pref varchar2(1000)</plsql>
<plsql>update %SCHEMA%.room set exam_capacity = capacity /2</plsql>
<plsql>alter table %SCHEMA%.non_university_location add exam_enable number(1) default 0</plsql>
<plsql>alter table %SCHEMA%.non_university_location add exam_capacity number(10) default 0</plsql>
<plsql>alter table %SCHEMA%.non_university_location add exam_pref varchar2(1000)</plsql>
<mysql>alter table %SCHEMA%.room add exam_enable int(1) default 0</mysql>
<mysql>alter table %SCHEMA%.room add exam_capacity bigint(10) default 0</mysql>
<mysql>alter table %SCHEMA%.room add exam_pref varchar(1000)</mysql>
<mysql>update %SCHEMA%.room set exam_capacity = capacity /2</mysql>
<mysql>alter table %SCHEMA%.non_university_location add exam_enable int(1) default 0</mysql>
<mysql>alter table %SCHEMA%.non_university_location add exam_capacity bigint(10) default 0</mysql>
<mysql>alter table %SCHEMA%.non_university_location add exam_pref varchar(1000)</mysql>
<!-- Create exam manager role -->
<plsql>insert into %SCHEMA%.roles (role_id, reference, abbv) values (%SCHEMA%.ROLE_SEQ.nextval, 'Exam Mgr', 'Examination Timetabling Manager')</plsql>
<mysql>insert into %SCHEMA%.roles (role_id, reference, abbv) values (%ID%+3, 'Exam Mgr', 'Examination Timetabling Manager')</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<!-- Create table exam -->
<plsql>
create table %SCHEMA%.exam (
uniqueid number(20,0) constraint nn_exam_uniqueid not null,
session_id number(20,0) constraint nn_exam_session not null,
name varchar2(100),
note varchar2(1000),
length number(10,0) constraint nn_exam_length not null,
max_nbr_rooms number(10,0) default 1 constraint nn_exam_nbr_rooms not null,
seating_type number(10,0) constraint nn_exam_seating not null,
assigned_period number (20,0)
)
</plsql>
<plsql>alter table %SCHEMA%.exam add constraint pk_exam primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.exam (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
name varchar(100),
note varchar(1000),
length bigint(10) not null,
max_nbr_rooms bigint(10) default 1 not null,
seating_type bigint(10) not null,
assigned_period decimal(20,0)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.exam add constraint fk_exam_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.exam add constraint fk_exam_period foreign key (assigned_period)
references %SCHEMA%.exam_period (uniqueid) on delete cascade
</sql>
<!-- Create relation between exams and other objects (classes, configs, courses etc.) -->
<plsql>
create table %SCHEMA%.exam_owner (
uniqueid number(20,0) constraint nn_exam_owner_unique_id not null,
exam_id number(20,0) constraint nn_exam_owner_exam_id not null,
owner_id number(20,0) constraint nn_exam_owner_owner_id not null,
owner_type number(10,0) constraint nn_exam_owner_owner_type not null
)
</plsql>
<plsql>alter table %SCHEMA%.exam_owner add constraint pk_exam_owner primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.exam_owner (
uniqueid decimal(20,0) primary key not null,
exam_id decimal(20,0) not null,
owner_id decimal(20,0) not null,
owner_type bigint(10) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.exam_owner add constraint fk_exam_owner_exam foreign key (exam_id)
references %SCHEMA%.exam (uniqueid) on delete cascade
</sql>
<plsql>create index %SCHEMA%.idx_exam_owner_exam on %SCHEMA%.exam_owner(exam_id)</plsql>
<plsql>create index %SCHEMA%.idx_exam_owner_owner on %SCHEMA%.exam_owner(owner_id, owner_type)</plsql>
<mysql>create index idx_exam_owner_exam on %SCHEMA%.exam_owner(exam_id)</mysql>
<mysql>create index idx_exam_owner_owner on %SCHEMA%.exam_owner(owner_id, owner_type)</mysql>
<!-- Create table exam_room_assignment (relation exam - location) -->
<plsql>
create table %SCHEMA%.exam_room_assignment (
exam_id number(20,0) constraint nn_exam_room_exam_id not null,
location_id number(20,0) constraint nn_exam_room_location_id not null
)
</plsql>
<plsql>alter table %SCHEMA%.exam_room_assignment add constraint pk_exam_room_assignment primary key (exam_id, location_id)</plsql>
<mysql>
create table %SCHEMA%.exam_room_assignment (
exam_id decimal(20,0) not null,
location_id decimal(20,0) not null,
primary key (exam_id, location_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.exam_room_assignment add constraint fk_exam_room_exam foreign key (exam_id)
references %SCHEMA%.exam (uniqueid) on delete cascade
</sql>
<!-- Added exam period preferences -->
<plsql>
create table %SCHEMA%.exam_period_pref (
uniqueid number(20,0) constraint nn_exam_period_pref_uniqueid not null,
owner_id number(20,0) constraint nn_exam_period_pref_owner not null,
pref_level_id number(20,0) constraint nn_exam_period_pref_pref not null,
period_id number(20,0) constraint nn_exam_period_pref_period not null
)
</plsql>
<plsql>alter table %SCHEMA%.exam_period_pref add constraint pk_exam_period_pref primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.exam_period_pref (
uniqueid decimal(20,0) primary key not null,
owner_id decimal(20,0) not null,
pref_level_id decimal(20,0) not null,
period_id decimal(20,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.exam_period_pref add constraint fk_exam_period_pref_pref foreign key (pref_level_id)
references %SCHEMA%.preference_level (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.exam_period_pref add constraint fk_exam_period_pref_period foreign key (period_id)
references %SCHEMA%.exam_period (uniqueid) on delete cascade
</sql>
<!-- Instructor assignment -->
<plsql>
create table %SCHEMA%.exam_instructor (
exam_id number(20,0) constraint nn_exam_instructor_exam not null,
instructor_id number(20,0) constraint nn_exam_instructor_instructor not null
)
</plsql>
<plsql>alter table %SCHEMA%.exam_instructor add constraint pk_exam_instructor primary key (exam_id, instructor_id)</plsql>
<mysql>
create table %SCHEMA%.exam_instructor (
exam_id decimal(20,0) primary key not null,
instructor_id decimal(20,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.exam_instructor add constraint fk_exam_instructor_exam foreign key (exam_id)
references %SCHEMA%.exam (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.exam_instructor add constraint fk_exam_instructor_instructor foreign key (instructor_id)
references %SCHEMA%.departmental_instructor (uniqueid) on delete cascade
</sql>
</update>
<update version="12" date="08-Feb-2008" comment="Add course offering id to StudentClassEnrollment table">
<plsql>alter table %SCHEMA%.student_class_enrl add course_offering_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.student_class_enrl add course_offering_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.student_class_enrl add constraint fk_student_class_enrl_course foreign key (course_offering_id)
references %SCHEMA%.course_offering (uniqueid) on delete cascade
</sql>
</update>
<update version="13" date="11-Feb-2008" comment="Exams speedup">
<plsql>alter table %SCHEMA%.exam_owner add course_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.exam_owner add course_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.exam_owner add constraint fk_exam_owner_course foreign key (course_id)
references course_offering (uniqueid) on delete cascade
</sql>
<sql>
update %SCHEMA%.exam_owner o set o.course_id =
(select co.uniqueid from %SCHEMA%.course_offering co where co.instr_offr_id=o.owner_id and co.is_control=1)
where o.owner_type=0
</sql>
<sql>
update %SCHEMA%.exam_owner set course_id = owner_id where owner_type=1
</sql>
<sql>
update %SCHEMA%.exam_owner o set o.course_id =
(select co.uniqueid from %SCHEMA%.instr_offering_config ioc, %SCHEMA%.course_offering co
where ioc.uniqueid=o.owner_id and ioc.instr_offr_id=co.instr_offr_id and co.is_control=1)
where o.owner_type=2
</sql>
<sql>
update %SCHEMA%.exam_owner o set o.course_id =
(select co.uniqueid from %SCHEMA%.instr_offering_config ioc, %SCHEMA%.course_offering co, %SCHEMA%.scheduling_subpart ss, %SCHEMA%.class_ c
where c.uniqueid=o.owner_id and c.subpart_id=ss.uniqueid and
ss.config_id=ioc.uniqueid and ioc.instr_offr_id=co.instr_offr_id and co.is_control=1)
where o.owner_type=3
</sql>
<plsql>
alter table %SCHEMA%.exam_owner add constraint nn_exam_owner_course check (course_id is not null)
</plsql>
<mysql>
alter table %SCHEMA%.exam_owner modify course_id decimal(20,0) not null
</mysql>
<plsql>
create index %SCHEMA%.idx_exam_owner_course on %SCHEMA%.exam_owner(course_id)
</plsql>
<mysql>
create index idx_exam_owner_course on %SCHEMA%.exam_owner(course_id)
</mysql>
</update>
<update version="14" date="22-Feb-2008" comment="Exam solver parameters">
<plsql>alter table %SCHEMA%.solver_parameter_group add param_type number(10) default 0</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_group
(uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'ExamBasic', 'Basic Parameters', '', -1,1)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x )
where g.name='ExamBasic'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'ExamBasic.Mode' as name,
'Initial' as default_value,
'Solver mode' as description,
'enum(Initial,MPP)' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamBasic')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'ExamBasic.WhenFinished' as name,
'No Action' as default_value,
'When finished' as description,
'enum(No Action,Save,Save and Unload)' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamBasic')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_group
(uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'ExamWeights', 'Examination Weights', '', -1,1)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x)
where g.name='ExamWeights'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.MaxRooms' as name,
'4' as default_value,
'Default number of room splits per exam' as description,
'integer' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.IsDayBreakBackToBack' as name,
'false' as default_value,
'Consider back-to-back over day break' as description,
'boolean' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.DirectConflictWeight' as name,
'1000.0' as default_value,
'Direct conflict weight' as description,
'double' as type,
2 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.MoreThanTwoADayWeight' as name,
'100.0' as default_value,
'Three or more exams a day conflict weight' as description,
'double' as type,
3 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.BackToBackConflictWeight' as name,
'10.0' as default_value,
'Back-to-back conflict weight' as description,
'double' as type,
4 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.DistanceBackToBackConflictWeight' as name,
'25.0' as default_value,
'Distance back-to-back conflict weight' as description,
'double' as type,
5 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.BackToBackDistance' as name,
'-1' as default_value,
'Back-to-back distance (-1 means disabled)' as description,
'double' as type,
6 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.PeriodWeight' as name,
'1.0' as default_value,
'Period preference weight' as description,
'double' as type,
7 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.RoomWeight' as name,
'1.0' as default_value,
'Room preference weight' as description,
'double' as type,
8 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.DistributionWeight' as name,
'1.0' as default_value,
'Distribution preference weight' as description,
'double' as type,
9 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.RoomSplitWeight' as name,
'10.0' as default_value,
'Room split weight' as description,
'double' as type,
10 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.RoomSizeWeight' as name,
'0.001' as default_value,
'Excessive room size weight' as description,
'double' as type,
11 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.NotOriginalRoomWeight' as name,
'1.0' as default_value,
'Not original room weight' as description,
'double' as type,
12 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.RotationWeight' as name,
'0.001' as default_value,
'Exam rotation weight' as description,
'double' as type,
13 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_group
(uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'Exam', 'General Parameters', '', -1,1)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x )
where g.name='Exam'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Neighbour.Class' as name,
'net.sf.cpsolver.exam.heuristics.ExamNeighbourSelection' as default_value,
'Examination timetabling neighbour selection class' as description,
'text' as type,
0 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Exam')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Termination.TimeOut' as name,
'1800' as default_value,
'Maximal solver time (in sec)' as description,
'integer' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Exam')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exam.Algorithm' as name,
'Great Deluge' as default_value,
'Used heuristics' as description,
'enum(Great Deluge,Simulated Annealing)' as type,
2 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Exam')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'HillClimber.MaxIdle' as name,
'25000' as default_value,
'Hill Climber: maximal idle iteration' as description,
'integer' as type,
3 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Exam')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Termination.StopWhenComplete' as name,
'false' as default_value,
'Stop when a complete solution if found' as description,
'boolean' as type,
4 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Exam')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.SaveBestUnassigned' as name,
'-1' as default_value,
'Save best when x unassigned' as description,
'integer' as type,
5 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Exam')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_group
(uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'ExamGD', 'Great Deluge Parameters', '', -1,1)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x )
where g.name='ExamGD'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'GreatDeluge.CoolRate' as name,
'0.99999995' as default_value,
'Cooling rate' as description,
'double' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamGD')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'GreatDeluge.UpperBoundRate' as name,
'1.05' as default_value,
'Upper bound rate' as description,
'double' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamGD')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'GreatDeluge.LowerBoundRate' as name,
'0.95' as default_value,
'Lower bound rate' as description,
'double' as type,
2 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamGD')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_group
(uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'ExamSA', 'Simulated Annealing Parameters', '', -1,1)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x )
where g.name='ExamSA'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.InitialTemperature' as name,
'1.5' as default_value,
'Initial temperature' as description,
'double' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamSA')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.CoolingRate' as name,
'0.95' as default_value,
'Cooling rate' as description,
'double' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamSA')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.TemperatureLength' as name,
'25000' as default_value,
'Temperature length' as description,
'integer' as type,
2 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamSA')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.ReheatLengthCoef' as name,
'5' as default_value,
'Reheat length coefficient' as description,
'double' as type,
3 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamSA')
</plsql>
<plsql>
insert into %SCHEMA%.solver_predef_setting (uniqueid, name, description, appearance)
values(%SCHEMA%.solver_predef_setting_seq.nextval, 'Exam.Default', 'Default', 2)
</plsql>
<mysql>alter table %SCHEMA%.solver_parameter_group add param_type bigint(10) default 0</mysql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql into="ORD">
select max(ord)+1 from %SCHEMA%.solver_parameter_group
</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, ord, param_type) values
(%ID%, 'ExamBasic', 'Basic Parameters', %ORD%, 1),
(%ID%+1, 'ExamWeights', 'Examination Weights', %ORD%+1, 1),
(%ID%+2, 'Exam', 'General Parameters', %ORD%+2, 1),
(%ID%+3, 'ExamGD', 'Great Deluge Parameters', %ORD%+3, 1),
(%ID%+4, 'ExamSA', 'Simulated Annealing Parameters', %ORD%+4, 1)
</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+5, 'ExamBasic.Mode', 'Initial', 'Solver mode', 'enum(Initial,MPP)', 0, 1, %ID%),
(%ID%+6, 'ExamBasic.WhenFinished', 'No Action', 'When finished', 'enum(No Action,Save,Save and Unload)', 1, 1, %ID%),
(%ID%+7, 'Exams.MaxRooms', '4', 'Default number of room splits per exam', 'integer', 0, 1, %ID%+1),
(%ID%+8, 'Exams.IsDayBreakBackToBack', 'false', 'Consider back-to-back over day break', 'boolean', 1, 1, %ID%+1),
(%ID%+9, 'Exams.DirectConflictWeight', '1000.0', 'Direct conflict weight', 'double', 2, 1, %ID%+1),
(%ID%+10, 'Exams.MoreThanTwoADayWeight', '100.0', 'Three or more exams a day conflict weight', 'double', 3, 1, %ID%+1),
(%ID%+11, 'Exams.BackToBackConflictWeight', '10.0', 'Back-to-back conflict weight', 'double', 4, 1, %ID%+1),
(%ID%+12, 'Exams.DistanceBackToBackConflictWeight', '25.0', 'Distance back-to-back conflict weight', 'double', 5, 1, %ID%+1),
(%ID%+13, 'Exams.BackToBackDistance', '-1', 'Back-to-back distance (-1 means disabled)', 'double', 6, 1, %ID%+1),
(%ID%+14, 'Exams.PeriodWeight', '1.0', 'Period preference weight', 'double', 7, 1, %ID%+1),
(%ID%+15, 'Exams.RoomWeight', '1.0', 'Room preference weight', 'double', 8, 1, %ID%+1),
(%ID%+16, 'Exams.DistributionWeight', '1.0', 'Distribution preference weight', 'double', 9, 1, %ID%+1),
(%ID%+17, 'Exams.RoomSplitWeight', '10.0', 'Room split weight', 'double', 10, 1, %ID%+1),
(%ID%+18, 'Exams.RoomSizeWeight', '0.001', 'Excessive room size weight', 'double', 11, 1, %ID%+1),
(%ID%+19, 'Exams.NotOriginalRoomWeight', '1.0', 'Not original room weight', 'double', 12, 1, %ID%+1),
(%ID%+20, 'Exams.RotationWeight', '0.001', 'Exam rotation weight', 'double', 13, 1, %ID%+1),
(%ID%+21, 'Neighbour.Class', 'net.sf.cpsolver.exam.heuristics.ExamNeighbourSelection', 'Examination timetabling neighbour selection class', 'text', 0, 0, %ID%+2),
(%ID%+22, 'Termination.TimeOut', '1800', 'Maximal solver time (in sec)', 'integer', 1, 1, %ID%+2),
(%ID%+23, 'Exam.Algorithm', 'Great Deluge', 'Used heuristics', 'enum(Great Deluge,Simulated Annealing)', 2, 1, %ID%+2),
(%ID%+24, 'HillClimber.MaxIdle', '25000', 'Hill Climber: maximal idle iteration', 'integer', 3, 1, %ID%+2),
(%ID%+25, 'Termination.StopWhenComplete', 'false', 'Stop when a complete solution if found', 'boolean', 4, 0, %ID%+2),
(%ID%+26, 'General.SaveBestUnassigned', '-1', 'Save best when x unassigned', 'integer', 5, 0, %ID%+2),
(%ID%+27, 'GreatDeluge.CoolRate', '0.99999995', 'Cooling rate', 'double', 0, 1, %ID%+3),
(%ID%+28, 'GreatDeluge.UpperBoundRate', '1.05', 'Upper bound rate', 'double', 1, 1, %ID%+3),
(%ID%+29, 'GreatDeluge.LowerBoundRate', '0.95', 'Lower bound rate', 'double', 2, 1, %ID%+3),
(%ID%+30, 'SimulatedAnnealing.InitialTemperature', '1.5', 'Initial temperature', 'double', 0, 1, %ID%+4),
(%ID%+31, 'SimulatedAnnealing.CoolingRate', '0.95', 'Cooling rate', 'double', 1, 1, %ID%+4),
(%ID%+32, 'SimulatedAnnealing.TemperatureLength', '25000', 'Temperature length', 'integer', 2, 1, %ID%+4),
(%ID%+33, 'SimulatedAnnealing.ReheatLengthCoef', '5', 'Reheat length coefficient', 'double', 3, 1, %ID%+4)
</mysql>
<mysql>
insert into %SCHEMA%.solver_predef_setting (uniqueid, name, description, appearance) values
(%ID%+34, 'Exam.Default', 'Default', 2)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="15" date="25-Feb-2008" comment="Exam conflicts">
<plsql>
create table %SCHEMA%.xconflict (
uniqueid number(20,0) constraint nn_xconflict_uniqueid not null,
conflict_type number(10,0) constraint nn_xconflict_type not null,
distance float)
</plsql>
<plsql>
alter table %SCHEMA%.xconflict
add constraint pk_xconflict primary key (uniqueid)
</plsql>
<mysql>
create table %SCHEMA%.xconflict (
uniqueid decimal(20,0) not null primary key,
conflict_type decimal(10,0) not null,
distance double) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.xconflict_exam (
conflict_id number(20,0) constraint nn_xconflict_ex_conf not null,
exam_id number(20,0) constraint nn_xconflict_ex_exam not null)
</plsql>
<plsql>
alter table %SCHEMA%.xconflict_exam
add constraint pk_xconflict_exam primary key (conflict_id, exam_id)
</plsql>
<mysql>
create table %SCHEMA%.xconflict_exam (
conflict_id decimal(20,0) not null,
exam_id decimal(20,0) not null,
primary key (conflict_id, exam_id)) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.xconflict_exam
add constraint fk_xconflict_ex_conf foreign key (conflict_id)
references %SCHEMA%.xconflict (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.xconflict_exam
add constraint fk_xconflict_ex_exam foreign key (exam_id)
references %SCHEMA%.exam (uniqueid) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.xconflict_student (
conflict_id number(20,0) constraint nn_xconflict_st_conf not null,
student_id number(20,0) constraint nn_xconflict_st_student not null)
</plsql>
<plsql>
alter table %SCHEMA%.xconflict_student
add constraint pk_xconflict_student primary key (conflict_id, student_id)
</plsql>
<mysql>
create table %SCHEMA%.xconflict_student (
conflict_id decimal(20,0) not null,
student_id decimal(20,0) not null,
primary key (conflict_id, student_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.xconflict_student
add constraint fk_xconflict_st_conf foreign key (conflict_id)
references %SCHEMA%.xconflict (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.xconflict_student
add constraint fk_xconflict_st_student foreign key (student_id)
references %SCHEMA%.student (uniqueid) on delete cascade
</sql>
<plsql>
create index %SCHEMA%.idx_xconflict_exam on %SCHEMA%.xconflict_exam(exam_id)
</plsql>
<mysql>
create index idx_xconflict_exam on %SCHEMA%.xconflict_exam(exam_id)
</mysql>
</update>
<update version="16" date="28-Feb-2008" comment="Exam instructor conflicts">
<plsql>
create table %SCHEMA%.xconflict_instructor (
conflict_id number(20,0) constraint nn_xconflict_in_conf not null,
instructor_id number(20,0) constraint nn_xconflict_in_student not null
)
</plsql>
<plsql>
alter table %SCHEMA%.xconflict_instructor
add constraint pk_xconflict_instructor primary key (conflict_id, instructor_id)
</plsql>
<mysql>
create table %SCHEMA%.xconflict_instructor (
conflict_id decimal(20,0) not null,
instructor_id decimal(20,0) not null,
primary key(conflict_id, instructor_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.xconflict_instructor
add constraint fk_xconflict_in_conf foreign key (conflict_id)
references %SCHEMA%.xconflict (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.xconflict_instructor
add constraint fk_xconflict_in_instructor foreign key (instructor_id)
references %SCHEMA%.departmental_instructor (uniqueid) on delete cascade
</sql>
<plsql>
alter table %SCHEMA%.exam add assigned_pref varchar2(100)
</plsql>
<mysql>
alter table %SCHEMA%.exam add assigned_pref varchar(100)
</mysql>
</update>
<update version="17" date="3-Mar-2008" comment="Midterm exams">
<plsql>
alter table %SCHEMA%.exam add exam_type number(10,0) default 0
</plsql>
<plsql>
alter table %SCHEMA%.exam_period add exam_type number(10,0) default 0
</plsql>
<mysql>
alter table %SCHEMA%.exam add exam_type bigint(10) default 0
</mysql>
<mysql>
alter table %SCHEMA%.exam_period add exam_type bigint(10) default 0
</mysql>
</update>
<update version="18" date="03-Mar-2008" comment="Location permanent id">
<plsql>
alter table %SCHEMA%.room add permanent_id number(20)
</plsql>
<mysql>
alter table %SCHEMA%.room add permanent_id decimal(20,0)
</mysql>
<plsql>
alter table %SCHEMA%.non_university_location add permanent_id number(20)
</plsql>
<mysql>
alter table %SCHEMA%.non_university_location add permanent_id decimal(20,0)
</mysql>
<plsql>
create table %SCHEMA%.temp_perm_id
(
external_uid varchar(40) not null,
perm_id number(20) not null
)
</plsql>
<mysql>
create table %SCHEMA%.temp_perm_id
(
external_uid varchar(40) not null,
perm_id bigint(10) not null auto_increment primary key
) engine memory
</mysql>
<plsql>
create sequence %SCHEMA%.loc_perm_id_seq
minvalue 1
maxvalue 99999999999999999999
start with 1
increment by 1
cache 20
</plsql>
<plsql>
insert into %SCHEMA%.temp_perm_id tpi
select s.eid, %SCHEMA%.loc_perm_id_seq.nextval from (select distinct r.external_uid as eid
from %SCHEMA%.room r
where r.external_uid is not null
order by r.external_uid) s
</plsql>
<plsql>
update %SCHEMA%.room r
set r.permanent_id = (select tpi.perm_id from %SCHEMA%.temp_perm_id tpi where tpi.external_uid = r.external_uid)
where r.external_uid is not null
</plsql>
<plsql>
update %SCHEMA%.room r
set r.permanent_id = %SCHEMA%.loc_perm_id_seq.nextval
where r.external_uid is null
</plsql>
<plsql>
update %SCHEMA%.non_university_location nul
set nul.permanent_id = %SCHEMA%.loc_perm_id_seq.nextval
</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into temp_perm_id (external_uid, perm_id) values ('DUMMY', %ID%-1)
</mysql>
<mysql>
insert into %SCHEMA%.temp_perm_id ( external_uid )
select s.eid from (select distinct r.external_uid as eid
from %SCHEMA%.room r
where r.external_uid is not null
union (select distinct cast(r1.uniqueid as char) as eid from %SCHEMA%.room r1 where r1.external_uid is null)
union (select distinct cast(nul.uniqueid as char) as eid from %SCHEMA%.non_university_location nul)) s
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<mysql>
update %SCHEMA%.room r
set r.permanent_id = (select tpi.perm_id from %SCHEMA%.temp_perm_id tpi where tpi.external_uid = r.external_uid)
where r.external_uid is not null
</mysql>
<mysql>
update %SCHEMA%.room r
set r.permanent_id = (select tpi.perm_id from %SCHEMA%.temp_perm_id tpi where tpi.external_uid = cast(r.uniqueid as char))
where r.external_uid is null
</mysql>
<mysql>
update %SCHEMA%.non_university_location nul
set nul.permanent_id = (select tpi.perm_id from %SCHEMA%.temp_perm_id tpi where tpi.external_uid = cast(nul.uniqueid as char))
</mysql>
<sql>
drop table %SCHEMA%.temp_perm_id
</sql>
<plsql>
alter table %SCHEMA%.room modify permanent_id not null
</plsql>
<plsql>
alter table %SCHEMA%.non_university_location modify permanent_id not null
</plsql>
<mysql>
alter table %SCHEMA%.room modify permanent_id decimal(20,0) not null
</mysql>
<mysql>
alter table %SCHEMA%.non_university_location modify permanent_id decimal(20,0) not null
</mysql>
</update>
<update version="19" date="05-Mar-2008" comment="Add event tables">
<plsql>
create table %SCHEMA%.event_type
(
UNIQUEID NUMBER(20),
REFERENCE VARCHAR2(20),
LABEL VARCHAR2(60)
)
</plsql>
<plsql>
alter table %SCHEMA%.EVENT_TYPE
add constraint PK_EVENT_TYPE primary key (UNIQUEID)
</plsql>
<plsql>
alter table %SCHEMA%.EVENT_TYPE
add constraint NN_EVENT_TYPE_LABEL
check ("LABEL" IS NOT NULL)
</plsql>
<plsql>
alter table %SCHEMA%.EVENT_TYPE
add constraint NN_EVENT_TYPE_REFERENCE
check ("REFERENCE" IS NOT NULL)
</plsql>
<plsql>
alter table %SCHEMA%.EVENT_TYPE
add constraint NN_EVENT_TYPE_UNIQUEID
check ("UNIQUEID" IS NOT NULL)
</plsql>
<mysql>
create table %SCHEMA%.EVENT_TYPE
(
UNIQUEID DECIMAL(20,0) primary key not null,
REFERENCE VARCHAR(20) not null,
LABEL VARCHAR(60) not null
) engine = INNODB
</mysql>
<plsql>
insert into %SCHEMA%.event_type values(%SCHEMA%.ref_table_seq.nextval, 'class', 'Class')
</plsql>
<plsql>
insert into %SCHEMA%.event_type values(%SCHEMA%.ref_table_seq.nextval, 'final', 'Final Exam')
</plsql>
<plsql>
insert into %SCHEMA%.event_type values(%SCHEMA%.ref_table_seq.nextval, 'evening', 'Evening Exam')
</plsql>
<plsql>
insert into %SCHEMA%.event_type values(%SCHEMA%.ref_table_seq.nextval, 'otherWithConflict', 'Other Course Event with Conflict Checking')
</plsql>
<plsql>
insert into %SCHEMA%.event_type values(%SCHEMA%.ref_table_seq.nextval, 'otherNoConflict', 'Other Course Event with No Conflict Checking')
</plsql>
<plsql>
insert into %SCHEMA%.event_type values(%SCHEMA%.ref_table_seq.nextval, 'special', 'Special Event')
</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.event_type (uniqueid, reference, label) values
(%ID%, 'class', 'Class'),
(%ID%+1, 'final', 'Final Exam'),
(%ID%+2, 'evening', 'Evening Exam'),
(%ID%+3, 'otherWithConflict', 'Other Course Event with Conflict Checking'),
(%ID%+4, 'otherNoConflict', 'Other Course Event with No Conflict Checking'),
(%ID%+5, 'special', 'Special Event')
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<plsql>
create table %SCHEMA%.event_contact
(
uniqueid number(20) constraint nn_event_contact_uniqueid not null,
external_id varchar2(40),
email varchar2(100) constraint nn_event_contact_email not null,
phone varchar2(10) constraint nn_event_contact_phone not null,
firstName varchar2(20),
middleName varchar2(20),
lastName varchar2(30)
)
</plsql>
<plsql>
alter table %SCHEMA%.event_contact add constraint pk_event_contact_uniqueid primary key (UNIQUEID)
</plsql>
<mysql>
create table %SCHEMA%.event_contact
(
uniqueid decimal(20,0) primary key not null,
external_id varchar(40),
email varchar(100) not null,
phone varchar(10) not null,
firstName varchar(20),
middleName varchar(20),
lastName varchar(30)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.event
(
uniqueid number(20) not null,
event_type number(20) not null,
event_name varchar2(100),
min_capacity number(10),
max_capacity number(10),
sponsoring_org number(20),
main_contact_id number(20)
)
</plsql>
<plsql>
alter table %SCHEMA%.event add constraint pk_event_uniqueid primary key (UNIQUEID)
</plsql>
<mysql>
create table %SCHEMA%.event
(
uniqueid decimal(20,0) not null primary key,
event_type decimal(20,0) not null,
event_name varchar(100),
min_capacity bigint(10),
max_capacity bigint(10),
sponsoring_org decimal(20,0),
main_contact_id decimal(20,0)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.event
add constraint fk_event_event_type foreign key (EVENT_TYPE)
references %SCHEMA%.event_type (UNIQUEID) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.event
add constraint fk_event_main_contact foreign key (MAIN_CONTACT_ID)
references %SCHEMA%.event_contact (UNIQUEID) on delete set null
</sql>
<plsql>
create table %SCHEMA%.event_join_event_contact
(
event_id number(20) constraint nn_event_join_event_id not null,
event_contact_id number(20) constraint nn_event_join_event_contact_id not null
)
</plsql>
<mysql>
create table %SCHEMA%.event_join_event_contact
(
event_id decimal(20,0) not null,
event_contact_id decimal(20,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.event_join_event_contact
add constraint fk_event_id_join foreign key (EVENT_ID)
references %SCHEMA%.event (UNIQUEID) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.event_join_event_contact
add constraint fk_event_contact_join foreign key (EVENT_CONTACT_ID)
references %SCHEMA%.event_contact (UNIQUEID) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.related_course_info
(
uniqueid number(20,0) constraint nn_rel_crs_info_unique_id not null,
event_id number(20,0) constraint nn_rel_crs_info_event_id not null,
owner_id number(20,0) constraint nn_rel_crs_info_owner_id not null,
owner_type number(10,0) constraint nn_rel_crs_info_owner_type not null,
course_id number(20,0) constraint nn_rel_crs_info_course_id not null
)
</plsql>
<plsql>
alter table %SCHEMA%.related_course_info add constraint pk_related_crs_info primary key (uniqueid)
</plsql>
<mysql>
create table %SCHEMA%.related_course_info
(
uniqueid decimal(20,0) primary key not null,
event_id decimal(20,0) not null,
owner_id decimal(20,0) not null,
owner_type decimal(10,0) not null,
course_id decimal (20,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.related_course_info
add constraint fk_event_owner_event foreign key (event_id)
references %SCHEMA%.event (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.related_course_info
add constraint fk_event_owner_course foreign key (course_id)
references %SCHEMA%.course_offering (uniqueid) on delete cascade
</sql>
<plsql>
create index %SCHEMA%.idx_event_owner_event on %SCHEMA%.related_course_info(event_id)
</plsql>
<plsql>
create index %SCHEMA%.idx_event_owner_owner on %SCHEMA%.related_course_info(owner_id, owner_type)
</plsql>
<mysql>
create index idx_event_owner_event on %SCHEMA%.related_course_info(event_id)
</mysql>
<mysql>
create index idx_event_owner_owner on %SCHEMA%.related_course_info(owner_id, owner_type)
</mysql>
<plsql>
create table %SCHEMA%.meeting
(
uniqueid number(20) constraint nn_meeting_uniqueid not null,
event_id number(20) constraint nn_meeting_event_id not null,
event_type number(20) constraint nn_meeting_event_type not null,
meeting_date date constraint nn_meeting_date not null,
start_period number(10) constraint nn_meeting_start_period not null,
start_offset number(10),
stop_period number(10) constraint nn_meeting_stop_period not null,
stop_offset number(10),
location_perm_id number(20),
class_can_override number(1) constraint nn_meeting_override not null,
approved_date date
)
</plsql>
<plsql>
alter table %SCHEMA%.meeting
add constraint pk_meeting_uniqueid primary key (UNIQUEID)
</plsql>
<mysql>
create table %SCHEMA%.meeting
(
uniqueid decimal(20,0) primary key not null,
event_id decimal(20,0) not null,
event_type decimal(20,0) not null,
meeting_date date not null,
start_period bigint(10) not null,
start_offset bigint(10),
stop_period bigint(10) not null,
stop_offset bigint(10),
location_perm_id decimal(20,0),
class_can_override int(1) not null,
approved_date date
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.meeting
add constraint fk_meeting_event foreign key (EVENT_ID)
references %SCHEMA%.event (UNIQUEID) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.meeting
add constraint fk_meeting_event_type foreign key (EVENT_TYPE)
references %SCHEMA%.event_type (UNIQUEID) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.STANDARD_EVENT_NOTE
(
UNIQUEID NUMBER(20),
REFERENCE VARCHAR2(20),
NOTE VARCHAR2(1000)
)
</plsql>
<plsql>
alter table %SCHEMA%.STANDARD_EVENT_NOTE
add constraint PK_STANDARD_EVENT_NOTE primary key (UNIQUEID)
</plsql>
<plsql>
alter table %SCHEMA%.STANDARD_EVENT_NOTE
add constraint NN_STD_EVENT_NOTE_NOTE
check ("NOTE" IS NOT NULL)
</plsql>
<plsql>
alter table %SCHEMA%.STANDARD_EVENT_NOTE
add constraint NN_STD_EVENT_NOTE_REFERENCE
check ("REFERENCE" IS NOT NULL)
</plsql>
<plsql>
alter table %SCHEMA%.STANDARD_EVENT_NOTE
add constraint NN_STD_EVENT_NOTE_UNIQUEID
check ("UNIQUEID" IS NOT NULL)
</plsql>
<mysql>
create table %SCHEMA%.STANDARD_EVENT_NOTE
(
UNIQUEID DECIMAL(20,0) primary key not null,
REFERENCE VARCHAR(20) not null,
NOTE VARCHAR(1000) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.event_note
(
uniqueid number(20) constraint nn_event_note_uniqueid not null,
event_id number(20) constraint nn_event_note_event_uniqueid not null,
note_id number(20),
text_note varchar2(1000)
)
</plsql>
<plsql>
alter table %SCHEMA%.event_note
add constraint pk_event_note_uniqueid primary key (UNIQUEID)
</plsql>
<mysql>
create table %SCHEMA%.event_note
(
uniqueid decimal(20,0) primary key not null,
event_id decimal(20,0) not null,
note_id decimal(20,0),
text_note varchar(1000)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.event_note
add constraint fk_event_note_event foreign key (EVENT_ID)
references %SCHEMA%.event (UNIQUEID) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.event_note
add constraint fk_event_note_std_note foreign key (NOTE_ID)
references %SCHEMA%.standard_event_note (UNIQUEID) on delete set null
</sql>
</update>
<update version="20" date="12-Mar-2008" comment="Exam room changes">
<plsql>alter table %SCHEMA%.room add exam_type number(10,0) default 0</plsql>
<plsql>alter table %SCHEMA%.non_university_location add exam_type number(10,0) default 0</plsql>
<mysql>alter table %SCHEMA%.room add exam_type bigint(10) default 0</mysql>
<mysql>alter table %SCHEMA%.non_university_location add exam_type bigint(10) default 0</mysql>
<sql>update %SCHEMA%.room set exam_type = 1 where exam_enable = 1</sql>
<sql>update %SCHEMA%.non_university_location set exam_type = 1 where exam_enable = 1</sql>
<sql>alter table %SCHEMA%.room drop column exam_enable</sql>
<sql>alter table %SCHEMA%.non_university_location drop column exam_enable</sql>
<sql>alter table %SCHEMA%.room drop column exam_pref</sql>
<sql>alter table %SCHEMA%.non_university_location drop column exam_pref</sql>
<plsql>
create table %SCHEMA%.exam_location_pref (
uniqueid number(20,0) constraint nn_exam_location_pref_uniqueid not null,
location_id number(20,0) constraint nn_exam_location_pref_owner not null,
pref_level_id number(20,0) constraint nn_exam_location_pref_pref not null,
period_id number(20,0) constraint nn_exam_location_pref_period not null
)
</plsql>
<plsql>
alter table %SCHEMA%.exam_location_pref add constraint pk_exam_location_pref primary key (uniqueid)
</plsql>
<mysql>
create table %SCHEMA%.exam_location_pref (
uniqueid decimal(20,0) primary key not null,
location_id decimal(20,0) not null,
pref_level_id decimal(20,0) not null,
period_id decimal(20,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.exam_location_pref
add constraint fk_exam_location_pref_pref foreign key (pref_level_id)
references %SCHEMA%.preference_level (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.exam_location_pref
add constraint fk_exam_location_pref_period foreign key (period_id)
references %SCHEMA%.exam_period (uniqueid) on delete cascade
</sql>
<plsql>
create index %SCHEMA%.idx_exam_location_pref on %SCHEMA%.exam_location_pref(location_id)
</plsql>
<mysql>
create index idx_exam_location_pref on %SCHEMA%.exam_location_pref(location_id)
</mysql>
</update>
<update version="21" date="06-Mar-2008" comment="Add External Uids to Class and Instr Offr">
<plsql>
alter table %SCHEMA%.INSTRUCTIONAL_OFFERING add external_uid varchar2(40)
</plsql>
<plsql>
alter table %SCHEMA%.CLASS_ add external_uid varchar2(40)
</plsql>
<mysql>
alter table %SCHEMA%.INSTRUCTIONAL_OFFERING add external_uid varchar(40)
</mysql>
<mysql>
alter table %SCHEMA%.CLASS_ add external_uid varchar(40)
</mysql>
</update>
<update version="22" date="01-Apr-2008" comment="Class exam event relation">
<plsql>alter table %SCHEMA%.assignment add event_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.assignment add event_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.assignment add constraint fk_assignment_event foreign key (event_id)
references %SCHEMA%.event (uniqueid) on delete set null
</sql>
<plsql>alter table %SCHEMA%.exam add event_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.exam add event_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.exam add constraint fk_exam_event foreign key (event_id)
references %SCHEMA%.event (uniqueid) on delete set null
</sql>
</update>
<update version="23" date="09-Apr-2008" comment="External Room add exam capacity">
<plsql>alter table %SCHEMA%.external_room add exam_capacity number(10)</plsql>
<mysql>alter table %SCHEMA%.external_room add exam_capacity bigint(10)</mysql>
</update>
<update version="24" date="11-Apr-2008" comment="Exam avg period, instructor email, itype organized flag">
<plsql>alter table %SCHEMA%.exam add avg_period number(10)</plsql>
<mysql>alter table %SCHEMA%.exam add avg_period bigint(10)</mysql>
<plsql>alter table %SCHEMA%.itype_desc add organized number(1)</plsql>
<mysql>alter table %SCHEMA%.itype_desc add organized int(1)</mysql>
<sql>update %SCHEMA%.itype_desc set organized = 0</sql>
<sql>update %SCHEMA%.itype_desc set organized = 1 where abbv like 'Lec%'</sql>
<sql>update %SCHEMA%.itype_desc set organized = 1 where abbv like 'Rec%'</sql>
<sql>update %SCHEMA%.itype_desc set organized = 1 where abbv like 'Prsn%'</sql>
<sql>update %SCHEMA%.itype_desc set organized = 1 where abbv like 'Lab%'</sql>
<sql>update %SCHEMA%.itype_desc set organized = 1 where abbv like 'LabP%'</sql>
<sql>update %SCHEMA%.itype_desc set organized = 1 where abbv like 'Stdo%'</sql>
<mysql>alter table %SCHEMA%.itype_desc modify organized int(1) not null</mysql>
<plsql>alter table %SCHEMA%.itype_desc add constraint nn_itype_desc_organized check (organized is not null)</plsql>
<plsql>alter table %SCHEMA%.departmental_instructor add email varchar2(200)</plsql>
<mysql>alter table %SCHEMA%.departmental_instructor add email varchar(200)</mysql>
</update>
<update version="25" date="17-Apr-2008" comment="Exam added unique id rolled foward from">
<plsql>alter table %SCHEMA%.exam add uid_rolled_fwd_from number(20)</plsql>
<mysql>alter table %SCHEMA%.exam add uid_rolled_fwd_from decimal(20,0)</mysql>
</update>
<update version="26" date="8-May-2008" comment="Event changes">
<mysql>alter table %SCHEMA%.event add class_id decimal(20,0)</mysql>
<mysql>alter table %SCHEMA%.event add exam_id decimal(20,0)</mysql>
<mysql>alter table %SCHEMA%.event add new_event_type bigint(10)</mysql>
<mysql>alter table %SCHEMA%.event add req_attd int(1)</mysql>
<plsql>alter table %SCHEMA%.event add class_id number(20,0)</plsql>
<plsql>alter table %SCHEMA%.event add exam_id number(20,0)</plsql>
<plsql>alter table %SCHEMA%.event add new_event_type number(10,0)</plsql>
<plsql>alter table %SCHEMA%.event add req_attd number(1,0)</plsql>
<sql>
alter table %SCHEMA%.event add constraint fk_event_class foreign key (class_id)
references %SCHEMA%.class_ (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.event add constraint fk_event_exam foreign key (exam_id)
references %SCHEMA%.exam (uniqueid) on delete cascade
</sql>
<sql>update %SCHEMA%.event e set e.new_event_type = 0 where e.event_type = (select t.uniqueid from %SCHEMA%.event_type t where t.reference = 'class')</sql>
<sql>update %SCHEMA%.event e set e.new_event_type = 1 where e.event_type = (select t.uniqueid from %SCHEMA%.event_type t where t.reference = 'final')</sql>
<sql>update %SCHEMA%.event e set e.new_event_type = 2 where e.event_type = (select t.uniqueid from %SCHEMA%.event_type t where t.reference = 'evening')</sql>
<sql>update %SCHEMA%.event e set e.new_event_type = 3, e.req_attd=1 where e.event_type = (select t.uniqueid from %SCHEMA%.event_type t where t.reference = 'otherWithConflict')</sql>
<sql>update %SCHEMA%.event e set e.new_event_type = 3, e.req_attd=0 where e.event_type = (select t.uniqueid from %SCHEMA%.event_type t where t.reference = 'otherNoConflict')</sql>
<sql>update %SCHEMA%.event e set e.new_event_type = 4 where e.event_type = (select t.uniqueid from %SCHEMA%.event_type t where t.reference = 'special')</sql>
<mysql>alter table %SCHEMA%.event drop foreign key fk_event_event_type</mysql>
<mysql>alter table %SCHEMA%.event drop column event_type</mysql>
<mysql>alter table %SCHEMA%.event change column new_event_type event_type bigint(10) not null</mysql>
<mysql>alter table %SCHEMA%.meeting drop foreign key fk_meeting_event_type</mysql>
<mysql>alter table %SCHEMA%.meeting drop column event_type</mysql>
<plsql>alter table %SCHEMA%.event drop constraint fk_event_event_type</plsql>
<plsql>alter table %SCHEMA%.event drop column event_type</plsql>
<plsql>alter table %SCHEMA%.event rename column new_event_type to event_type</plsql>
<plsql>alter table %SCHEMA%.event add constraint nn_event_type check (event_type is not null)</plsql>
<plsql>alter table %SCHEMA%.meeting drop constraint fk_meeting_event_type</plsql>
<plsql>alter table %SCHEMA%.meeting drop column event_type</plsql>
<sql>drop table %SCHEMA%.event_type</sql>
<sql>update %SCHEMA%.event e set e.exam_id = (select x.uniqueid from %SCHEMA%.exam x where x.event_id=e.uniqueid) where e.event_type in (1, 2)</sql>
<sql>update %SCHEMA%.event e set e.class_id = (select a.class_id from %SCHEMA%.assignment a where a.event_id=e.uniqueid) where e.event_type = 0</sql>
<sql>delete from %SCHEMA%.related_course_info where event_id in (select e.uniqueid from %SCHEMA%.event e where e.event_type != 3)</sql>
<mysql>alter table %SCHEMA%.assignment drop foreign key fk_assignment_event</mysql>
<mysql>alter table %SCHEMA%.assignment drop column event_id</mysql>
<mysql>alter table %SCHEMA%.exam drop foreign key fk_exam_event</mysql>
<mysql>alter table %SCHEMA%.exam drop column event_id</mysql>
<plsql>alter table %SCHEMA%.assignment drop constraint fk_assignment_event</plsql>
<plsql>alter table %SCHEMA%.assignment drop column event_id</plsql>
<plsql>alter table %SCHEMA%.exam drop constraint fk_exam_event</plsql>
<plsql>alter table %SCHEMA%.exam drop column event_id</plsql>
</update>
<update version="27" date="12-May-2008" comment="Exam solver parameters update">
<mysql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='ExamWeights'</mysql>
<mysql into="ORD">select ord from %SCHEMA%.solver_parameter_def where name='Exams.NotOriginalRoomWeight'</mysql>
<mysql>delete from %SCHEMA%.solver_parameter_def where name='Exams.NotOriginalRoomWeight'</mysql>
<mysql><![CDATA[update %SCHEMA%.solver_parameter_def set ord = ord - 1 where solver_param_group_id=%GID% and ord>%ORD%]]></mysql>
<mysql into="ORD">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+0, 'Exams.InstructorDirectConflictWeight', '0.0', 'Direct instructor conflict weight', 'double', %ORD%+1, 1, %GID%),
(%ID%+1, 'Exams.InstructorMoreThanTwoADayWeight', '0.0', 'Three or more exams a day instructor conflict weight', 'double', %ORD%+2, 1, %GID%),
(%ID%+2, 'Exams.InstructorBackToBackConflictWeight', '0.0', 'Back-to-back instructor conflict weight', 'double', %ORD%+3, 1, %GID%),
(%ID%+3, 'Exams.InstructorDistanceBackToBackConflictWeight', '0.0', 'Distance back-to-back instructor conflict weight', 'double', %ORD%+4, 1, %GID%),
(%ID%+4, 'Exams.PerturbationWeight', '0.01', 'Perturbation penalty weight', 'double', %ORD%+5, 1, %GID%)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<plsql><![CDATA[
update %SCHEMA%.solver_parameter_def x set x.ord = x.ord - 1 where
x.solver_param_group_id = (select g.uniqueid from %SCHEMA%.solver_parameter_group g where g.name='ExamWeights') and
x.ord > (select p.ord from %SCHEMA%.solver_parameter_def p where p.name='Exams.NotOriginalRoomWeight')
]]></plsql>
<plsql>delete %SCHEMA%.solver_parameter_def where name='Exams.NotOriginalRoomWeight'</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.InstructorDirectConflictWeight' as name,
'0.0' as default_vale,
'Direct instructor conflict weight' as description,
'double' as type, 13 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.InstructorMoreThanTwoADayWeight' as name,
'0.0' as default_vale,
'Three or more exams a day instructor conflict weight' as description,
'double' as type, 14 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.InstructorBackToBackConflictWeight' as name,
'0.0' as default_vale,
'Back-to-back instructor conflict weight' as description,
'double' as type, 15 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.InstructorDistanceBackToBackConflictWeight' as name,
'0.0' as default_vale,
'Distance back-to-back instructor conflict weight' as description,
'double' as type, 16 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.PerturbationWeight' as name,
'0.001' as default_vale,
'Perturbation penalty weight' as description,
'double' as type, 17 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
</update>
<update version="28" date="22-May-2008" comment="Exam solver parameters update">
<mysql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='ExamWeights'</mysql>
<mysql into="ORD">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql><![CDATA[
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+0, 'Exams.RoomSplitDistanceWeight', '0.01', 'If an examination in split between two or more rooms, weight for an average distance between these rooms', 'double', %ORD%+1, 1, %GID%),
(%ID%+1, 'Exams.LargeSize', '-1', 'Large Exam Penalty: minimal size of a large exam (disabled if -1)', 'integer', %ORD%+2, 1, %GID%),
(%ID%+2, 'Exams.LargePeriod', '0.67', 'Large Exam Penalty: first discouraged period = number of periods x this factor', 'double', %ORD%+3, 1, %GID%),
(%ID%+3, 'Exams.LargeWeight', '1.0', 'Large Exam Penalty: weight of a large exam that is assigned on or after the first discouraged period', 'double', %ORD%+4, 1, %GID%)
]]></mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.RoomSplitDistanceWeight' as name,
'0.01' as default_vale,
'If an examination in split between two or more rooms, weight for an average distance between these rooms' as description,
'double' as type, 18 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.LargeSize' as name,
'-1' as default_vale,
'Large Exam Penalty: minimal size of a large exam (disabled if -1)' as description,
'integer' as type, 19 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql><![CDATA[
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.LargePeriod' as name,
'0.67' as default_vale,
'Large Exam Penalty: first discouraged period = number of periods x this factor' as description,
'double' as type, 20 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
]]></plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Exams.LargeWeight' as name,
'1.0' as default_vale,
'Large Exam Penalty: weight of a large exam that is assigned on or after the first discouraged period' as description,
'double' as type, 21 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
</update>
<update version="29" date="2-Jun-2008" comment="Event speedup">
<mysql>create index idx_event_class on %SCHEMA%.event(class_id)</mysql>
<mysql>create index idx_event_exam on %SCHEMA%.event(exam_id)</mysql>
<mysql>create index idx_room_permid on %SCHEMA%.room(permanent_id, session_id)</mysql>
<mysql>create index idx_location_permid on %SCHEMA%.non_university_location(permanent_id, session_id)</mysql>
<mysql>create index idx_student_class_enrl_course on %SCHEMA%.student_class_enrl(course_offering_id)</mysql>
<plsql>create index %SCHEMA%.idx_event_class on %SCHEMA%.event(class_id)</plsql>
<plsql>create index %SCHEMA%.idx_event_exam on %SCHEMA%.event(exam_id)</plsql>
<plsql>create index %SCHEMA%.idx_room_permid on %SCHEMA%.room(permanent_id, session_id)</plsql>
<plsql>create index %SCHEMA%.idx_location_permid on %SCHEMA%.non_university_location(permanent_id, session_id)</plsql>
<plsql>create index %SCHEMA%.idx_student_class_enrl_course on %SCHEMA%.student_class_enrl(course_offering_id)</plsql>
</update>
<update version="30" date="16-Jun-2008" comment="Room type">
<plsql>
create table %SCHEMA%.room_type (
uniqueid number(20,0) constraint nn_room_type_uid not null,
reference varchar2(20) constraint nn_room_type_ref not null,
label varchar2(60) constraint nn_room_type_label not null,
ord number(10,0) constraint nn_room_type_ord not null
)
</plsql>
<plsql>alter table %SCHEMA%.room_type add constraint pk_room_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.room_type (
uniqueid decimal(20,0) not null primary key,
reference varchar(20) not null,
label varchar(60) not null,
ord int(10) not null
) engine = INNODB
</mysql>
<plsql>insert into %SCHEMA%.room_type(uniqueid, reference, label, ord) values (ref_table_seq.nextval, 'genClassroom', 'Classrooms', 0)</plsql>
<plsql>insert into %SCHEMA%.room_type(uniqueid, reference, label, ord) values (ref_table_seq.nextval, 'computingLab', 'Computing Laboratories', 1)</plsql>
<plsql>insert into %SCHEMA%.room_type(uniqueid, reference, label, ord) values (ref_table_seq.nextval, 'departmental', 'Additional Instructional Rooms', 2)</plsql>
<plsql>insert into %SCHEMA%.room_type(uniqueid, reference, label, ord) values (ref_table_seq.nextval, 'specialUse', 'Special Use Rooms',3)</plsql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.room_type(uniqueid, reference, label, ord) values
(%ID%+0, 'genClassroom', 'Classrooms', 0),
(%ID%+1, 'computingLab', 'Computing Laboratories', 1),
(%ID%+2, 'departmental', 'Additional Instructional Rooms', 2),
(%ID%+3, 'specialUse', 'Special Use Rooms', 3)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<plsql>alter table %SCHEMA%.room add room_type number(20,0)</plsql>
<mysql>alter table %SCHEMA%.room add room_type decimal(20,0)</mysql>
<sql>update %SCHEMA%.room r set r.room_type = (select t.uniqueid from %SCHEMA%.room_type t where t.reference=r.scheduled_room_type)</sql>
<sql>alter table %SCHEMA%.room drop column scheduled_room_type</sql>
<sql>alter table %SCHEMA%.room add constraint nn_room_type check (room_type is not null)</sql>
<sql>
alter table %SCHEMA%.room add constraint fk_room_type foreign key (room_type)
references %SCHEMA%.room_type (uniqueid) on delete cascade
</sql>
<plsql>alter table %SCHEMA%.external_room add room_type number(20,0)</plsql>
<mysql>alter table %SCHEMA%.external_room add room_type decimal(20,0)</mysql>
<sql>update %SCHEMA%.external_room r set r.room_type = (select t.uniqueid from %SCHEMA%.room_type t where t.reference=r.scheduled_room_type)</sql>
<sql>alter table %SCHEMA%.external_room drop column scheduled_room_type</sql>
<sql>alter table %SCHEMA%.external_room add constraint nn_external_room_type check (room_type is not null)</sql>
<sql>
alter table %SCHEMA%.external_room add constraint fk_external_room_type foreign key (room_type)
references %SCHEMA%.room_type (uniqueid) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.room_type_option (
room_type number(20,0) constraint nn_rtype_opt_type not null,
session_id number(20,0) constraint nn_rtype_opt_session not null,
status number(10,0) constraint nn_rtype_opt_status not null,
message varchar2(200)
)
</plsql>
<plsql>
alter table %SCHEMA%.room_type_option
add constraint pk_room_type_option primary key (room_type, session_id)
</plsql>
<mysql>
create table %SCHEMA%.room_type_option (
room_type decimal(20,0) not null,
session_id decimal(20,0) not null,
status int(10) not null,
message varchar(200),
primary key (room_type, session_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.room_type_option add constraint fk_rtype_option_type foreign key (room_type)
references %SCHEMA%.room_type (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.room_type_option add constraint fk_rtype_option_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
</update>
<update version="31" date="7-Jul-2008" comment="Student sectioning solver parameters">
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_group</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, ord, param_type) values
(%ID%, 'StudentSctBasic', 'Basic Parameters', %ORD%, 2),
(%ID%+1, 'StudentSct', 'General Parameters', %ORD%+1, 2)
</mysql>
<mysql><![CDATA[
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+2, 'StudentSctBasic.Mode', 'Initial', 'Solver mode', 'enum(Initial,MPP)', 0, 1, %ID%),
(%ID%+3, 'StudentSctBasic.WhenFinished', 'No Action', 'When finished', 'enum(No Action,Save,Save and Unload)', 1, 1, %ID%),
(%ID%+4, 'Termination.Class', 'net.sf.cpsolver.ifs.termination.GeneralTerminationCondition','Student sectioning termination class','text', 0, 0, %ID%+1),
(%ID%+5, 'Termination.StopWhenComplete','true', 'Stop when a complete solution if found', 'boolean', 1, 1, %ID%+1),
(%ID%+6, 'Termination.TimeOut','28800', 'Maximal solver time (in sec)', 'integer', 2, 1, %ID%+1),
(%ID%+7, 'Comparator.Class', 'net.sf.cpsolver.ifs.solution.GeneralSolutionComparator', 'Student sectioning solution comparator class', 'text', 3, 0, %ID%+1),
(%ID%+8, 'Value.Class', 'net.sf.cpsolver.studentsct.heuristics.EnrollmentSelection', 'Student sectioning value selection class', 'text', 4, 0, %ID%+1),
(%ID%+9, 'Value.WeightConflicts', '1.0', 'CBS weight', 'double', 5, 0, %ID%+1),
(%ID%+10, 'Value.WeightNrAssignments', '0.0', 'Number of past assignments weight', 'double', 6, 0, %ID%+1),
(%ID%+11, 'Variable.Class', 'net.sf.cpsolver.ifs.heuristics.GeneralVariableSelection', 'Student sectioning variable selection class', 'text', 7, 0, %ID%+1),
(%ID%+12, 'Neighbour.Class', 'net.sf.cpsolver.studentsct.heuristics.StudentSctNeighbourSelection', 'Student sectioning neighbour selection class', 'text', 8, 0, %ID%+1),
(%ID%+13, 'General.SaveBestUnassigned', '-1', 'Save best even when no complete solution is found', 'integer', 9, 0, %ID%+1),
(%ID%+14, 'StudentSct.StudentDist', 'true', 'Use student distance conflicts', 'boolean', 10, 1, %ID%+1),
(%ID%+15, 'StudentSct.CBS', 'true', 'Use conflict-based statistics', 'boolean', 11, 1, %ID%+1),
(%ID%+16, 'Load.IncludeCourseDemands', 'true', 'Load real student requests', 'boolean', 12, 0, %ID%+1),
(%ID%+17, 'Load.IncludeLastLikeStudents', 'true', 'Load last-like course demands', 'boolean', 13, 0, %ID%+1),
(%ID%+18, 'SectionLimit.PreferDummyStudents', 'true', 'Section limit constraint: favour unassignment of last-like course requests', 'boolean', 14, 0, %ID%+1),
(%ID%+19, 'Student.DummyStudentWeight', '0.01', 'Last-like student request weight', 'double', 15, 1, %ID%+1),
(%ID%+20, 'Neighbour.BranchAndBoundMinimizePenalty', 'false', 'Branch&bound: If true, section penalties (instead of section values) are minimized', 'boolean',16, 0, %ID%+1),
(%ID%+21, 'Neighbour.BranchAndBoundTimeout', '5000','Branch&bound: Timeout for each neighbour selection (in milliseconds)', 'integer',17, 1, %ID%+1),
(%ID%+22, 'Neighbour.RandomUnassignmentProb','0.5','Random Unassignment: Probability of a random selection of a student','double',18,1,%ID%+1),
(%ID%+23, 'Neighbour.RandomUnassignmentOfProblemStudentProb','0.9','Random Unassignment: Probability of a random selection of a problematic student','double',19,1,%ID%+1),
(%ID%+24, 'Neighbour.SwapStudentsTimeout', '5000', 'Student Swap: Timeout for each neighbour selection (in milliseconds)','integer',20,1,%ID%+1),
(%ID%+25, 'Neighbour.SwapStudentsMaxValues', '100', 'Student Swap: Limit for the number of considered values for each course request', 'integer', 21, 1, %ID%+1),
(%ID%+26, 'Neighbour.MaxValues', '100', 'Backtrack: Limit on the number of enrollments to be visited of each course request', 'integer', 22, 1, %ID%+1),
(%ID%+27, 'Neighbour.BackTrackTimeout', '5000', 'Backtrack: Timeout for each neighbour selection (in milliseconds)','integer',23,1,%ID%+1),
(%ID%+28, 'Neighbour.BackTrackDepth', '4', 'Backtrack: Search depth.','integer',24,1,%ID%+1),
(%ID%+29, 'CourseRequest.SameTimePrecise', 'true', 'More precise (but slower) computation of enrollments of a course request while skipping enrollments with the same times.', 'boolean', 25, 0, %ID%+1)
]]></mysql>
<mysql>
insert into %SCHEMA%.solver_predef_setting (uniqueid, name, description, appearance) values
(%ID%+30, 'StudentSct.Default', 'Default', 3)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_GROUP (UNIQUEID, NAME, DESCRIPTION, CONDITION, ORD, PARAM_TYPE) values
(%SCHEMA%.SOLVER_PARAMETER_GROUP_SEQ.nextval, 'StudentSctBasic', 'Basic Parameters', '', -1,2)
</plsql>
<plsql>
update %SCHEMA%.SOLVER_PARAMETER_GROUP g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.SOLVER_PARAMETER_GROUP x ) where g.name='StudentSctBasic'
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'StudentSctBasic.Mode' as NAME, 'Initial' as DEFAULT_VALUE,
'Solver mode' as DESCRIPTION, 'enum(Initial,MPP)' as TYPE, 0 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSctBasic')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'StudentSctBasic.WhenFinished' as NAME, 'No Action' as DEFAULT_VALUE,
'When finished' as DESCRIPTION, 'enum(No Action,Save,Save and Unload)' as TYPE, 1 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSctBasic')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_GROUP (UNIQUEID, NAME, DESCRIPTION, CONDITION, ORD, PARAM_TYPE) values
(%SCHEMA%.SOLVER_PARAMETER_GROUP_SEQ.nextval, 'StudentSct', 'General Parameters', '', -1,2)
</plsql>
<plsql>
update %SCHEMA%.SOLVER_PARAMETER_GROUP g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.SOLVER_PARAMETER_GROUP x ) where g.name='StudentSct'
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Termination.Class' as NAME, 'net.sf.cpsolver.ifs.termination.GeneralTerminationCondition' as DEFAULT_VALUE,
'Student sectioning termination class' as DESCRIPTION, 'text' as TYPE, 0 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Termination.StopWhenComplete' as NAME, 'true' as DEFAULT_VALUE,
'Stop when a complete solution if found' as DESCRIPTION, 'boolean' as TYPE, 1 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Termination.TimeOut' as NAME, '28800' as DEFAULT_VALUE,
'Maximal solver time (in sec)' as DESCRIPTION, 'integer' as TYPE, 2 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Comparator.Class' as NAME, 'net.sf.cpsolver.ifs.solution.GeneralSolutionComparator' as DEFAULT_VALUE,
'Student sectioning solution comparator class' as DESCRIPTION, 'text' as TYPE, 3 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Value.Class' as NAME, 'net.sf.cpsolver.studentsct.heuristics.EnrollmentSelection' as DEFAULT_VALUE,
'Student sectioning value selection class' as DESCRIPTION, 'text' as TYPE, 4 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Value.WeightConflicts' as NAME, '1.0' as DEFAULT_VALUE,
'CBS weight' as DESCRIPTION, 'double' as TYPE, 5 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Value.WeightNrAssignments' as NAME, '0.0' as DEFAULT_VALUE,
'Number of past assignments weight' as DESCRIPTION, 'double' as TYPE, 6 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Variable.Class' as NAME, 'net.sf.cpsolver.ifs.heuristics.GeneralVariableSelection' as DEFAULT_VALUE,
'Student sectioning variable selection class' as DESCRIPTION, 'text' as TYPE, 7 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.Class' as NAME, 'net.sf.cpsolver.studentsct.heuristics.StudentSctNeighbourSelection' as DEFAULT_VALUE,
'Student sectioning neighbour selection class' as DESCRIPTION, 'text' as TYPE, 8 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'General.SaveBestUnassigned' as NAME, '-1' as DEFAULT_VALUE,
'Save best even when no complete solution is found' as DESCRIPTION, 'integer' as TYPE, 9 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'StudentSct.StudentDist' as NAME, 'true' as DEFAULT_VALUE,
'Use student distance conflicts' as DESCRIPTION, 'boolean' as TYPE, 10 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'StudentSct.CBS' as NAME, 'true' as DEFAULT_VALUE,
'Use conflict-based statistics' as DESCRIPTION, 'boolean' as TYPE, 11 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Load.IncludeCourseDemands' as NAME, 'true' as DEFAULT_VALUE,
'Load real student requests' as DESCRIPTION, 'boolean' as TYPE, 12 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Load.IncludeLastLikeStudents' as NAME, 'true' as DEFAULT_VALUE,
'Load last-like course demands' as DESCRIPTION, 'boolean' as TYPE, 13 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'SectionLimit.PreferDummyStudents' as NAME, 'true' as DEFAULT_VALUE,
'Section limit constraint: favour unassignment of last-like course requests' as DESCRIPTION,
'boolean' as TYPE, 14 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Student.DummyStudentWeight' as NAME, '0.01' as DEFAULT_VALUE,
'Last-like student request weight' as DESCRIPTION, 'double' as TYPE, 15 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql><![CDATA[
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.BranchAndBoundMinimizePenalty' as NAME, 'false' as DEFAULT_VALUE,
'Branch&bound: If true, section penalties (instead of section values) are minimized' as DESCRIPTION,
'boolean' as TYPE, 16 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.BranchAndBoundTimeout' as NAME, '5000' as DEFAULT_VALUE,
'Branch&bound: Timeout for each neighbour selection (in milliseconds)' as DESCRIPTION,
'integer' as TYPE, 17 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
]]></plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.RandomUnassignmentProb' as NAME, '0.5' as DEFAULT_VALUE,
'Random Unassignment: Probability of a random selection of a student' as DESCRIPTION,
'double' as TYPE, 18 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.RandomUnassignmentOfProblemStudentProb' as NAME, '0.9' as DEFAULT_VALUE,
'Random Unassignment: Probability of a random selection of a problematic student' as DESCRIPTION,
'double' as TYPE, 19 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.SwapStudentsTimeout' as NAME, '5000' as DEFAULT_VALUE,
'Student Swap: Timeout for each neighbour selection (in milliseconds)' as DESCRIPTION,
'integer' as TYPE, 20 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.SwapStudentsMaxValues' as NAME, '100' as DEFAULT_VALUE,
'Student Swap: Limit for the number of considered values for each course request' as DESCRIPTION,
'integer' as TYPE, 21 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.MaxValues' as NAME, '100' as DEFAULT_VALUE,
'Backtrack: Limit on the number of enrollments to be visited of each course request' as DESCRIPTION,
'integer' as TYPE, 22 as ORD,1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.BackTrackTimeout' as NAME, '5000' as DEFAULT_VALUE,
'Backtrack: Timeout for each neighbour selection (in milliseconds)' as DESCRIPTION,
'integer' as TYPE, 23 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'Neighbour.BackTrackDepth' as NAME, '4' as DEFAULT_VALUE,
'Backtrack: Search depth' as DESCRIPTION, 'integer' as TYPE, 24 as ORD, 1 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PARAMETER_DEF (select %SCHEMA%.SOLVER_PARAMETER_DEF_SEQ.nextval as UNIQUEID,
'CourseRequest.SameTimePrecise' as NAME, 'true' as DEFAULT_VALUE,
'More precise (but slower) computation of enrollments of a course request while skipping enrollments with the same times' as DESCRIPTION,
'boolean' as TYPE, 25 as ORD, 0 as VISIBLE,
UNIQUEID as SOLVER_PARAM_GROUP_ID from %SCHEMA%.SOLVER_PARAMETER_GROUP where NAME='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.SOLVER_PREDEF_SETTING (uniqueid, name, description, appearance)
values(%SCHEMA%.Solver_Predef_Setting_Seq.Nextval, 'StudentSct.Default', 'Default', 3)
</plsql>
</update>
<update version="32" date="9-Jul-2008" comment="Event changes">
<mysql>alter table %SCHEMA%.event_contact modify phone varchar(10)</mysql>
<mysql>alter table %SCHEMA%.event_contact modify email varchar(200)</mysql>
<mysql>alter table %SCHEMA%.timetable_manager modify email_address varchar(200)</mysql>
<plsql>alter table %SCHEMA%.event_contact drop constraint nn_event_contact_phone</plsql>
<plsql>alter table %SCHEMA%.event_contact drop constraint nn_event_contact_email</plsql>
<plsql>alter table %SCHEMA%.event_contact modify email varchar2(200)</plsql>
<plsql>alter table %SCHEMA%.timetable_manager modify email_address varchar2(200)</plsql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi = next_hi+1</mysql>
<mysql>insert into %SCHEMA%.roles (role_id, reference, abbv) values (%ID%, 'Event Mgr', 'Event Manager')</mysql>
<plsql>insert into %SCHEMA%.roles (role_id, reference, abbv) values (%SCHEMA%.role_seq.nextval, 'Event Mgr', 'Event Manager')</plsql>
<mysql>alter table %SCHEMA%.event add email varchar(1000)</mysql>
<plsql>alter table %SCHEMA%.event add email varchar2(1000)</plsql>
<mysql>
create table %SCHEMA%.sponsoring_organization (
uniqueid decimal(20,0) primary key not null,
name varchar(100) not null,
email varchar(200)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.sponsoring_organization (
uniqueid number(20,0) constraint nn_sponsor_org_id not null,
name varchar2(100) constraint nn_sponsor_org_name not null,
email varchar2(200)
)
</plsql>
<plsql>
alter table %SCHEMA%.sponsoring_organization
add constraint pk_sponsoring_organization primary key (uniqueid)
</plsql>
<mysql>alter table %SCHEMA%.event add sponsor_org_id decimal(20,0)</mysql>
<plsql>alter table %SCHEMA%.event add sponsor_org_id number(20,0)</plsql>
<sql>
alter table %SCHEMA%.event add constraint fk_event_sponsor_org foreign key (sponsor_org_id)
references %SCHEMA%.sponsoring_organization (uniqueid) on delete set null
</sql>
</update>
<update version="33" date="16-Jul-2008" comment="Room Type">
<mysql>alter table %SCHEMA%.room_type add is_room int(1) not null default 1</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.room_type(uniqueid, reference, label, ord, is_room) values
(%ID%, 'nonUniversity', 'Non-University Locations', 4, 0)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<mysql>alter table %SCHEMA%.non_university_location add room_type decimal(20,0)</mysql>
<plsql>alter table %SCHEMA%.room_type add is_room number(1) default 1 constraint nn_room_type_room not null</plsql>
<plsql>
insert into %SCHEMA%.room_type(uniqueid, reference, label, ord, is_room)
values (%SCHEMA%.ref_table_seq.nextval, 'nonUniversity', 'Non-University Locations', 4, 0)
</plsql>
<plsql>alter table %SCHEMA%.non_university_location add room_type number(20,0)</plsql>
<sql>
update %SCHEMA%.non_university_location r set r.room_type =
(select t.uniqueid from %SCHEMA%.room_type t where t.reference='nonUniversity')
</sql>
<sql>
alter table %SCHEMA%.non_university_location
add constraint nn_location_type check (room_type is not null)
</sql>
<sql>
alter table %SCHEMA%.non_university_location add constraint fk_location_type
foreign key (room_type) references %SCHEMA%.room_type (uniqueid) on delete cascade
</sql>
</update>
<update version="34" date="29-Jul-2008" comment="Event Notes">
<mysql>alter table %SCHEMA%.event_note drop foreign key fk_event_note_std_note</mysql>
<mysql>alter table %SCHEMA%.event_note drop column note_id</mysql>
<mysql>alter table %SCHEMA%.event_note add time_stamp datetime</mysql>
<mysql>update %SCHEMA%.event_note set time_stamp = now()</mysql>
<mysql>alter table %SCHEMA%.event_note add constraint nn_event_note_ts check (time_stamp is not null)</mysql>
<mysql>alter table %SCHEMA%.event_note add note_type int(10) not null default 0</mysql>
<mysql>alter table %SCHEMA%.event_note add uname varchar(100)</mysql>
<mysql>alter table %SCHEMA%.event_note add meetings varchar(1000)</mysql>
<plsql>alter table %SCHEMA%.event_note drop constraint fk_event_note_std_note</plsql>
<plsql>alter table %SCHEMA%.event_note drop column note_id</plsql>
<plsql>alter table %SCHEMA%.event_note add time_stamp date</plsql>
<plsql>update %SCHEMA%.event_note set time_stamp = CURRENT_TIMESTAMP</plsql>
<plsql>alter table %SCHEMA%.event_note add constraint nn_event_note_ts check (time_stamp is not null)</plsql>
<plsql>alter table %SCHEMA%.event_note add note_type number(10) default 0 constraint nn_event_note_type not null</plsql>
<plsql>alter table %SCHEMA%.event_note add uname varchar2(100)</plsql>
<plsql>alter table %SCHEMA%.event_note add meetings varchar2(1000)</plsql>
</update>
<update version="35" date="5-Aug-2008" comment="Event phone, session dates">
<mysql>alter table %SCHEMA%.event_contact modify phone varchar(25)</mysql>
<mysql>alter table %SCHEMA%.sessions add event_begin_date date</mysql>
<mysql>update %SCHEMA%.sessions set event_begin_date = adddate(session_begin_date_time,-31)</mysql>
<mysql>alter table %SCHEMA%.sessions add constraint nn_sessions_event_begin_date check (event_begin_date is not null)</mysql>
<mysql>alter table %SCHEMA%.sessions add event_end_date date</mysql>
<mysql>update %SCHEMA%.sessions set event_end_date = adddate(session_end_date_time,31)</mysql>
<mysql>alter table %SCHEMA%.sessions add constraint nn_sessions_event_end_date check (event_end_date is not null)</mysql>
<plsql>alter table %SCHEMA%.event_contact modify phone varchar2(25)</plsql>
<plsql>alter table %SCHEMA%.sessions add event_begin_date date</plsql>
<plsql>update %SCHEMA%.sessions set event_begin_date = session_begin_date_time-31</plsql>
<plsql>alter table %SCHEMA%.sessions add constraint nn_sessions_event_begin_date check (event_begin_date is not null)</plsql>
<plsql>alter table %SCHEMA%.sessions add event_end_date date</plsql>
<plsql>update %SCHEMA%.sessions set event_end_date = session_end_date_time+31</plsql>
<plsql>alter table %SCHEMA%.sessions add constraint nn_sessions_event_end_date check (event_end_date is not null)</plsql>
</update>
<update version="36" date="9-Sep-2008" comment="Added (optional) exam size">
<mysql>alter table %SCHEMA%.exam add exam_size int(10)</mysql>
<plsql>alter table %SCHEMA%.exam add exam_size number(10,0)</plsql>
</update>
<update version="37" date="9-Sep-2008" comment="Float data types">
<sql onFail="next">alter table %SCHEMA%.class_ modify room_ratio float</sql>
<sql onFail="next">alter table %SCHEMA%.course_subpart_credit modify fixed_min_credit float</sql>
<sql onFail="next">alter table %SCHEMA%.course_subpart_credit modify max_credit float</sql>
<sql onFail="next">alter table %SCHEMA%.course_credit_unit_config modify fixed_units float</sql>
<sql onFail="next">alter table %SCHEMA%.course_credit_unit_config modify min_units float</sql>
<sql onFail="next">alter table %SCHEMA%.course_credit_unit_config modify max_units float</sql>
<sql onFail="next">alter table %SCHEMA%.course_catalog modify fixed_min_credit float</sql>
<sql onFail="next">alter table %SCHEMA%.course_catalog modify max_credit float</sql>
</update>
<update version="38" date="9-Sep-2008" comment="Curricula tables">
<!-- Create tables -->
<plsql>
create table %SCHEMA%.curricula
(
uniqueid number(20) constraint nn_curricula_uniqueid not null,
abbv varchar2(20) constraint nn_curricula_abbv not null,
name varchar2(60) constraint nn_curricula_name not null,
acad_area_id number(20),
dept_id number(20) constraint nn_curricula_dept not null,
constraint pk_curricula primary key (uniqueid)
)
</plsql>
<plsql>
create table %SCHEMA%.curricula_clasf
(
uniqueid number(20) constraint nn_curricula_clasf_uniqueid not null,
curricula_id number(20) constraint nn_curricula_clasf_cur_id not null,
name varchar2(20) constraint nn_curricula_clasf_name not null,
acad_clasf_id number(20) ,
nr_students number(10) constraint nn_curricula_clasf_nr_students not null,
ll_students number(10),
ord number(10) constraint nn_curricula_clasf_ord not null,
constraint pk_curricula_clasf primary key (uniqueid)
)
</plsql>
<plsql>
create table %SCHEMA%.curricula_course
(
uniqueid number(20) constraint nn_curricula_course_uniqueid not null,
course_id number(20) constraint nn_curricula_course_course_id not null,
cur_clasf_id number(20) constraint nn_curricula_cur_clasf_id not null,
pr_share float constraint nn_curricula_course_prsh not null,
ll_share float,
group_nr number(10) constraint nn_curricula_course_group_nr not null,
ord number(10) constraint nn_curricula_course_ord not null,
constraint pk_curricula_course primary key (uniqueid)
)
</plsql>
<mysql>
create table %SCHEMA%.curricula
(
uniqueid decimal(20,0) primary key not null,
abbv varchar(20) not null,
name varchar(60) not null,
acad_area_id decimal(20,0),
dept_id decimal(20,0) not null
) engine = INNODB
</mysql>
<mysql>
create table %SCHEMA%.curricula_clasf
(
uniqueid decimal(20,0) primary key not null,
curricula_id decimal(20,0) not null,
name varchar(20) not null,
acad_clasf_id decimal(20,0),
nr_students bigint(10) not null,
ll_students bigint(10),
ord bigint(10) not null
) engine = INNODB
</mysql>
<mysql>
create table %SCHEMA%.curricula_course
(
uniqueid decimal(20,0) not null primary key,
course_id decimal(20,0) not null,
cur_clasf_id decimal(20,0) not null,
pr_share float not null,
ll_share float,
group_nr bigint(10) not null,
ord bigint(10) not null
) engine = INNODB
</mysql>
<!-- Create foreign keys -->
<sql>
alter table %SCHEMA%.curricula
add constraint fk_curricula_dept foreign key (dept_id)
references %SCHEMA%.department (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.curricula
add constraint fk_curricula_acad_area foreign key (acad_area_id)
references %SCHEMA%.academic_area (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.curricula_clasf
add constraint fk_curricula_clasf_curricula foreign key (curricula_id)
references %SCHEMA%.curricula (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.curricula_clasf
add constraint fk_curricula_clasf_acad_clasf foreign key (acad_clasf_id)
references %SCHEMA%.academic_classification (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.curricula_course
add constraint fk_curricula_course_clasf foreign key (cur_clasf_id)
references %SCHEMA%.curricula_clasf (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.curricula_course
add constraint fk_curricula_course_course foreign key (course_id)
references %SCHEMA%.course_offering (uniqueid) on delete cascade
</sql>
</update>
<update version="39" date="10-Sep-2008" comment="Curricula changes">
<mysql>alter table %SCHEMA%.curricula_course modify group_nr varchar(20) null</mysql>
<plsql>alter table %SCHEMA%.curricula_course drop constraints nn_curricula_course_group_nr</plsql>
<plsql>alter table %SCHEMA%.curricula_course modify group_nr varchar2(20)</plsql>
</update>
<update version="40" date="10-Sep-2008" comment="Curricula renames">
<plsql>alter table %SCHEMA%.curricula rename to curriculum</plsql>
<plsql>alter table %SCHEMA%.curricula_clasf rename to curriculum_clasf</plsql>
<plsql>alter table %SCHEMA%.curricula_course rename to curriculum_course</plsql>
<plsql>alter table %SCHEMA%.curriculum rename constraint nn_curricula_uniqueid to nn_curriculum_uniqueid</plsql>
<plsql>alter table %SCHEMA%.curriculum rename constraint nn_curricula_abbv to nn_curriculum_abbv</plsql>
<plsql>alter table %SCHEMA%.curriculum rename constraint nn_curricula_name to nn_curriculum_name</plsql>
<plsql>alter table %SCHEMA%.curriculum rename constraint nn_curricula_dept to nn_curriculum_dept</plsql>
<plsql>alter table %SCHEMA%.curriculum rename constraint pk_curricula to pk_curriculum</plsql>
<plsql>alter table %SCHEMA%.curriculum rename constraint fk_curricula_dept to fk_curriculum_dept</plsql>
<plsql>alter table %SCHEMA%.curriculum rename constraint fk_curricula_acad_area to fk_curriculum_acad_area</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf rename constraint nn_curricula_clasf_uniqueid to nn_curriculum_clasf_uniqueid</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf rename constraint nn_curricula_clasf_cur_id to nn_curriculum_clasf_cur_id</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf rename constraint nn_curricula_clasf_name to nn_curriculum_clasf_name</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf rename constraint nn_curricula_clasf_nr_students to nn_curriculum_clasf_nrstudents</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf rename constraint nn_curricula_clasf_ord to nn_curriculum_clasf_ord</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf rename constraint pk_curricula_clasf to pk_curriculum_clasf</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf rename constraint fk_curricula_clasf_curricula to fk_curriculum_clasf_curriculum</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf rename constraint fk_curricula_clasf_acad_clasf to fk_curriculum_clasf_acad_clasf</plsql>
<plsql>alter table %SCHEMA%.curriculum_course rename constraint nn_curricula_course_uniqueid to nn_curriculum_course_uniqueid</plsql>
<plsql>alter table %SCHEMA%.curriculum_course rename constraint nn_curricula_course_course_id to nn_curriculum_course_course_id</plsql>
<plsql>alter table %SCHEMA%.curriculum_course rename constraint nn_curricula_cur_clasf_id to nn_curriculum_cur_clasf_id</plsql>
<plsql>alter table %SCHEMA%.curriculum_course rename constraint nn_curricula_course_prsh to nn_curriculum_course_prsh</plsql>
<plsql>alter table %SCHEMA%.curriculum_course rename constraint nn_curricula_course_ord to nn_curriculum_course_ord</plsql>
<plsql>alter table %SCHEMA%.curriculum_course rename constraint pk_curricula_course to pk_curriculum_course</plsql>
<plsql>alter table %SCHEMA%.curriculum_course rename constraint fk_curricula_course_clasf to fk_curriculum_course_clasf</plsql>
<plsql>alter table %SCHEMA%.curriculum_course rename constraint fk_curricula_course_course to fk_curriculum_course_course</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf rename column curricula_id to curriculum_id</plsql>
<mysql>alter table %SCHEMA%.curricula rename to %SCHEMA%.curriculum</mysql>
<mysql>alter table %SCHEMA%.curricula_clasf rename to %SCHEMA%.curriculum_clasf</mysql>
<mysql>alter table %SCHEMA%.curricula_course rename to %SCHEMA%.curriculum_course</mysql>
<mysql>alter table %SCHEMA%.curriculum drop foreign key fk_curricula_dept</mysql>
<mysql>alter table %SCHEMA%.curriculum drop foreign key fk_curricula_acad_area</mysql>
<mysql>alter table %SCHEMA%.curriculum_clasf drop foreign key fk_curricula_clasf_curricula</mysql>
<mysql>alter table %SCHEMA%.curriculum_clasf drop foreign key fk_curricula_clasf_acad_clasf</mysql>
<mysql>alter table %SCHEMA%.curriculum_course drop foreign key fk_curricula_course_clasf</mysql>
<mysql>alter table %SCHEMA%.curriculum_course drop foreign key fk_curricula_course_course</mysql>
<mysql>alter table %SCHEMA%.curriculum_clasf change column curricula_id curriculum_id decimal(20,0) not null</mysql>
<mysql>
alter table %SCHEMA%.curriculum
add constraint fk_curriculum_dept foreign key (dept_id)
references %SCHEMA%.department (uniqueid) on delete cascade
</mysql>
<mysql>
alter table %SCHEMA%.curriculum
add constraint fk_curriculum_acad_area foreign key (acad_area_id)
references %SCHEMA%.academic_area (uniqueid) on delete set null
</mysql>
<mysql>
alter table %SCHEMA%.curriculum_clasf
add constraint fk_curriculum_clasf_curriculum foreign key (curriculum_id)
references %SCHEMA%.curriculum (uniqueid) on delete cascade
</mysql>
<mysql>
alter table %SCHEMA%.curriculum_clasf
add constraint fk_curriculum_clasf_acad_clasf foreign key (acad_clasf_id)
references %SCHEMA%.academic_classification (uniqueid) on delete set null
</mysql>
<mysql>
alter table %SCHEMA%.curriculum_course
add constraint fk_curriculum_course_clasf foreign key (cur_clasf_id)
references %SCHEMA%.curriculum_clasf (uniqueid) on delete cascade
</mysql>
<mysql>
alter table %SCHEMA%.curriculum_course
add constraint fk_curriculum_course_course foreign key (course_id)
references %SCHEMA%.course_offering (uniqueid) on delete cascade
</mysql>
</update>
<update version="41" date="15-Sep-2008" comment="Exam print offset">
<mysql>alter table %SCHEMA%.exam add print_offset int(10)</mysql>
<plsql>alter table %SCHEMA%.exam add print_offset number(10,0)</plsql>
</update>
<update version="42" date="23-Sep-2008" comment="Exam solver parameter update">
<plsql>
insert into %SCHEMA%.solver_parameter_def (select solver_parameter_def_seq.nextval as uniqueid,
'Exams.PeriodSizeWeight' as name, '1.0' as default_vale, 'Examination period x examination size weight' as description,
'double' as type, 22 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select solver_parameter_def_seq.nextval as uniqueid,
'Exams.PeriodIndexWeight' as name, '0.0000001' as default_vale, 'Examination period index weight' as description,
'double' as type, 23 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select solver_parameter_def_seq.nextval as uniqueid,
'Exams.RoomPerturbationWeight' as name, '0.1' as default_vale, 'Room perturbation penalty (change of room) weight' as description,
'double' as type, 24 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select solver_parameter_def_seq.nextval as uniqueid,
'Comparator.Class' as name, 'net.sf.cpsolver.ifs.solution.GeneralSolutionComparator' as default_vale,
'Examination solution comparator class' as description,
'text' as type, 6 as ord, 0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Exam')
</plsql>
<mysql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='ExamWeights'</mysql>
<mysql into="ORD">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+0, 'Exams.PeriodSizeWeight', '1.0', 'Examination period x examination size weight', 'double', %ORD%+1, 1, %GID%),
(%ID%+1, 'Exams.PeriodIndexWeight', '0.0000001', 'Examination period index weight', 'integer', %ORD%+2, 1, %GID%),
(%ID%+2, 'Exams.RoomPerturbationWeight', '0.01', 'Room perturbation penalty (change of room) weight', 'double', %ORD%+3, 1, %GID%)
</mysql>
<mysql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='Exam'</mysql>
<mysql into="ORD">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+3, 'Comparator.Class', 'net.sf.cpsolver.ifs.solution.GeneralSolutionComparator', 'Examination solution comparator class', 'text', %ORD%+1, 0, %GID%)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="43" date="12-Mar-2009" comment="increase class suffix size">
<plsql>
alter table %SCHEMA%.class_ modify class_suffix varchar2(10)
</plsql>
<mysql>
alter table %SCHEMA%.class_ modify class_suffix varchar(10)
</mysql>
</update>
<update version="44" date="24-Mar-2009" comment="add enrollment columns">
<plsql>
alter table %SCHEMA%.class_ add enrollment number(4)
</plsql>
<mysql>
alter table %SCHEMA%.class_ add enrollment int(4)
</mysql>
<sql>
update %SCHEMA%.class_ c
set c.enrollment = (select count(distinct sce.student_id)
from %SCHEMA%.student_class_enrl sce
where sce.class_id = c.uniqueid)
</sql>
<plsql>
alter table %SCHEMA%.event_note modify meetings varchar2(2000)
</plsql>
<mysql>
alter table %SCHEMA%.event_note modify meetings varchar(2000)
</mysql>
<plsql>
alter table %SCHEMA%.course_offering add enrollment number(10)
</plsql>
<mysql>
alter table %SCHEMA%.course_offering add enrollment int(10)
</mysql>
<sql>
update %SCHEMA%.course_offering co
set co.enrollment = (select count(distinct sce.student_id)
from %SCHEMA%.student_class_enrl sce
where sce.course_offering_id = co.uniqueid)
</sql>
</update>
<update version="45" date="18-Jun-2009" comment="Increase size of sched_print_note">
<plsql>insert into %SCHEMA%.settings (uniqueid, name, default_value, allowed_values, description)
values(%SCHEMA%.settings_seq.nextval, 'printNoteDisplay', 'icon', 'icon,shortened text,full text', 'Display an icon or shortened text when a class has a schedule print note.')
</plsql>
<plsql>insert into %SCHEMA%.settings (uniqueid, name, default_value, allowed_values, description)
values(%SCHEMA%.settings_seq.nextval, 'crsOffrNoteDisplay', 'icon', 'icon,shortened text,full text', 'Display an icon or shortened text when a course offering has a schedule note.')
</plsql>
<plsql>insert into %SCHEMA%.settings (uniqueid, name, default_value, allowed_values, description)
values(%SCHEMA%.settings_seq.nextval, 'mgrNoteDisplay', 'icon', 'icon,shortened text,full text', 'Display an icon or shortened text when a class has a note to the schedule manager.')
</plsql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.settings
(uniqueid, name, default_value, allowed_values, description) values
(%ID% + 0, 'printNoteDisplay', 'icon', 'icon,shortened text,full text', 'Display an icon or shortened text when a class has a schedule print note.'),
(%ID% + 1, 'crsOffrNoteDisplay', 'icon', 'icon,shortened text,full text', 'Display an icon or shortened text when a course offering has a schedule note.'),
(%ID% + 2, 'mgrNoteDisplay', 'icon', 'icon,shortened text,full text', 'Display an icon or shortened text when a class has a note to the schedule manager.')
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<plsql>alter table %SCHEMA%.class_ modify sched_print_note varchar2(2000)</plsql>
<mysql>alter table %SCHEMA%.class_ modify sched_print_note varchar(2000)</mysql>
</update>
<update version="46" date="1-Aug-2009" comment="Committed student enrollments solver load speed up">
<mysql onFail="next">
create index idx_student_enrl_assignment on %SCHEMA%.student_enrl(solution_id,class_id)
</mysql>
<plsql onFail="next">
create index %SCHEMA%.idx_student_enrl_assignment on %SCHEMA%.student_enrl(solution_id,class_id)
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.IgnoreCommittedStudentConflicts' as name, 'false' as default_vale, 'Do not load committed student conflicts' as description,
'boolean' as type, 13 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.WeightStudents' as name, 'true' as default_vale, 'Weight last-like students' as description,
'boolean' as type, 14 as ord, 0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='General')
</plsql>
<mysql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='General'</mysql>
<mysql into="ORD">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+0, 'General.IgnoreCommittedStudentConflicts', 'false', 'Do not load committed student conflicts', 'boolean', %ORD%+1, 1, %GID%),
(%ID%+1, 'General.WeightStudents', 'true', 'Weight last-like students', 'boolean', %ORD%+2, 0, %GID%)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="47" date="26-Aug-2009" comment="Receive Emails for Manager Role">
<mysql>alter table %SCHEMA%.tmtbl_mgr_to_roles add receive_emails int(1) default 1</mysql>
<plsql>alter table %SCHEMA%.tmtbl_mgr_to_roles add receive_emails number(1) default 1</plsql>
</update>
<update version="48" date="05-Oct-2009" comment="Add Exam Event Start and Stop Offsets">
<mysql>alter table %SCHEMA%.exam_period add event_start_offset int(10) default 0</mysql>
<mysql>alter table %SCHEMA%.exam_period add event_stop_offset int(10) default 0</mysql>
<plsql>alter table %SCHEMA%.exam_period add event_start_offset number(10,0) default 0 not null</plsql>
<plsql>alter table %SCHEMA%.exam_period add event_stop_offset number(10,0) default 0 not null</plsql>
</update>
<update version="49" date="21-Oct-2009" comment="Name Length Changes">
<plsql>alter table %SCHEMA%.departmental_instructor modify fname varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.departmental_instructor modify fname varchar(100)</mysql>
<plsql>alter table %SCHEMA%.departmental_instructor modify mname varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.departmental_instructor modify mname varchar(100)</mysql>
<plsql>alter table %SCHEMA%.departmental_instructor modify lname varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.departmental_instructor modify lname varchar(100)</mysql>
<plsql>alter table %SCHEMA%.event_contact modify firstname varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.event_contact modify firstname varchar(100)</mysql>
<plsql>alter table %SCHEMA%.event_contact modify middlename varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.event_contact modify middlename varchar(100)</mysql>
<plsql>alter table %SCHEMA%.event_contact modify lastname varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.event_contact modify lastname varchar(100)</mysql>
<plsql>alter table %SCHEMA%.staff modify fname varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.staff modify fname varchar(100)</mysql>
<plsql>alter table %SCHEMA%.staff modify mname varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.staff modify mname varchar(100)</mysql>
<plsql>alter table %SCHEMA%.student modify first_name varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.student modify first_name varchar(100)</mysql>
<plsql>alter table %SCHEMA%.student modify middle_name varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.student modify middle_name varchar(100)</mysql>
<plsql>alter table %SCHEMA%.timetable_manager modify first_name varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.timetable_manager modify first_name varchar(100)</mysql>
<plsql>alter table %SCHEMA%.timetable_manager modify middle_name varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.timetable_manager modify middle_name varchar(100)</mysql>
<plsql>alter table %SCHEMA%.timetable_manager modify last_name varchar2(100)</plsql>
<mysql>alter table %SCHEMA%.timetable_manager modify last_name varchar(100)</mysql>
</update>
<update version="50" date="19-May-2010" comment="Curriculum majors">
<plsql>
create table %SCHEMA%.curriculum_major (
curriculum_id number(20,0) constraint nn_curriculum_major_cur_id not null,
major_id number(20,0) constraint nn_curriculum_major_maj_id not null
)
</plsql>
<plsql>alter table %SCHEMA%.curriculum_major add constraint pk_curriculum_major primary key (curriculum_id, major_id)</plsql>
<mysql>
create table %SCHEMA%.curriculum_major (
curriculum_id decimal(20,0) not null,
major_id decimal(20,0) not null,
primary key (curriculum_id, major_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.curriculum_major add constraint fk_curriculum_major_curriculum foreign key (curriculum_id)
references %SCHEMA%.curriculum (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.curriculum_major add constraint fk_curriculum_major_major foreign key (major_id)
references %SCHEMA%.pos_major (uniqueid) on delete cascade
</sql>
</update>
<update version="51" date="07-Jun-2010" comment="Curriculum course groups">
<sql>alter table %SCHEMA%.curriculum_course drop column group_nr</sql>
<plsql>
create table %SCHEMA%.curriculum_group
(
uniqueid number(20) constraint nn_curriculum_group_id not null,
name varchar2(20) constraint nn_curriculum_group_name not null,
color varchar2(20),
type number(10) constraint nn_curriculum_group_type not null,
constraint pk_curriculum_group primary key (uniqueid)
)
</plsql>
<mysql>
create table %SCHEMA%.curriculum_group
(
uniqueid decimal(20,0) primary key not null,
name varchar(20) not null,
color varchar(60),
type bigint(10) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.curriculum_course_group (
group_id number(20,0) constraint nn_curriculum_course_id not null,
cur_course_id number(20,0) constraint nn_cur_course_groups_course not null
)
</plsql>
<plsql>alter table %SCHEMA%.curriculum_course_group add constraint pk_curriculum_course_groups primary key (group_id, cur_course_id)</plsql>
<mysql>
create table %SCHEMA%.curriculum_course_group (
group_id decimal(20,0) not null,
cur_course_id decimal(20,0) not null,
primary key (group_id, cur_course_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.curriculum_course_group add constraint fk_cur_course_group_group foreign key (group_id)
references %SCHEMA%.curriculum_group (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.curriculum_course_group add constraint fk_cur_course_group_course foreign key (cur_course_id)
references %SCHEMA%.curriculum_course (uniqueid) on delete cascade
</sql>
</update>
<update version="52" date="09-Jun-2010" comment="Curriculum course groups">
<plsql>
alter table %SCHEMA%.curriculum_group add curriculum_id number(20) constraint nn_curriculum_group_curriculum not null
</plsql>
<mysql>
alter table %SCHEMA%.curriculum_group add curriculum_id decimal(20,0) not null
</mysql>
<sql>
alter table %SCHEMA%.curriculum_group add constraint fk_curriculum_group_curriculum foreign key (curriculum_id)
references %SCHEMA%.curriculum (uniqueid) on delete cascade
</sql>
</update>
<update version="53" date="11-Jun-2010" comment="Curriculum manager role">
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi = next_hi+1</mysql>
<mysql>insert into %SCHEMA%.roles (role_id, reference, abbv) values (%ID%, 'Curriculum Mgr', 'Curriculum Manager')</mysql>
<plsql>insert into %SCHEMA%.roles (role_id, reference, abbv) values (%SCHEMA%.role_seq.nextval, 'Curriculum Mgr', 'Curriculum Manager')</plsql>
</update>
<update version="54" date="15-Jun-2010" comment="Academic area, classification, major indexes">
<plsql onFail="next">
create index %SCHEMA%.idx_academic_area_abbv on %SCHEMA%.academic_area(academic_area_abbreviation, session_id)
</plsql>
<mysql onFail="next">
create index idx_academic_area_abbv on %SCHEMA%.academic_area(academic_area_abbreviation, session_id)
</mysql>
<plsql onFail="next">
create index %SCHEMA%.idx_academic_clasf_code on %SCHEMA%.academic_classification(code, session_id)
</plsql>
<mysql onFail="next">
create index idx_academic_clasf_code on %SCHEMA%.academic_classification(code, session_id)
</mysql>
<plsql>
create index %SCHEMA%.idx_pos_major_code on %SCHEMA%.pos_major(code, session_id)
</plsql>
<mysql>
create index idx_pos_major_code on %SCHEMA%.pos_major(code, session_id)
</mysql>
</update>
<update version="55" date="18-Jun-2010" comment="Curriculum projection rules">
<!-- disallow null in curriculum.acad_area_id -->
<plsql>
alter table %SCHEMA%.curriculum drop constraint fk_curriculum_acad_area
</plsql>
<mysql>
alter table %SCHEMA%.curriculum drop foreign key fk_curriculum_acad_area
</mysql>
<plsql>
alter table %SCHEMA%.curriculum add constraint nn_curriculum_acad_area check (acad_area_id is not null)
</plsql>
<mysql>
alter table %SCHEMA%.curriculum modify acad_area_id decimal(20,0) not null
</mysql>
<sql>
alter table %SCHEMA%.curriculum
add constraint fk_curriculum_acad_area foreign key (acad_area_id)
references %SCHEMA%.academic_area (uniqueid) on delete cascade
</sql>
<!-- disallow null in curriculum_clasf.acad_clasf_id -->
<plsql>
alter table %SCHEMA%.curriculum_clasf drop constraint fk_curriculum_clasf_acad_clasf
</plsql>
<mysql>
alter table %SCHEMA%.curriculum_clasf drop foreign key fk_curriculum_clasf_acad_clasf
</mysql>
<plsql>
alter table %SCHEMA%.curriculum_clasf add constraint nn_curriculum_clasf_acad_clasf check (acad_clasf_id is not null)
</plsql>
<mysql>
alter table %SCHEMA%.curriculum_clasf modify acad_clasf_id decimal(20,0) not null
</mysql>
<sql>
alter table %SCHEMA%.curriculum_clasf
add constraint fk_curriculum_clasf_acad_clasf foreign key (acad_clasf_id)
references %SCHEMA%.academic_classification (uniqueid) on delete cascade
</sql>
<!-- drop unused columns -->
<sql>alter table %SCHEMA%.curriculum_clasf drop column ll_students</sql>
<sql>alter table %SCHEMA%.curriculum_course drop column ll_share</sql>
<!-- create curriculum_rule table -->
<plsql>
create table %SCHEMA%.curriculum_rule
(
uniqueid number(20) constraint nn_cur_rule_id not null,
acad_area_id number(20) constraint nn_cur_rule_acad_area not null,
major_id number(20),
acad_clasf_id number(20) constraint nn_cur_rule_acad_clasf not null,
projection float constraint nn_cur_rule_proj not null,
constraint pk_curriculum_rule primary key (uniqueid)
)
</plsql>
<mysql>
create table %SCHEMA%.curriculum_rule
(
uniqueid decimal(20,0) primary key not null,
acad_area_id decimal(20,0) not null,
major_id decimal(20,0),
acad_clasf_id decimal(20,0) not null,
projection float not null
) engine = INNODB
</mysql>
<plsql>
create index %SCHEMA%.idx_cur_rule_areadept on %SCHEMA%.curriculum_rule(acad_area_id, acad_clasf_id)
</plsql>
<mysql>
create index idx_cur_rule_areadept on %SCHEMA%.curriculum_rule(acad_area_id, acad_clasf_id)
</mysql>
<sql>
alter table %SCHEMA%.curriculum_rule add constraint fk_cur_rule_acad_area foreign key (acad_area_id)
references %SCHEMA%.academic_area (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.curriculum_rule add constraint fk_cur_rule_major foreign key (major_id)
references %SCHEMA%.pos_major (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.curriculum_rule add constraint fk_cur_rule_acad_clasf foreign key (acad_clasf_id)
references %SCHEMA%.academic_classification (uniqueid) on delete cascade
</sql>
</update>
<update version="56" date="21-Jul-2010" comment="Allow for GPS coordinates">
<mysql>alter table %SCHEMA%.building modify coordinate_x double null</mysql>
<mysql>alter table %SCHEMA%.building modify coordinate_y double null</mysql>
<mysql>alter table %SCHEMA%.room modify coordinate_x double null</mysql>
<mysql>alter table %SCHEMA%.room modify coordinate_y double null</mysql>
<mysql>alter table %SCHEMA%.non_university_location modify coordinate_x double null</mysql>
<mysql>alter table %SCHEMA%.non_university_location modify coordinate_y double null</mysql>
<mysql>alter table %SCHEMA%.external_building modify coordinate_x double null</mysql>
<mysql>alter table %SCHEMA%.external_building modify coordinate_y double null</mysql>
<mysql>alter table %SCHEMA%.external_room modify coordinate_x double null</mysql>
<mysql>alter table %SCHEMA%.external_room modify coordinate_y double null</mysql>
<plsql>alter table %SCHEMA%.building modify coordinate_x double precision</plsql>
<plsql>alter table %SCHEMA%.building modify coordinate_y double precision</plsql>
<plsql>alter table %SCHEMA%.room modify coordinate_x double precision</plsql>
<plsql>alter table %SCHEMA%.room modify coordinate_y double precision</plsql>
<plsql>alter table %SCHEMA%.non_university_location modify coordinate_x double precision</plsql>
<plsql>alter table %SCHEMA%.non_university_location modify coordinate_y double precision</plsql>
<plsql>alter table %SCHEMA%.external_building modify coordinate_x double precision</plsql>
<plsql>alter table %SCHEMA%.external_building modify coordinate_y double precision</plsql>
<plsql>alter table %SCHEMA%.external_room modify coordinate_x double precision</plsql>
<plsql>alter table %SCHEMA%.external_room modify coordinate_y double precision</plsql>
<plsql>alter table %SCHEMA%.external_room modify coordinate_y double precision</plsql>
<plsql>alter table %SCHEMA%.building drop constraint nn_building_coordinate_x</plsql>
<plsql>alter table %SCHEMA%.building drop constraint nn_building_coordinate_y</plsql>
<plsql>alter table %SCHEMA%.room drop constraint nn_room_coordinate_x</plsql>
<plsql>alter table %SCHEMA%.room drop constraint nn_room_coordinate_y</plsql>
<plsql>alter table %SCHEMA%.non_university_location drop constraint nn_non_univ_loc_coord_x</plsql>
<plsql>alter table %SCHEMA%.non_university_location drop constraint nn_non_univ_loc_coord_y</plsql>
<sql>update %SCHEMA%.building set coordinate_x = null where coordinate_x = -1</sql>
<sql>update %SCHEMA%.building set coordinate_y = null where coordinate_y = -1</sql>
<sql>update %SCHEMA%.room set coordinate_x = null where coordinate_x = -1</sql>
<sql>update %SCHEMA%.room set coordinate_y = null where coordinate_y = -1</sql>
<sql>update %SCHEMA%.non_university_location set coordinate_x = null where coordinate_x = -1</sql>
<sql>update %SCHEMA%.non_university_location set coordinate_y = null where coordinate_y = -1</sql>
<sql>update %SCHEMA%.external_building set coordinate_x = null where coordinate_x = -1</sql>
<sql>update %SCHEMA%.external_building set coordinate_y = null where coordinate_y = -1</sql>
<sql>update %SCHEMA%.external_room set coordinate_x = null where coordinate_x = -1</sql>
<sql>update %SCHEMA%.external_room set coordinate_y = null where coordinate_y = -1</sql>
</update>
<update version="57" date="30-Jul-2010" comment="Solver changes (coordinates, curricula)">
<!-- deprecated parameters -->
<sql>update %SCHEMA%.solver_parameter_def set visible = 0, description = 'Weight last-like students (deprecated)' where name = 'General.WeightStudents'</sql>
<sql>update %SCHEMA%.solver_parameter_def set visible = 0, description = 'Student Conflict: Distance Limit (after 75min class, deprecated)' where name = 'Student.DistanceLimit75min'</sql>
<sql>update %SCHEMA%.solver_parameter_def set visible = 0, description = 'Student Conflict: Distance Limit (deprecated)' where name = 'Student.DistanceLimit'</sql>
<sql>update %SCHEMA%.solver_parameter_def set visible = 0, description = 'Do not load committed student conflicts (deprecated)' where name = 'General.IgnoreCommittedStudentConflicts'</sql>
<sql>update %SCHEMA%.solver_parameter_def set visible = 0, description = 'Students sectioning' where name = 'General.SwitchStudents'</sql>
<!-- cleanup test defs -->
<sql>delete from %SCHEMA%.solver_parameter_def where name in ('Curriculum.StudentCourseDemadsClass', 'Distances.Ellipsoid', 'Distances.Speed', 'General.LoadCommittedAssignments', 'General.CommittedStudentConflicts')</sql>
<!-- MySQL changes -->
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql into="GID_BASIC">select uniqueid from %SCHEMA%.solver_parameter_group where name='Basic'</mysql>
<mysql into="ORD_BASIC">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID_BASIC%</mysql>
<mysql into="GID_GENERAL">select uniqueid from %SCHEMA%.solver_parameter_group where name='General'</mysql>
<mysql into="ORD_GENERAL">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID_GENERAL%</mysql>
<mysql into="GID_DISTANCE">select uniqueid from %SCHEMA%.solver_parameter_group where name='Distance'</mysql>
<mysql into="ORD_DISTANCE">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID_DISTANCE%</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%, 'Curriculum.StudentCourseDemadsClass', 'Projected Student Course Demands', 'Student course demands', 'enum(Last Like Student Course Demands,Weighted Last Like Student Course Demands,Projected Student Course Demands,Curricula Course Demands,Curricula Last Like Course Demands,Enrolled Student Course Demands)', %ORD_GENERAL%+1, 1, %GID_GENERAL%),
(%ID%+1, 'General.CommittedStudentConflicts', 'Load', 'Committed student conflicts', 'enum(Load,Compute,Ignore)', %ORD_GENERAL%+2, 1, %GID_GENERAL%),
(%ID%+2, 'Distances.Ellipsoid', 'DEFAULT', 'Ellipsoid to be used to compute distances', 'enum(DEFAULT,LEGACY,WGS84,GRS80,Airy1830,Intl1924,Clarke1880,GRS67)', %ORD_DISTANCE%+1, 1, %GID_DISTANCE%),
(%ID%+3, 'Distances.Speed', '67.0', 'Student speed in meters per minute', 'double', %ORD_DISTANCE%+2, 1, %GID_DISTANCE%),
(%ID%+4, 'General.LoadCommittedAssignments', 'false', 'Load committed assignments', 'boolean', %ORD_BASIC%+1, 1, %GID_BASIC%)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<!-- Oracle changes -->
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Curriculum.StudentCourseDemadsClass' as name, 'Projected Student Course Demands' as default_value,
'Student course demands' as description,
'enum(Last Like Student Course Demands,Weighted Last Like Student Course Demands,Projected Student Course Demands,Curricula Course Demands,Curricula Last Like Course Demands,Enrolled Student Course Demands)' as type,
15 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.CommittedStudentConflicts' as name, 'Load' as default_value,
'Committed student conflicts' as description,
'enum(Load,Compute,Ignore)' as type, 16 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.LoadCommittedAssignments' as name, 'false' as default_value,
'Load committed assignments' as description,
'boolean' as type, 4 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Basic')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Distances.Ellipsoid' as name, 'DEFAULT' as default_value,
'Ellipsoid to be used to compute distances' as description,
'enum(DEFAULT,LEGACY,WGS84,GRS80,Airy1830,Intl1924,Clarke1880,GRS67)' as type, 5 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Distance')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Distances.Speed' as name, '67.0' as default_value,
'Student speed in meters per minute' as description,
'double' as type, 6 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Distance')
</plsql>
</update>
<update version="58" date="03-Sep-2010" comment="Curriculum student cache">
<mysql>
alter table %SCHEMA%.curriculum_clasf add students longtext binary null
</mysql>
<plsql>
alter table %SCHEMA%.curriculum_clasf add students clob
</plsql>
</update>
<update version="59" date="03-Sep-2010" comment="Sectioning queue">
<mysql>
create table %SCHEMA%.sectioning_queue (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
type bigint(10) not null,
time_stamp datetime not null,
message longtext binary null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.sectioning_queue (
uniqueid number(20,0) constraint nn_sect_queue_uniqueid not null,
session_id number(20,0) constraint nn_sect_queue_session not null,
type number(10) constraint nn_sect_queue_type not null,
time_stamp timestamp constraint nn_sect_queue_ts not null,
message clob
)
</plsql>
<plsql>alter table %SCHEMA%.sectioning_queue add constraint pk_sect_queue primary key (uniqueid)</plsql>
<mysql>create index idx_sect_queue_session_ts on %SCHEMA%.sectioning_queue(session_id, time_stamp)</mysql>
<plsql>create index %SCHEMA%.idx_sect_queue_session_ts on %SCHEMA%.sectioning_queue(session_id, time_stamp)</plsql>
</update>
<update version="60" date="23-Sep-2010" comment="Using student course requests in the solver">
<sql>update %SCHEMA%.solver_parameter_def set
type = 'enum(Last Like Student Course Demands,Weighted Last Like Student Course Demands,Projected Student Course Demands,Curricula Course Demands,Curricula Last Like Course Demands,Student Course Requests,Enrolled Student Course Demands)'
where name = 'Curriculum.StudentCourseDemadsClass'
</sql>
</update>
<update version="61" date="20-Oct-2010" comment="Session holidays need to cover 13 months">
<plsql>
alter table %SCHEMA%.sessions modify holidays varchar2(400)
</plsql>
<mysql>
alter table %SCHEMA%.sessions modify holidays varchar(400) binary null
</mysql>
</update>
<update version="62" date="05-Nov-2010" comment="Add Index for Student External Id">
<plsql>
create index %SCHEMA%.idx_student_external_uid on %SCHEMA%.student(external_uid)
</plsql>
<mysql>
create index idx_student_external_uid on %SCHEMA%.student(external_uid)
</mysql>
</update>
<update version="63" date="08-Nov-2010" comment="Query Log">
<mysql>
create table %SCHEMA%.query_log (
uniqueid decimal(20,0) primary key not null,
time_stamp datetime not null,
time_spent decimal(20,0) not null,
uri varchar(255) not null,
type decimal(10,0) not null,
session_id varchar(32) null,
userid varchar(40) null,
query longtext binary null,
exception longtext binary null
) engine = INNODB
</mysql>
<mysql>
create index idx_query_log on %SCHEMA%.query_log(time_stamp)
</mysql>
<plsql>
create table %SCHEMA%.query_log (
uniqueid number(20,0) constraint nn_query_log_uniqueid not null,
time_stamp date constraint nn_query_log_time_stamp not null,
time_spent number(20,0) constraint nn_query_log_time_spent not null,
uri varchar2(255) constraint nn_query_log_uri not null,
type decimal(10,0) constraint nn_query_log_type not null,
session_id varchar2(32),
userid varchar2(40),
query clob,
exception clob
)
</plsql>
<plsql>alter table %SCHEMA%.query_log add constraint pk_query_log primary key (uniqueid)</plsql>
<plsql>
create index %SCHEMA%.idx_query_log on %SCHEMA%.query_log(time_stamp, type)
</plsql>
</update>
<update version="64" date="31-Jan-2011" comment="Student Sectioning Weights">
<plsql>
insert into %SCHEMA%.solver_parameter_group
(uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'StudentSctWeights', 'Student Weights', '', -1, 2)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x )
where g.name='StudentSctWeights'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.Priority' as name,
'0.5010' as default_value,
'Priority' as description,
'double' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.FirstAlternative' as name,
'0.5010' as default_value,
'First alternative' as description,
'double' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.SecondAlternative' as name,
'0.2510' as default_value,
'Second alternative' as description,
'double' as type,
2 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.DistanceConflict' as name,
'0.0100' as default_value,
'Distance conflict' as description,
'double' as type,
3 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.TimeOverlapFactor' as name,
'0.5000' as default_value,
'Time overlap' as description,
'double' as type,
4 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.TimeOverlapMaxLimit' as name,
'0.5000' as default_value,
'Time overlap limit' as description,
'double' as type,
5 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.BalancingFactor' as name,
'0.0050' as default_value,
'Section balancing' as description,
'double' as type,
6 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.AlternativeRequestFactor' as name,
'0.1260' as default_value,
'Alternative request (equal weights)' as description,
'double' as type,
7 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.LeftoverSpread' as name,
'false' as default_value,
'Spread leftover weight equaly' as description,
'boolean' as type,
8 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<plsql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSctBasic'</plsql>
<plsql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.Mode' as name,
'Priority' as default_value,
'Student weights' as description,
'enum(Priority,Equal,Legacy)' as type,
%ORD% as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctBasic')
</plsql>
<plsql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSct'</plsql>
<plsql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentSct.TimeOverlaps' as name,
'true' as default_value,
'Use time overlaps' as description,
'boolean' as type,
%ORD% as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Load.TweakLimits' as name,
'false' as default_value,
'Tweak class limits to fit all enrolled students' as description,
'boolean' as type,
%ORD%+1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSct')
</plsql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_group</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, ord, param_type) values
(%ID%, 'StudentSctWeights', 'Student Weitghts', %ORD%, 2)
</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+1, 'StudentWeights.Priority', '0.5010', 'Priority', 'double', 0, 1, %ID%),
(%ID%+2, 'StudentWeights.FirstAlternative', '0.5010', 'First alternative', 'double', 1, 1, %ID%),
(%ID%+3, 'StudentWeights.SecondAlternative', '0.2510', 'Second alternative', 'double', 2, 1, %ID%),
(%ID%+4, 'StudentWeights.DistanceConflict', '0.0100', 'Distance conflict', 'double', 3, 1, %ID%),
(%ID%+5, 'StudentWeights.TimeOverlapFactor', '0.5000', 'Time overlap', 'double', 4, 1, %ID%),
(%ID%+6, 'StudentWeights.TimeOverlapMaxLimit', '0.5000', 'Time overlap limit', 'double', 5, 0, %ID%),
(%ID%+7, 'StudentWeights.BalancingFactor', '0.0050', 'Section balancing', 'double', 6, 1, %ID%),
(%ID%+8, 'StudentWeights.AlternativeRequestFactor', '0.1260', 'Alternative request (equal weights)', 'double', 7, 1, %ID%),
(%ID%+9, 'StudentWeights.LeftoverSpread', 'false', 'Spread leftover weight equaly', 'boolean', 8, 1, %ID%)
</mysql>
<mysql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSctBasic'</mysql>
<mysql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+10, 'StudentWeights.Mode', 'Priority', 'Student weights', 'enum(Priority,Equal,Legacy)', %ORD%, 1, %GID%)
</mysql>
<mysql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSct'</mysql>
<mysql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+11, 'StudentSct.TimeOverlaps', 'true', 'Use time overlaps', 'boolean', %ORD%, 1, %GID%),
(%ID%+12, 'Load.TweakLimits', 'false', 'Tweak class limits to fit all enrolled students', 'boolean', %ORD%+1, 1, %GID%)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
</update>
<update version="65" date="14-Feb-2011" comment="Reservations">
<mysql>
alter table %SCHEMA%.course_offering add reservation bigint(10)
</mysql>
<plsql>
alter table %SCHEMA%.course_offering add reservation number(10)
</plsql>
<plsql><![CDATA[
delete from %SCHEMA%.course_reservation where uniqueid in
(select r2.uniqueid from %SCHEMA%.course_reservation r1, %SCHEMA%.course_reservation r2 where
r1.course_offering = r2.course_offering and r1.uniqueid < r2.uniqueid)
]]></plsql>
<sql>
update course_offering c set c.reservation =
(select r.reserved from course_reservation r where r.course_offering = c.uniqueid)
where exists
(select r.reserved from course_reservation r where r.course_offering = c.uniqueid)
</sql>
<sql>
drop table %SCHEMA%.acad_area_reservation
</sql>
<sql>
drop table %SCHEMA%.individual_reservation
</sql>
<sql>
drop table %SCHEMA%.student_group_reservation
</sql>
<sql>
drop table %SCHEMA%.pos_reservation
</sql>
<sql>
drop table %SCHEMA%.course_reservation
</sql>
<sql>
drop table %SCHEMA%.reservation_type
</sql>
<plsql>
create table %SCHEMA%.reservation (
uniqueid number(20,0) constraint nn_reservation_uniqueid not null,
reservation_type decimal(10,0) constraint nn_reservation_type not null,
expiration_date date,
reservation_limit decimal(10,0),
offering_id number(20,0) constraint nn_reservation_offering not null,
group_id number(20,0),
area_id number(20,0),
course_id number(20,0)
)
</plsql>
<mysql>
create table %SCHEMA%.reservation
(
uniqueid decimal(20,0) not null primary key,
reservation_type bigint(10) not null,
expiration_date date,
reservation_limit bigint(10),
offering_id decimal(20,0) not null,
group_id decimal(20,0),
area_id decimal(20,0),
course_id decimal(20,0)
) engine = INNODB
</mysql>
<plsql>alter table %SCHEMA%.reservation add constraint pk_reservation primary key (uniqueid)</plsql>
<plsql>
create table %SCHEMA%.reservation_config (
reservation_id number(20,0) constraint nn_res_config_id not null,
config_id number(20,0) constraint nn_res_config_config not null
)
</plsql>
<plsql>alter table %SCHEMA%.reservation_config add constraint pk_reservation_config primary key (reservation_id, config_id)</plsql>
<mysql>
create table %SCHEMA%.reservation_config (
reservation_id decimal(20,0) not null,
config_id decimal(20,0) not null,
primary key (reservation_id, config_id)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.reservation_class (
reservation_id number(20,0) constraint nn_res_class_id not null,
class_id number(20,0) constraint nn_res_class_class not null
)
</plsql>
<plsql>alter table %SCHEMA%.reservation_class add constraint pk_reservation_class primary key (reservation_id, class_id)</plsql>
<mysql>
create table %SCHEMA%.reservation_class (
reservation_id decimal(20,0) not null,
class_id decimal(20,0) not null,
primary key (reservation_id, class_id)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.reservation_student (
reservation_id number(20,0) constraint nn_res_student_id not null,
student_id number(20,0) constraint nn_res_student_student not null
)
</plsql>
<plsql>alter table %SCHEMA%.reservation_student add constraint pk_reservation_students primary key (reservation_id, student_id)</plsql>
<mysql>
create table %SCHEMA%.reservation_student (
reservation_id decimal(20,0) not null,
student_id decimal(20,0) not null,
primary key (reservation_id, student_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.reservation add constraint fk_reservation_offering foreign key (offering_id)
references %SCHEMA%.instructional_offering (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation add constraint fk_reservation_student_group foreign key (group_id)
references %SCHEMA%.student_group (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation add constraint fk_reservation_area foreign key (area_id)
references %SCHEMA%.academic_area (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation add constraint fk_reservation_course foreign key (course_id)
references %SCHEMA%.course_offering (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_config add constraint fk_res_config_config foreign key (config_id)
references %SCHEMA%.instr_offering_config (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_config add constraint fk_res_config_reservation foreign key (reservation_id)
references %SCHEMA%.reservation (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_class add constraint fk_res_class_class foreign key (class_id)
references %SCHEMA%.class_ (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_class add constraint fk_res_class_reservation foreign key (reservation_id)
references %SCHEMA%.reservation (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_student add constraint fk_res_student_student foreign key (student_id)
references %SCHEMA%.student (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_student add constraint fk_res_student_reservation foreign key (reservation_id)
references %SCHEMA%.reservation (uniqueid) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.reservation_clasf (
reservation_id number(20,0) constraint nn_res_clasf_id not null,
acad_clasf_id number(20,0) constraint nn_res_clasf_clasf not null
)
</plsql>
<plsql>alter table %SCHEMA%.reservation_clasf add constraint pk_reservation_clasf primary key (reservation_id, acad_clasf_id)</plsql>
<mysql>
create table %SCHEMA%.reservation_clasf (
reservation_id decimal(20,0) not null,
acad_clasf_id decimal(20,0) not null,
primary key (reservation_id, acad_clasf_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.reservation_clasf add constraint fk_res_clasf_clasf foreign key (acad_clasf_id)
references %SCHEMA%.academic_classification (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_clasf add constraint fk_res_clasf_reservation foreign key (reservation_id)
references %SCHEMA%.reservation (uniqueid) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.reservation_major (
reservation_id number(20,0) constraint nn_res_major_id not null,
major_id number(20,0) constraint nn_res_major_major not null
)
</plsql>
<plsql>alter table %SCHEMA%.reservation_major add constraint pk_reservation_major primary key (reservation_id, major_id)</plsql>
<mysql>
create table %SCHEMA%.reservation_major (
reservation_id decimal(20,0) not null,
major_id decimal(20,0) not null,
primary key (reservation_id, major_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.reservation_major add constraint fk_res_majors_major foreign key (major_id)
references %SCHEMA%.pos_major (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_major add constraint fk_res_majors_reservation foreign key (reservation_id)
references %SCHEMA%.reservation (uniqueid) on delete cascade
</sql>
</update>
<update version="66" date="23-Mar-2011" comment="Room ratio">
<mysql onFail="next">alter table %SCHEMA%.class_ modify room_ratio double</mysql>
<mysql onFail="next">alter table %SCHEMA%.course_credit_unit_config modify fixed_units double</mysql>
</update>
<update version="67" date="29-Mar-2011" comment="Student Sectioning Projection">
<plsql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSctBasic'</plsql>
<plsql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentSct.ProjectedCourseDemadsClass' as name,
'None' as default_value,
'Projected student course demands' as description,
'enum(None,Last Like Student Course Demands,Projected Student Course Demands,Curricula Course Demands,Curricula Last Like Course Demands,Student Course Requests,Enrolled Student Course Demands)' as type,
%ORD% as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctBasic')
</plsql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSctBasic'</mysql>
<mysql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%, 'StudentSct.ProjectedCourseDemadsClass', 'None', 'Projected student course demands', 'enum(None,Last Like Student Course Demands,Projected Student Course Demands,Curricula Course Demands,Curricula Last Like Course Demands,Student Course Requests,Enrolled Student Course Demands)', %ORD%, 1, %GID%)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<sql>update %SCHEMA%.solver_parameter_def set
type = 'enum(Initial,MPP,Projection)'
where name = 'StudentSctBasic.Mode'
</sql>
</update>
<update version="68" date="6-Apr-2011" comment="Student Sectioning Save Best">
<sql>
update %SCHEMA%.solver_parameter_def set default_value='0' where name='General.SaveBestUnassigned' and solver_param_group_id =
(select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSct')
</sql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.ProjectedStudentWeight' as name,
'0.0100' as default_value,
'Projected student request' as description,
'double' as type,
9 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='StudentSctWeights')
</plsql>
<mysql into="GID">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSctWeights'</mysql>
<mysql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GID%</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%, 'StudentWeights.ProjectedStudentWeight', '0.0100', 'Projected student request', 'double', %ORD%, 1, %GID%)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
</update>
<update version="69" date="23-May-2011" comment="Department allow required distribution">
<mysql>alter table %SCHEMA%.department add allow_req_dist int(1) null default 0</mysql>
<plsql>alter table %SCHEMA%.department add allow_req_dist number(1) default 0</plsql>
</update>
<update version="70" date="27-May-2011" comment="Online student sectioning log">
<mysql>
create table %SCHEMA%.sectioning_log (
uniqueid decimal(20,0) primary key not null,
time_stamp datetime not null,
student varchar(40) not null,
session_id decimal(20,0) not null,
operation varchar(20) not null,
action longblob not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.sectioning_log (
uniqueid number(20,0) constraint nn_section_log_uniqueid not null,
time_stamp timestamp constraint nn_section_log_time_stamp not null,
student varchar2(40) constraint nn_section_log__student not null,
session_id number(20,0) constraint nn_section_log_session_id not null,
operation varchar2(20) constraint nn_section_log_operation not null,
action blob constraint nn_section_log_action not null
)
</plsql>
<plsql>alter table %SCHEMA%.sectioning_log add constraint pk_sectioning_log primary key (uniqueid)</plsql>
<sql>
alter table %SCHEMA%.sectioning_log add constraint fk_sectioning_log_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<plsql>create index %SCHEMA%.idx_sectioning_log on %SCHEMA%.sectioning_log(time_stamp, student, session_id, operation)</plsql>
<mysql>create index idx_sectioning_log on %SCHEMA%.sectioning_log(time_stamp, student, session_id, operation)</mysql>
</update>
<update version="71" date="7-Jun-2011" comment="Saved queries">
<mysql>
create table %SCHEMA%.saved_hql (
uniqueid decimal(20,0) primary key not null,
name varchar(100) not null,
description varchar(1000) null,
query longtext binary not null,
type decimal(10,0) not null
)
</mysql>
<plsql>
create table %SCHEMA%.saved_hql (
uniqueid number(20,0) constraint nn_saved_hql_uniqueid not null,
name varchar2(100) constraint nn_saved_hql_name not null,
description varchar2(1000),
query clob constraint nn_saved_hql_query not null,
type number(10,0) constraint nn_saved_hql_type not null
)
</plsql>
<plsql>alter table %SCHEMA%.saved_hql add constraint pk_saved_hql primary key (uniqueid)</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%ID%, 'Not-assigned Classes', 'List all classes with a time pattern (i.e., classes that should not be Arrange Hours) which do not have a committed assignment.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || \' \' || co.courseNbr as Course, s.itype.abbv || \' \' || c.sectionNumberCache as Section, co.title as Title from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where c.uniqueId in ( select x.uniqueId from Class_ x, TimePref p where (p.owner = x or p.owner = x.schedulingSubpart) and p.prefLevel.prefProlog = \'R\' ) and co.subjectArea.uniqueId in %SUBJECTS% and c.committedAssignment is null order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1),
(%ID% + 1, 'Multi/No Room Classes', 'List all classes that either:<ul><li>either require more than one room</li><li>or require no room</li><li>or have zero room ratio</li></ul>',
'select c.uniqueId as __Class, co.subjectAreaAbbv || \' \' || co.courseNbr as Course, s.itype.abbv || \' \' || c.sectionNumberCache as Section, c.nbrRooms as Nbr_Rooms, c.roomRatio as Room_Ratio from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where co.subjectArea.uniqueId in %SUBJECTS% and (c.nbrRooms != 1 or c.roomRatio = 0.0) order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1),
(%ID% + 2, 'Schedule Note Classes', 'List of all classes that has something entered in Student Schedule Note.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || \' \' || co.courseNbr as Course, s.itype.abbv || \' \' || c.sectionNumberCache as Section, c.schedulePrintNote as Student_Schedule_Note from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where co.subjectArea.uniqueId in %SUBJECTS% and c.schedulePrintNote is not null order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1),
(%ID% + 3, 'Request Notes Classes', 'List of all classes that has something entered in Requests / Notes to Schedule Manager.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || \' \' || co.courseNbr as Course, s.itype.abbv || \' \' || c.sectionNumberCache as Section, c.notes as Notes_to_Schedule_Manager from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where co.subjectArea.uniqueId in %SUBJECTS% and c.notes is not null order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1),
(%ID% + 4, 'Schedule Book Note Courses', 'List of all courses that has something entered in Schedule Book Note.',
'select co.instructionalOffering.uniqueId as __Offering, co.subjectAreaAbbv || \' \' || co.courseNbr as Course, co.scheduleBookNote as Schedule_Book_Note from CourseOffering co where co.subjectArea.uniqueId in %SUBJECTS% and co.scheduleBookNote is not null order by co.subjectAreaAbbv, co.courseNbr', 1),
(%ID% + 5, 'New Courses', 'List of all courses that do not have external unique id and courses that have no title.',
'select co.instructionalOffering.uniqueId as __Offering, co.subjectAreaAbbv || \' \' || co.courseNbr as Course, co.title as Title from CourseOffering co where co.subjectArea.uniqueId in %SUBJECTS% and (co.externalUniqueId is null or co.title is null) order by co.subjectAreaAbbv, co.courseNbr', 1),
(%ID% + 6, 'Arrange Hours Classes', 'List all classes that do not have a time pattern.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || \' \' || co.courseNbr as Course, s.itype.abbv || \' \' || c.sectionNumberCache as Section, co.title as Title from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where c.uniqueId not in ( select x.uniqueId from Class_ x, TimePref p where (p.owner = x or p.owner = x.schedulingSubpart) and p.prefLevel.prefProlog = \'R\' ) and co.subjectArea.uniqueId in %SUBJECTS% order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1),
(%ID% + 7, 'Cross-listed Courses', 'List all courses of a given subject area (or subject areas) that are cross-listed.',
'select co.instructionalOffering.uniqueId as __Offering, co.subjectAreaAbbv || ' ' || co.courseNbr as Course, co.title as Course_Title, ctr.subjectAreaAbbv || ' ' || ctr.courseNbr as Controlling, ctr.title as Controlling_Title from CourseOffering co, CourseOffering ctr where co.subjectArea.uniqueId in %SUBJECTS% and co.isControl = false and co.instructionalOffering = ctr.instructionalOffering and ctr.isControl = true order by co.subjectAreaAbbv, co.courseNbr', 1),
(%ID% + 8, 'No-conflict Instructors', 'List of instructors (and their classes) that are not checked for instructor conflicts.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || \' \' || co.courseNbr as Course, s.itype.abbv || \' \' || c.sectionNumberCache as Section, i.instructor.lastName || \', \' || i.instructor.firstName || \' \' || i.instructor.middleName as Instructor, i.instructor.externalUniqueId as External_Id from ClassInstructor i inner join i.classInstructing c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where i.lead = false and co.subjectArea.uniqueId in %SUBJECTS% order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache, i.instructor.lastName', 1),
(%ID% + 9, 'Small Room Classes', 'List all classes that require (or prefer) a room that is too small for the class to fit in.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || \' \' || co.courseNbr as Course, s.itype.abbv || \' \' || c.sectionNumberCache as Section, p.room.building.abbreviation || \' \' || p.room.roomNumber as Room, p.room.capacity as Size, case c.roomRatio when 1.0 then (c.expectedCapacity || \'\') else (floor(c.expectedCapacity * c.roomRatio) || \' (\' || c.roomRatio || \' x \' || c.expectedCapacity || \')\') end as Needed, p.prefLevel.prefName as Preference from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co, RoomPref p where co.subjectArea.uniqueId in %SUBJECTS% and (p.owner = c or p.owner = s) and floor(c.expectedCapacity * c.roomRatio) > p.room.capacity and p.prefLevel.prefProlog in (\'R\', \'-1\', \'-2\') and c.nbrRooms > 0 order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1)
]]></mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Not-assigned Classes', 'List all classes with a time pattern (i.e., classes that should not be Arrange Hours) which do not have a committed assignment.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || '' '' || co.courseNbr as Course, s.itype.abbv || '' '' || c.sectionNumberCache as Section, co.title as Title from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where c.uniqueId in ( select x.uniqueId from Class_ x, TimePref p where (p.owner = x or p.owner = x.schedulingSubpart) and p.prefLevel.prefProlog = ''R'' ) and co.subjectArea.uniqueId in %SUBJECTS% and c.committedAssignment is null order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Multi/No Room Classes', 'List all classes that either:<ul><li>either require more than one room</li><li>or require no room</li><li>or have zero room ratio</li></ul>',
'select c.uniqueId as __Class, co.subjectAreaAbbv || '' '' || co.courseNbr as Course, s.itype.abbv || '' '' || c.sectionNumberCache as Section, c.nbrRooms as Nbr_Rooms, c.roomRatio as Room_Ratio from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where co.subjectArea.uniqueId in %SUBJECTS% and (c.nbrRooms != 1 or c.roomRatio = 0.0) order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Schedule Note Classes', 'List of all classes that has something entered in Student Schedule Note.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || '' '' || co.courseNbr as Course, s.itype.abbv || '' '' || c.sectionNumberCache as Section, c.schedulePrintNote as Student_Schedule_Note from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where co.subjectArea.uniqueId in %SUBJECTS% and c.schedulePrintNote is not null order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Request Notes Classes', 'List of all classes that has something entered in Requests / Notes to Schedule Manager.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || '' '' || co.courseNbr as Course, s.itype.abbv || '' '' || c.sectionNumberCache as Section, c.notes as Notes_to_Schedule_Manager from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where co.subjectArea.uniqueId in %SUBJECTS% and c.notes is not null order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Schedule Book Note Courses', 'List of all courses that has something entered in Schedule Book Note.',
'select co.instructionalOffering.uniqueId as __Offering, co.subjectAreaAbbv || '' '' || co.courseNbr as Course, co.scheduleBookNote as Schedule_Book_Note from CourseOffering co where co.subjectArea.uniqueId in %SUBJECTS% and co.scheduleBookNote is not null order by co.subjectAreaAbbv, co.courseNbr', 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'New Courses', 'List of all courses that do not have external unique id and courses that have no title.',
'select co.instructionalOffering.uniqueId as __Offering, co.subjectAreaAbbv || '' '' || co.courseNbr as Course, co.title as Title from CourseOffering co where co.subjectArea.uniqueId in %SUBJECTS% and (co.externalUniqueId is null or co.title is null) order by co.subjectAreaAbbv, co.courseNbr', 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Arrange Hours Classes', 'List all classes that do not have a time pattern.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || '' '' || co.courseNbr as Course, s.itype.abbv || '' '' || c.sectionNumberCache as Section, co.title as Title from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where c.uniqueId not in ( select x.uniqueId from Class_ x, TimePref p where (p.owner = x or p.owner = x.schedulingSubpart) and p.prefLevel.prefProlog = ''R'' ) and co.subjectArea.uniqueId in %SUBJECTS% order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Cross-listed Courses', 'List all courses of a given subject area (or subject areas) that are cross-listed.',
'select co.instructionalOffering.uniqueId as __Offering, co.subjectAreaAbbv || ' ' || co.courseNbr as Course, co.title as Course_Title, ctr.subjectAreaAbbv || ' ' || ctr.courseNbr as Controlling, ctr.title as Controlling_Title from CourseOffering co, CourseOffering ctr where co.subjectArea.uniqueId in %SUBJECTS% and co.isControl = false and co.instructionalOffering = ctr.instructionalOffering and ctr.isControl = true order by co.subjectAreaAbbv, co.courseNbr', 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'No-conflict Instructors', 'List of instructors (and their classes) that are not checked for instructor conflicts.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || '' '' || co.courseNbr as Course, s.itype.abbv || '' '' || c.sectionNumberCache as Section, i.instructor.lastName || '', '' || i.instructor.firstName || '' '' || i.instructor.middleName as Instructor, i.instructor.externalUniqueId as External_Id from ClassInstructor i inner join i.classInstructing c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co where i.lead = false and co.subjectArea.uniqueId in %SUBJECTS% order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache, i.instructor.lastName', 1)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Small Room Classes', 'List all classes that require (or prefer) a room that is too small for the class to fit in.',
'select c.uniqueId as __Class, co.subjectAreaAbbv || '' '' || co.courseNbr as Course, s.itype.abbv || '' '' || c.sectionNumberCache as Section, p.room.building.abbreviation || '' '' || p.room.roomNumber as Room, p.room.capacity as Size, case c.roomRatio when 1.0 then (c.expectedCapacity || '''') else (floor(c.expectedCapacity * c.roomRatio) || '' ('' || c.roomRatio || '' x '' || c.expectedCapacity || '')'') end as Needed, p.prefLevel.prefName as Preference from Class_ c inner join c.schedulingSubpart s inner join s.instrOfferingConfig.instructionalOffering.courseOfferings co, RoomPref p where co.subjectArea.uniqueId in %SUBJECTS% and (p.owner = c or p.owner = s) and floor(c.expectedCapacity * c.roomRatio) > p.room.capacity and p.prefLevel.prefProlog in (''R'', ''-1'', ''-2'') and c.nbrRooms > 0 order by co.subjectAreaAbbv, co.courseNbr, s.itype.abbv, c.sectionNumberCache', 1)
]]></plsql>
</update>
<update version="72" date="9-Jun-2011" comment="Instructor limit distribution pref">
<plsql onFail="next">
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'MAX_HRS_DAY(6)', 'At Most 6 Hours A Day', 0, 39, '210R', 'Classes are to be placed in a way that there is no more than six hours in any day.', 'At Most 6 Hrs', 1, 0)
</plsql>
<plsql onFail="next">
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'MAX_HRS_DAY(7)', 'At Most 7 Hours A Day', 0, 40, '210R', 'Classes are to be placed in a way that there is no more than seven hours in any day.', 'At Most 7 Hrs', 1, 0)
</plsql>
<plsql onFail="next">
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'MAX_HRS_DAY(8)', 'At Most 8 Hours A Day', 0, 41, '210R', 'Classes are to be placed in a way that there is no more than eight hours in any day.', 'At Most 8 Hrs', 1, 0)
</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%ID%, 'MAX_HRS_DAY(6)', 'At Most 6 Hours A Day', 0, 39, '210R', 'Classes are to be placed in a way that there is no more than six hours in any day.', 'At Most 6 Hrs', 1, 0),
(%ID% + 1, 'MAX_HRS_DAY(7)', 'At Most 7 Hours A Day', 0, 40, '210R', 'Classes are to be placed in a way that there is no more than seven hours in any day.', 'At Most 7 Hrs', 1, 0),
(%ID% + 2, 'MAX_HRS_DAY(8)', 'At Most 8 Hours A Day', 0, 41, '210R', 'Classes are to be placed in a way that there is no more than eight hours in any day.', 'At Most 8 Hrs', 1, 0)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="73" date="14-Jun-2011" comment="Student Distance Weights">
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Comparator.DistStudentConflictWeight' as name,
'0.2' as default_vale,
'Weight of distance student conflict' as description,
'double' as type,
12 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Comparator')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Lecture.DistStudentConflictWeight' as name,
'%Comparator.DistStudentConflictWeight%' as default_vale,
'Distance student conflict weight' as description,
'double' as type,
20 as ord, 0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Variable')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Placement.NrDistStudConfsWeight1' as name,
'0.05' as default_vale,
'Distance student conflict weight (level 1)' as description,
'double' as type,
58 as ord, 1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Placement.NrDistStudConfsWeight2' as name,
'%Comparator.DistStudentConflictWeight%' as default_vale,
'Distance student conflict weight (level 2)' as description,
'double' as type,
59 as ord, 0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select %SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Placement.NrDistStudConfsWeight3' as name,
'0.0' as default_vale,
'Distance student conflict weight (level 3)' as description,
'double' as type,
60 as ord, 0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name='Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter (select %SCHEMA%.solver_parameter_seq.nextval as uniqueid,
'0.0' as value,
d.uniqueid as solver_param_def_id,
null as solution_id,
s.uniqueid as solver_predef_setting_id
from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_predef_setting s
where d.name = 'Comparator.DistStudentConflictWeight' and s.name='Default.Check')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter (select %SCHEMA%.solver_parameter_seq.nextval as uniqueid,
'0.0' as value,
d.uniqueid as solver_param_def_id,
null as solution_id,
s.uniqueid as solver_predef_setting_id
from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_predef_setting s
where d.name = 'Placement.NrDistStudConfsWeight1' and s.name='Default.Check')
</plsql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql into="GCMP">select uniqueid from %SCHEMA%.solver_parameter_group where name='Comparator'</mysql>
<mysql into="GVAR">select uniqueid from %SCHEMA%.solver_parameter_group where name='Variable'</mysql>
<mysql into="GVAL">select uniqueid from %SCHEMA%.solver_parameter_group where name='Value'</mysql>
<mysql into="OCMP">select max(ord)+1 from %SCHEMA%.solver_parameter_group where name='Comparator'</mysql>
<mysql into="OVAR">select max(ord)+1 from %SCHEMA%.solver_parameter_group where name='Variable'</mysql>
<mysql into="OVAL">select max(ord)+1 from %SCHEMA%.solver_parameter_group where name='Value'</mysql>
<mysql into="SID">select uniqueid from %SCHEMA%.solver_predef_setting where name='Default.Check'</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID%+0, 'Comparator.DistStudentConflictWeight', '0.2', 'Weight of distance student conflict', 'double', %OCMP%, 1, %GCMP%),
(%ID%+1, 'Lecture.DistStudentConflictWeight', '%Comparator.DistStudentConflictWeight%', 'Distance student conflict weight', 'double', %OVAR%, 0, %GVAR%),
(%ID%+2, 'Placement.NrDistStudConfsWeight1', '0.05', 'Distance student conflict weight (level 1)', 'double', %OVAL%, 1, %GVAL%),
(%ID%+3, 'Placement.NrDistStudConfsWeight2', '%Comparator.DistStudentConflictWeight%', 'Distance student conflict weight (level 2)', 'double', %OVAL%+1, 0, %GVAL%),
(%ID%+4, 'Placement.NrDistStudConfsWeight3', '0.0', 'Distance student conflict weight (level 3)', 'double', %OVAL%+2, 0, %GVAL%)
</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter
(uniqueid, value, solver_param_def_id, solution_id, solver_predef_setting_id) values
(%ID%+5, '0.0', %ID%+0, null, %SID%),
(%ID%+6, '0.0', %ID%+2, null, %SID%)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
</update>
<update version="74" date="4-Jul-2011" comment="Assignment Date Pattern">
<plsql>
alter table %SCHEMA%.assignment add date_pattern_id number(20)
</plsql>
<mysql>
alter table %SCHEMA%.assignment add date_pattern_id decimal(20,0) null
</mysql>
<sql>
alter table %SCHEMA%.assignment add constraint fk_assignment_date_pattern foreign key (date_pattern_id)
references %SCHEMA%.date_pattern(uniqueid) on delete set null
</sql>
<plsql>
update %SCHEMA%.assignment a set a.date_pattern_id = (
select c.date_pattern_id from %SCHEMA%.class_ c where c.date_pattern_id is not null and c.uniqueid = a.class_id
) where a.date_pattern_id is null
</plsql>
<plsql>
update %SCHEMA%.assignment a set a.date_pattern_id = (
select s.date_pattern_id from %SCHEMA%.scheduling_subpart s, %SCHEMA%.class_ c where s.date_pattern_id is not null and
s.uniqueid = c.subpart_id and c.uniqueid = a.class_id
) where a.date_pattern_id is null
</plsql>
<plsql>
update %SCHEMA%.assignment a set a.date_pattern_id = (
select s.def_datepatt_id from %SCHEMA%.solution x, %SCHEMA%.solver_group g, %SCHEMA%.sessions s where
a.solution_id = x.uniqueid and x.owner_id = g.uniqueid and g.session_id = s.uniqueid
) where a.date_pattern_id is null
</plsql>
<mysql>
update %SCHEMA%.assignment a, %SCHEMA%.class_ c
set a.date_pattern_id = c.date_pattern_id
where c.date_pattern_id is not null and c.uniqueid = a.class_id and a.date_pattern_id is null
</mysql>
<mysql>
update %SCHEMA%.assignment a, %SCHEMA%.scheduling_subpart s, %SCHEMA%.class_ c
set a.date_pattern_id = s.date_pattern_id
where s.date_pattern_id is not null and s.uniqueid = c.subpart_id and c.uniqueid = a.class_id and a.date_pattern_id is null
</mysql>
<mysql>
update %SCHEMA%.assignment a, %SCHEMA%.solution x, %SCHEMA%.solver_group g, %SCHEMA%.sessions s
set a.date_pattern_id = s.def_datepatt_id
where a.solution_id = x.uniqueid and x.owner_id = g.uniqueid and g.session_id = s.uniqueid and a.date_pattern_id is null
</mysql>
</update>
<update version="75" date="6-Sep-2011" comment="Global Room Groups Features">
<sql>update room_group set session_id = (select min(uniqueid) from sessions) where global = 1 and session_id is null</sql>
<plsql>
insert into %SCHEMA%.room_group select
%SCHEMA%.room_group_seq.nextval, s.uniqueid as session_id,
g.name, g.description, g.global, g.default_group, g.department_id, g.abbv
from %SCHEMA%.room_group g, %SCHEMA%.sessions s where g.global = 1 and not exists
(select * from %SCHEMA%.room_group x where x.session_id = s.uniqueid and x.name = g.name)
</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.room_group select
@rownum\:=@rownum+1 as uniqueid, s.uniqueid as session_id,
g.name, g.description, g.global, g.default_group, g.department_id, g.abbv
from %SCHEMA%.room_group g, %SCHEMA%.sessions s, (select @rownum\:=%ID%) r where g.global = 1 and not exists
(select * from %SCHEMA%.room_group x where x.session_id = s.uniqueid and x.name = g.name)
</mysql>
<sql>
update %SCHEMA%.room_group_room x set x.room_group_id =
(select n.uniqueid from %SCHEMA%.room_group n, %SCHEMA%.room_group g, %SCHEMA%.room r where
x.room_group_id = g.uniqueid and x.room_id = r.uniqueid and n.name = g.name and n.session_id = r.session_id)
where x.room_group_id in
(select g.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.room r where
x.room_group_id = g.uniqueid and x.room_id = r.uniqueid and g.global = 1 and g.session_id != r.session_id)
</sql>
<sql>
update %SCHEMA%.room_group_room x set x.room_group_id =
(select n.uniqueid from %SCHEMA%.room_group n, %SCHEMA%.room_group g, %SCHEMA%.non_university_location r where
x.room_group_id = g.uniqueid and x.room_id = r.uniqueid and n.name = g.name and n.session_id = r.session_id)
where x.room_group_id in
(select g.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.non_university_location r where
x.room_group_id = g.uniqueid and x.room_id = r.uniqueid and g.global = 1 and g.session_id != r.session_id)
</sql>
<!--
<sql>
delete from %SCHEMA%.room_group where not exists (select * from %SCHEMA%.room_group_room x where x.room_group_id = uniqueid) and global = 1
</sql>
-->
<sql>
update %SCHEMA%.room_group_pref p set p.room_group_id =
(select n.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.room_group n, %SCHEMA%.class_ c, %SCHEMA%.scheduling_subpart t, %SCHEMA%.instr_offering_config e, %SCHEMA%.instructional_offering o
where g.uniqueid = p.room_group_id and n.session_id = o.session_id and n.name = g.name and p.owner_id = c.uniqueid and c.subpart_id = t.uniqueid and t.config_id = e.uniqueid and e.instr_offr_id = o.uniqueid)
where p.room_group_id in (
select g.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.class_ c, %SCHEMA%.scheduling_subpart t, %SCHEMA%.instr_offering_config e, %SCHEMA%.instructional_offering o
where g.uniqueid = p.room_group_id and g.session_id != o.session_id and g.global = 1 and p.owner_id = c.uniqueid and c.subpart_id = t.uniqueid and t.config_id = e.uniqueid and e.instr_offr_id = o.uniqueid)
</sql>
<sql>
update %SCHEMA%.room_group_pref p set p.room_group_id =
(select n.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.room_group n, %SCHEMA%.scheduling_subpart t, %SCHEMA%.instr_offering_config e, %SCHEMA%.instructional_offering o
where g.uniqueid = p.room_group_id and n.session_id = o.session_id and n.name = g.name and p.owner_id = t.uniqueid and t.config_id = e.uniqueid and e.instr_offr_id = o.uniqueid)
where p.room_group_id in (
select g.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.class_ c, %SCHEMA%.scheduling_subpart t, %SCHEMA%.instr_offering_config e, %SCHEMA%.instructional_offering o
where g.uniqueid = p.room_group_id and g.session_id != o.session_id and g.global = 1 and p.owner_id = t.uniqueid and t.config_id = e.uniqueid and e.instr_offr_id = o.uniqueid)
</sql>
<sql>
update %SCHEMA%.room_group_pref p set p.room_group_id =
(select n.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.room_group n, %SCHEMA%.sessions s
where g.uniqueid = p.room_group_id and n.session_id = s.uniqueid and n.name = g.name and p.owner_id = s.uniqueid)
where p.room_group_id in (
select g.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.sessions s
where g.uniqueid = p.room_group_id and g.session_id != s.uniqueid and g.global = 1 and p.owner_id = s.uniqueid)
</sql>
<sql>
update %SCHEMA%.room_group_pref p set p.room_group_id =
(select n.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.room_group n, %SCHEMA%.exam x
where g.uniqueid = p.room_group_id and n.session_id = x.session_id and n.name = g.name and p.owner_id = x.uniqueid)
where p.room_group_id in (
select g.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.exam x
where g.uniqueid = p.room_group_id and g.session_id != x.session_id and g.global = 1 and p.owner_id = x.uniqueid)
</sql>
<sql>
update %SCHEMA%.room_group_pref p set p.room_group_id =
(select n.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.room_group n, %SCHEMA%.departmental_instructor i, %SCHEMA%.department d
where g.uniqueid = p.room_group_id and n.session_id = d.session_id and n.name = g.name and p.owner_id = i.uniqueid and i.department_uniqueid = d.uniqueid)
where p.room_group_id in (
select g.uniqueid from %SCHEMA%.room_group g, %SCHEMA%.departmental_instructor i, %SCHEMA%.department d
where g.uniqueid = p.room_group_id and g.session_id != d.session_id and g.global = 1 and p.owner_id = i.uniqueid and i.department_uniqueid = d.uniqueid)
</sql>
<plsql>
alter table %SCHEMA%.room_feature add session_id number(20)
</plsql>
<mysql>
alter table %SCHEMA%.room_feature add session_id decimal(20,0)
</mysql>
<sql>
alter table %SCHEMA%.room_feature add constraint fk_room_feature_session foreign key (session_id) references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<sql>
update %SCHEMA%.room_feature set session_id = (select min(uniqueid) from %SCHEMA%.sessions) where discriminator = 'global'
</sql>
<plsql>
insert into %SCHEMA%.room_feature select
%SCHEMA%.room_feature_seq.nextval as uniqueid,
f.discriminator, f.label, f.sis_reference, f.sis_value, f.department_id, f.abbv, s.uniqueid as session_id
from %SCHEMA%.room_feature f, %SCHEMA%.sessions s
where f.discriminator = 'global' and not exists
(select * from %SCHEMA%.room_feature x where x.session_id = s.uniqueid and x.label = f.label)
</plsql>
<mysql>
insert into %SCHEMA%.room_feature select
@rownum\:=@rownum+1 as uniqueid,
f.discriminator, f.label, f.sis_reference, f.sis_value, f.department_id, f.abbv, s.uniqueid as session_id
from %SCHEMA%.room_feature f, %SCHEMA%.sessions s, (select @rownum\:=%ID%) r
where f.discriminator = 'global' and not exists
(select * from %SCHEMA%.room_feature x where x.session_id = s.uniqueid and x.label = f.label)
</mysql>
<sql>
update %SCHEMA%.room_join_room_feature x set x.feature_id =
(select n.uniqueid from %SCHEMA%.room_feature n, %SCHEMA%.room_feature f, %SCHEMA%.room r where
x.feature_id = f.uniqueid and x.room_id = r.uniqueid and n.label = f.label and n.session_id = r.session_id)
where x.feature_id in
(select f.uniqueid from %SCHEMA%.room_feature f, %SCHEMA%.room r where
x.feature_id = f.uniqueid and x.room_id = r.uniqueid and f.discriminator = 'global' and f.session_id != r.session_id)
</sql>
<sql>
update %SCHEMA%.room_join_room_feature x set x.feature_id =
(select n.uniqueid from %SCHEMA%.room_feature n, %SCHEMA%.room_feature f, %SCHEMA%.non_university_location r where
x.feature_id = f.uniqueid and x.room_id = r.uniqueid and n.label = f.label and n.session_id = r.session_id)
where x.feature_id in
(select f.uniqueid from %SCHEMA%.room_feature f, %SCHEMA%.non_university_location r where
x.feature_id = f.uniqueid and x.room_id = r.uniqueid and f.discriminator = 'global' and f.session_id != r.session_id)
</sql>
<!--
<sql>
delete from %SCHEMA%.room_feature where not exists (select * from %SCHEMA%.room_join_room_feature x where x.feature_id = uniqueid) and discriminator = 'global'
</sql>
-->
<sql>
update %SCHEMA%.room_feature_pref p set p.room_feature_id =
(select n.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.room_feature n, %SCHEMA%.class_ c, %SCHEMA%.scheduling_subpart t, %SCHEMA%.instr_offering_config e, %SCHEMA%.instructional_offering o
where g.uniqueid = p.room_feature_id and n.session_id = o.session_id and n.label = g.label and p.owner_id = c.uniqueid and c.subpart_id = t.uniqueid and t.config_id = e.uniqueid and e.instr_offr_id = o.uniqueid)
where p.room_feature_id in (
select g.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.class_ c, %SCHEMA%.scheduling_subpart t, %SCHEMA%.instr_offering_config e, %SCHEMA%.instructional_offering o
where g.uniqueid = p.room_feature_id and g.session_id != o.session_id and g.discriminator = 'global' and p.owner_id = c.uniqueid and c.subpart_id = t.uniqueid and t.config_id = e.uniqueid and e.instr_offr_id = o.uniqueid)
</sql>
<sql>
update %SCHEMA%.room_feature_pref p set p.room_feature_id =
(select n.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.room_feature n, %SCHEMA%.scheduling_subpart t, %SCHEMA%.instr_offering_config e, %SCHEMA%.instructional_offering o
where g.uniqueid = p.room_feature_id and n.session_id = o.session_id and n.label = g.label and p.owner_id = t.uniqueid and t.config_id = e.uniqueid and e.instr_offr_id = o.uniqueid)
where p.room_feature_id in (
select g.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.class_ c, %SCHEMA%.scheduling_subpart t, %SCHEMA%.instr_offering_config e, %SCHEMA%.instructional_offering o
where g.uniqueid = p.room_feature_id and g.session_id != o.session_id and g.discriminator = 'global' and p.owner_id = t.uniqueid and t.config_id = e.uniqueid and e.instr_offr_id = o.uniqueid)
</sql>
<sql>
update %SCHEMA%.room_feature_pref p set p.room_feature_id =
(select n.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.room_feature n, %SCHEMA%.sessions s
where g.uniqueid = p.room_feature_id and n.session_id = s.uniqueid and n.label = g.label and p.owner_id = s.uniqueid)
where p.room_feature_id in (
select g.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.sessions s
where g.uniqueid = p.room_feature_id and g.session_id != s.uniqueid and g.discriminator = 'global' and p.owner_id = s.uniqueid)
</sql>
<sql>
update %SCHEMA%.room_feature_pref p set p.room_feature_id =
(select n.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.room_feature n, %SCHEMA%.exam x
where g.uniqueid = p.room_feature_id and n.session_id = x.session_id and n.label = g.label and p.owner_id = x.uniqueid)
where p.room_feature_id in (
select g.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.exam x
where g.uniqueid = p.room_feature_id and g.session_id != x.session_id and g.discriminator = 'global' and p.owner_id = x.uniqueid)
</sql>
<sql>
update %SCHEMA%.room_feature_pref p set p.room_feature_id =
(select n.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.room_feature n, %SCHEMA%.departmental_instructor i, %SCHEMA%.department d
where g.uniqueid = p.room_feature_id and n.session_id = d.session_id and n.label = g.label and p.owner_id = i.uniqueid and i.department_uniqueid = d.uniqueid)
where p.room_feature_id in (
select g.uniqueid from %SCHEMA%.room_feature g, %SCHEMA%.departmental_instructor i, %SCHEMA%.department d
where g.uniqueid = p.room_feature_id and g.session_id != d.session_id and g.discriminator = 'global' and p.owner_id = i.uniqueid and i.department_uniqueid = d.uniqueid)
</sql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="76" date="12-Sep-2011" comment="By Reservation Only, Course Coordinators">
<plsql>alter table %SCHEMA%.instructional_offering add req_reservation number(1) default 0</plsql>
<mysql>alter table %SCHEMA%.instructional_offering add req_reservation int(1) not null default 0</mysql>
<plsql>
alter table %SCHEMA%.instructional_offering add constraint nn_instr_offering_by_reserv check (req_reservation is not null)
</plsql>
<plsql>
create table %SCHEMA%.offering_coordinator (
offering_id number(20,0) constraint nn_offering_coord_offering not null,
instructor_id number(20,0) constraint nn_offering_coord_instructor not null
)
</plsql>
<plsql>alter table %SCHEMA%.offering_coordinator add constraint pk_offering_coordinator primary key (offering_id, instructor_id)</plsql>
<mysql>
create table %SCHEMA%.offering_coordinator (
offering_id decimal(20,0) not null,
instructor_id decimal(20,0) not null,
primary key (offering_id, instructor_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.offering_coordinator add constraint fk_offering_coord_offering foreign key (offering_id)
references %SCHEMA%.instructional_offering (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.offering_coordinator add constraint fk_offering_coord_instructor foreign key (instructor_id)
references %SCHEMA%.departmental_instructor (uniqueid) on delete cascade
</sql>
<mysql>alter table %SCHEMA%.student_class_enrl add approved_date datetime null</mysql>
<plsql>alter table %SCHEMA%.student_class_enrl add approved_date date</plsql>
<mysql>alter table %SCHEMA%.student_class_enrl add approved_by varchar(40) null</mysql>
<plsql>alter table %SCHEMA%.student_class_enrl add approved_by varchar2(40)</plsql>
</update>
<update version="77" date="20-Sep-2011" comment="Linked sections constraint">
<plsql onFail="next">
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'LINKED_SECTIONS', 'Linked Classes', 0, 42, 'R', 'Classes (of different courses) are to be attended by the same students. For instance, if class A1 (of a course A) and class B1 (of a course B) are linked, a student requesting both courses must attend A1 if and only if he also attends B1. This is a student sectioning constraint that is interpreted as Same Students constraint during course timetabling.', 'Linked', 0, 0)
</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%ID%, 'LINKED_SECTIONS', 'Linked Classes', 0, 42, 'R', 'Classes (of different courses) are to be attended by the same students. For instance, if class A1 (of a course A) and class B1 (of a course B) are linked, a student requesting both courses must attend A1 if and only if he also attends B1. This is a student sectioning constraint that is interpreted as Same Students constraint during course timetabling.', 'Linked', 0, 0)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="78" date="25-Sep-2011" comment="Removed position code types, added consent abbreviation">
<plsql>
alter table %SCHEMA%.staff add pos_type number(20)
</plsql>
<mysql>
alter table %SCHEMA%.staff add pos_type decimal(20,0) null
</mysql>
<sql>
alter table %SCHEMA%.staff add constraint fk_staff_pos_type foreign key (pos_type)
references %SCHEMA%.position_type(uniqueid) on delete set null
</sql>
<sql>
update %SCHEMA%.staff s set s.pos_type =
(select c.pos_code_type from %SCHEMA%.position_code_to_type c where s.pos_code = c.position_code)
where s.pos_type is not null
</sql>
<sql>
drop table %SCHEMA%.position_code_to_type
</sql>
<plsql>
alter table %SCHEMA%.offr_consent_type add abbv varchar2(20)
</plsql>
<mysql>
alter table %SCHEMA%.offr_consent_type add abbv varchar(20)
</mysql>
<sql>
update %SCHEMA%.offr_consent_type set reference = 'IN' where reference = 'instructor'
</sql>
<sql>
update %SCHEMA%.offr_consent_type set reference = 'DP' where reference = 'department'
</sql>
<sql>
update %SCHEMA%.offr_consent_type set abbv = 'Instructor' where reference = 'instructor' or reference = 'IN'
</sql>
<sql>
update %SCHEMA%.offr_consent_type set abbv = 'Department' where reference = 'department' or reference = 'DP'
</sql>
<sql>
alter table %SCHEMA%.offr_consent_type add constraint nn_offr_consent_abbv check (abbv is not null)
</sql>
</update>
<update version="79" date="9-Nov-2011" comment="Student advisor role">
<plsql>insert into %SCHEMA%.roles (role_id, reference, abbv) values (%SCHEMA%.ROLE_SEQ.nextval, 'Advisor', 'Student Advisor')</plsql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>insert into %SCHEMA%.roles (role_id, reference, abbv) values (%ID%, 'Advisor', 'Student Advisor')</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
</update>
<update version="80" date="11-Nov-2011" comment="Student status">
<plsql>
create table %SCHEMA%.sectioning_status (
uniqueid number(20,0) constraint nn_sect_status_uniqueid not null,
reference varchar2(20) constraint nn_sect_status_reference not null,
label varchar2(60) constraint nn_sect_status_label not null,
status number(10,0) constraint nn_sect_status_enabled not null,
message varchar2(200)
)
</plsql>
<plsql>alter table %SCHEMA%.sectioning_status add constraint pk_sect_status primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.sectioning_status (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
status bigint(10) not null,
message varchar(200)
) engine = INNODB
</mysql>
<plsql>
alter table %SCHEMA%.student add sect_status number(20,0)
</plsql>
<mysql>
alter table %SCHEMA%.student add sect_status decimal(20,0) null
</mysql>
<sql>
alter table %SCHEMA%.student
add constraint fk_student_sect_status foreign key (sect_status)
references %SCHEMA%.sectioning_status (uniqueid) on delete set null
</sql>
<plsql>
alter table %SCHEMA%.sessions add sect_status number(20,0)
</plsql>
<mysql>
alter table %SCHEMA%.sessions add sect_status decimal(20,0) null
</mysql>
<sql>
alter table %SCHEMA%.sessions
add constraint fk_session_sect_status foreign key (sect_status)
references %SCHEMA%.sectioning_status (uniqueid) on delete set null
</sql>
<plsql>
alter table %SCHEMA%.sessions add wk_enroll number(10,0) default 1
</plsql>
<plsql>
alter table %SCHEMA%.sessions add constraint nn_session_wk_enroll check (wk_enroll is not null)
</plsql>
<mysql>
alter table %SCHEMA%.sessions add wk_enroll bigint(10) not null default 1
</mysql>
<plsql>
alter table %SCHEMA%.sessions add wk_change number(10,0) default 1
</plsql>
<plsql>
alter table %SCHEMA%.sessions add constraint nn_session_wk_change check (wk_change is not null)
</plsql>
<mysql>
alter table %SCHEMA%.sessions add wk_change bigint(10) not null default 1
</mysql>
<plsql>
alter table %SCHEMA%.sessions add wk_drop number(10,0) default 1
</plsql>
<plsql>
alter table %SCHEMA%.sessions add constraint nn_session_wk_drop check (wk_drop is not null)
</plsql>
<mysql>
alter table %SCHEMA%.sessions add wk_drop bigint(10) not null default 1
</mysql>
<plsql>
alter table %SCHEMA%.instructional_offering add wk_enroll number(10,0)
</plsql>
<mysql>
alter table %SCHEMA%.instructional_offering add wk_enroll bigint(10)
</mysql>
<plsql>
alter table %SCHEMA%.instructional_offering add wk_change number(10,0)
</plsql>
<mysql>
alter table %SCHEMA%.instructional_offering add wk_change bigint(10)
</mysql>
<plsql>
alter table %SCHEMA%.instructional_offering add wk_drop number(10,0)
</plsql>
<mysql>
alter table %SCHEMA%.instructional_offering add wk_drop bigint(10)
</mysql>
<mysql>alter table %SCHEMA%.course_demand add changed_by varchar(40) null</mysql>
<plsql>alter table %SCHEMA%.course_demand add changed_by varchar2(40)</plsql>
<mysql>alter table %SCHEMA%.student_class_enrl add changed_by varchar(40) null</mysql>
<plsql>alter table %SCHEMA%.student_class_enrl add changed_by varchar2(40)</plsql>
<mysql>alter table %SCHEMA%.student add schedule_emailed datetime null</mysql>
<plsql>alter table %SCHEMA%.student add schedule_emailed date</plsql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<mysql>
insert into %SCHEMA%.sectioning_status (uniqueid, reference, label, status, message) values
(%ID% + 0, 'Enabled', 'Access enabled', 7, null),
(%ID% + 1, 'Disabled', 'Access disabled', 4, null),
(%ID% + 2, 'Not Available', 'Temporarily not available', 6, 'Access is temporarily disabled. Please try again later...'),
(%ID% + 3, 'No Email', 'Access enabled, no email notification', 3, null)
</mysql>
<plsql>
insert into %SCHEMA%.sectioning_status (uniqueid, reference, label, status, message) values
(%SCHEMA%.ref_table_seq.nextval, 'Enabled', 'Access enabled', 7, null)
</plsql>
<plsql>
insert into %SCHEMA%.sectioning_status (uniqueid, reference, label, status, message) values
(%SCHEMA%.ref_table_seq.nextval, 'Disabled', 'Access disabled', 4, null)
</plsql>
<plsql>
insert into %SCHEMA%.sectioning_status (uniqueid, reference, label, status, message) values
(%SCHEMA%.ref_table_seq.nextval, 'Not Available', 'Temporarily not available', 6, 'Access is temporarily disabled. Please try again later...')
</plsql>
<plsql>
insert into %SCHEMA%.sectioning_status (uniqueid, reference, label, status, message) values
(%SCHEMA%.ref_table_seq.nextval, 'No Email', 'Access enabled, no email notification', 3, null)
</plsql>
<mysql>alter table %SCHEMA%.student drop foreign key fk_student_status_student</mysql>
<mysql>alter table %SCHEMA%.student drop column status_type_id</mysql>
<mysql>alter table %SCHEMA%.student drop column status_change_date</mysql>
<mysql>drop table %SCHEMA%.student_status_type</mysql>
<plsql>alter table %SCHEMA%.student drop constraint fk_student_status_student</plsql>
<plsql>alter table %SCHEMA%.student drop column status_type_id</plsql>
<plsql>alter table %SCHEMA%.student drop column status_change_date</plsql>
<plsql>drop table %SCHEMA%.student_status_type</plsql>
</update>
<update version="81" date="21-Nov-2011" comment="Sectioning log result">
<mysql>alter table %SCHEMA%.sectioning_log add result bigint(10) null</mysql>
<plsql onFail="next">alter table %SCHEMA%.sectioning_log add result number(10)</plsql>
<mysql>alter table %SCHEMA%.sectioning_log add user_id varchar(40) null</mysql>
<plsql>alter table %SCHEMA%.sectioning_log add user_id varchar2(40)</plsql>
</update>
<update version="82" date="7-Dec-2011" comment="Room sharing departments">
<sql>update %SCHEMA%.room set pattern = replace(replace(pattern, 'F', '*'), 'X', '#') where pattern is not null</sql>
<sql>update %SCHEMA%.non_university_location set pattern = replace(replace(pattern, 'F', '*'), 'X', '#') where pattern is not null</sql>
<mysql>alter table %SCHEMA%.room modify manager_ids varchar(3000) null</mysql>
<mysql>alter table %SCHEMA%.non_university_location modify manager_ids varchar(3000) null</mysql>
<plsql>alter table %SCHEMA%.room modify manager_ids varchar2(3000)</plsql>
<plsql>alter table %SCHEMA%.non_university_location modify manager_ids varchar2(3000)</plsql>
</update>
<update version="83" date="16-Dec-2011" comment="New distribution constraints">
<plsql>
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'MAX_HRS_DAY(5)', 'At Most 5 Hours A Day', 0, 43, '210R', 'Classes are to be placed in a way that there is no more than five hours in any day.', 'At Most 5 Hrs', 1, 0)
</plsql>
<plsql><![CDATA[
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'BTB_PRECEDENCE', 'Back-To-Back Precedence', 0, 44, 'P43210R',
'Given classes have to be taught in the given order, on the same days, and in adjacent time segments.<br>When prohibited or (strongly) discouraged: Given classes have to be taught in the given order, on the same days, but cannot be back-to-back.',
'BTB Precede', 0, 0)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'SAME_D_T', 'Same Days-Time', 0, 45, 'P43210R',
'Given classes must be taught at the same time of day and on the same days.<br>This constraint combines Same Days and Same Time distribution preferences.<br>When prohibited or (strongly) discouraged: Any pair of classes classes cannot be taught on the same days during the same time.',
'Same Days-Time', 0, 0)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'SAME_D_R_T', 'Same Days-Room-Time', 0, 46, 'P43210R',
'Given classes must be taught at the same time of day, on the same days and in the same room.<br>Note that this constraint is the same as Meet Together constraint, except it does not allow for room sharing. In other words, it is only useful when these classes are taught during non-overlapping date patterns.<br>When prohibited or (strongly) discouraged: Any pair of classes classes cannot be taught on the same days during the same time in the same room.',
'Same Days-Room-Time', 0, 0)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'SAME_WEEKS', 'Same Weeks', 0, 47, 'P43210R',
'Given classes must be taught during the same weeks (i.e., must have the same date pattern).<br>When prohibited or (strongly) discouraged: any two classes must have non overlapping date patterns.',
'Same Weeks', 0, 0)
]]></plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql><![CDATA[
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%ID%, 'MAX_HRS_DAY(5)', 'At Most 5 Hours A Day', 0, 43, '210R', 'Classes are to be placed in a way that there is no more than five hours in any day.', 'At Most 5 Hrs', 1, 0),
(%ID% + 1, 'BTB_PRECEDENCE', 'Back-To-Back Precedence', 0, 44, 'P43210R',
'Given classes have to be taught in the given order, on the same days, and in adjacent time segments.<br>When prohibited or (strongly) discouraged: Given classes have to be taught in the given order, on the same days, but cannot be back-to-back.',
'BTB Precede', 0, 0),
(%ID% + 2, 'SAME_D_T', 'Same Days-Time', 0, 45, 'P43210R',
'Given classes must be taught at the same time of day and on the same days.<br>This constraint combines Same Days and Same Time distribution preferences.<br>When prohibited or (strongly) discouraged: Any pair of classes classes cannot be taught on the same days during the same time.',
'Same Days-Time', 0, 0),
(%ID% + 3, 'SAME_D_R_T', 'Same Days-Room-Time', 0, 46, 'P43210R',
'Given classes must be taught at the same time of day, on the same days and in the same room.<br>Note that this constraint is the same as Meet Together constraint, except it does not allow for room sharing. In other words, it is only useful when these classes are taught during non-overlapping date patterns.<br>When prohibited or (strongly) discouraged: Any pair of classes classes cannot be taught on the same days during the same time in the same room.',
'Same Days-Room-Time', 0, 0),
(%ID% + 4, 'SAME_WEEKS', 'Same Weeks', 0, 47, 'P43210R',
'Given classes must be taught during the same weeks (i.e., must have the same date pattern).<br>When prohibited or (strongly) discouraged: any two classes must have non overlapping date patterns.',
'Same Weeks', 0, 0)
]]></mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="84" date="9-Mar-2012" comment="Travel times">
<plsql>
create table %SCHEMA%.travel_time (
uniqueid number(20,0) constraint nn_trvltime_id not null,
session_id number(20,0) constraint nn_trvltime_session not null,
loc1_id number(20,0) constraint nn_trvltime_loc1 not null,
loc2_id number(20,0) constraint nn_trvltime_loc2 not null,
distance number(10,0) constraint nn_trvltime_distance not null
)
</plsql>
<plsql>alter table %SCHEMA%.travel_time add constraint pk_travel_time primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.travel_time (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
loc1_id decimal(20,0) not null,
loc2_id decimal(20,0) not null,
distance decimal(10,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.travel_time add constraint fk_trvltime_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
</update>
<update version="85" date="17-March-2012" comment="Alternative Date Patterns">
<!-- Added date pattern preferences -->
<plsql>
create table %SCHEMA%.date_pattern_pref (
uniqueid number(20,0) constraint nn_date_patt_pref_uniqueid not null,
owner_id number(20,0) constraint nn_date_patt_pref_owner not null,
pref_level_id number(20,0) constraint nn_date_patt_pref_pref_level not null,
date_pattern_id number(20,0) constraint nn_date_patt_pref_date_pat not null
)
</plsql>
<plsql>alter table %SCHEMA%.date_pattern_pref add constraint pk_date_pattern_pref primary key (uniqueid)</plsql>
<plsql>
create table %SCHEMA%.date_pattern_parent (
date_pattern_id number(20,0) constraint nn_datepattparent_datepatt_id not null,
parent_id number(20,0) constraint nn_date_patt_parent_parent_id not null
)
</plsql>
<plsql>alter table %SCHEMA%.date_pattern_parent add constraint pk_date_pattern_parent primary key (date_pattern_id,parent_id)</plsql>
<mysql>
create table %SCHEMA%.date_pattern_pref (
uniqueid decimal(20,0) primary key not null,
owner_id decimal(20,0) not null,
pref_level_id decimal(20,0) not null,
date_pattern_id decimal(20,0) not null
) engine = INNODB
</mysql>
<mysql>
create table %SCHEMA%.date_pattern_parent (
date_pattern_id decimal(20,0) not null,
parent_id decimal(20,0) not null,
primary key (date_pattern_id,parent_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.date_pattern_pref add constraint fk_datepatt_pref_pref_level foreign key (pref_level_id)
references %SCHEMA%.preference_level (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.date_pattern_pref add constraint fk_datepatt_pref_date_pat foreign key (date_pattern_id)
references %SCHEMA%.date_pattern (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.date_pattern_parent add constraint fk_date_patt_parent_parent foreign key (parent_id)
references %SCHEMA%.date_pattern (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.date_pattern_parent add constraint fk_date_patt_parent_date_patt foreign key (date_pattern_id)
references %SCHEMA%.date_pattern (uniqueid) on delete cascade
</sql>
</update>
<update version="86" date="23-August-2012" comment="Rights">
<plsql>alter table %SCHEMA%.roles add manager number(1) default 1</plsql>
<mysql>alter table %SCHEMA%.roles add manager int(1) default 1</mysql>
<plsql>alter table %SCHEMA%.roles add enabled number(1) default 1</plsql>
<mysql>alter table %SCHEMA%.roles add enabled int(1) default 1</mysql>
<plsql>
create table %SCHEMA%.rights (
role_id number(20,0) constraint nn_rights_role not null,
value varchar2(200) constraint nn_rights_value not null
)
</plsql>
<plsql>alter table %SCHEMA%.rights add constraint pk_rights primary key (role_id, value)</plsql>
<mysql>
create table %SCHEMA%.rights (
role_id decimal(20,0) not null,
value varchar(200) binary not null,
primary key (role_id, value)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.rights add constraint fk_rights_role foreign key (role_id)
references %SCHEMA%.roles (role_id) on delete cascade
</sql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<mysql>insert into %SCHEMA%.roles (role_id, reference, abbv, manager, enabled) values
(%ID% + 0, 'No Role', 'No Role', 0, 1),
(%ID% + 1, 'Student', 'Student', 0, 1),
(%ID% + 2, 'Instructor', 'Instructor', 0, 1)
</mysql>
<plsql>insert into %SCHEMA%.roles (role_id, reference, abbv, manager, enabled) values (%SCHEMA%.ROLE_SEQ.nextval, 'No Role', 'No Role', 0, 1)</plsql>
<plsql>insert into %SCHEMA%.roles (role_id, reference, abbv, manager, enabled) values (%SCHEMA%.ROLE_SEQ.nextval, 'Student', 'Student', 0, 1)</plsql>
<plsql>insert into %SCHEMA%.roles (role_id, reference, abbv, manager, enabled) values (%SCHEMA%.ROLE_SEQ.nextval, 'Instructor', 'Instructor', 0, 1)</plsql>
</update>
<update version="87" date="23-August-2012" comment="Default Permissions">
<sql>delete from %SCHEMA%.rights</sql>
<mysql into="R1">select role_id from %SCHEMA%.roles where reference = 'Administrator'</mysql>
<mysql into="R2">select role_id from %SCHEMA%.roles where reference = 'Dept Sched Mgr'</mysql>
<mysql into="R3">select role_id from %SCHEMA%.roles where reference = 'View All'</mysql>
<mysql into="R4">select role_id from %SCHEMA%.roles where reference = 'Exam Mgr'</mysql>
<mysql into="R5">select role_id from %SCHEMA%.roles where reference = 'Event Mgr'</mysql>
<mysql into="R6">select role_id from %SCHEMA%.roles where reference = 'Curriculum Mgr'</mysql>
<mysql into="R7">select role_id from %SCHEMA%.roles where reference = 'Advisor'</mysql>
<mysql into="R8">select role_id from %SCHEMA%.roles where reference = 'No Role'</mysql>
<mysql into="R9">select role_id from %SCHEMA%.roles where reference = 'Student'</mysql>
<mysql into="R10">select role_id from %SCHEMA%.roles where reference = 'Instructor'</mysql>
<mysql>insert into %SCHEMA%.rights (role_id, value) values
(%R1%, 'AcademicAreaEdit'),
(%R1%, 'AcademicAreas'),
(%R1%, 'AcademicClassificationEdit'),
(%R1%, 'AcademicClassifications'),
(%R1%, 'AcademicSessionAdd'),
(%R1%, 'AcademicSessionDelete'),
(%R1%, 'AcademicSessionEdit'),
(%R1%, 'AcademicSessions'),
(%R1%, 'AddCourseOffering'),
(%R1%, 'AddNonUnivLocation'),
(%R1%, 'AddRoom'),
(%R1%, 'AddSpecialUseRoom'),
(%R1%, 'AddSpecialUseRoomExternalRoom'),
(%R1%, 'AllowTestSessions'),
(%R1%, 'ApplicationConfig'),
(%R1%, 'AssignInstructors'),
(%R1%, 'AssignInstructorsClass'),
(%R1%, 'AssignedClasses'),
(%R1%, 'AssignedExaminations'),
(%R1%, 'AssignmentHistory'),
(%R1%, 'BuildingAdd'),
(%R1%, 'BuildingDelete'),
(%R1%, 'BuildingEdit'),
(%R1%, 'BuildingExportPdf'),
(%R1%, 'BuildingList'),
(%R1%, 'BuildingUpdateData'),
(%R1%, 'CanSelectSolverServer'),
(%R1%, 'CanUseHardDistributionPrefs'),
(%R1%, 'CanUseHardPeriodPrefs'),
(%R1%, 'CanUseHardRoomPrefs'),
(%R1%, 'CanUseHardTimePrefs'),
(%R1%, 'Chameleon'),
(%R1%, 'ClassAssignment'),
(%R1%, 'ClassAssignments'),
(%R1%, 'ClassAssignmentsExportCsv'),
(%R1%, 'ClassAssignmentsExportPdf'),
(%R1%, 'ClassDetail'),
(%R1%, 'ClassEdit'),
(%R1%, 'ClassEditClearPreferences'),
(%R1%, 'Classes'),
(%R1%, 'ClassesExportPDF'),
(%R1%, 'ConflictStatistics'),
(%R1%, 'ConsentApproval'),
(%R1%, 'CourseCreditFormatEdit'),
(%R1%, 'CourseCreditFormats'),
(%R1%, 'CourseCreditTypeEdit'),
(%R1%, 'CourseCreditTypes'),
(%R1%, 'CourseCreditUnitEdit'),
(%R1%, 'CourseCreditUnits'),
(%R1%, 'CourseRequests'),
(%R1%, 'CourseTimetabling'),
(%R1%, 'CourseTimetablingAudit'),
(%R1%, 'CurriculumAdd'),
(%R1%, 'CurriculumAdmin'),
(%R1%, 'CurriculumDelete'),
(%R1%, 'CurriculumDetail'),
(%R1%, 'CurriculumEdit'),
(%R1%, 'CurriculumMerge'),
(%R1%, 'CurriculumProjectionRulesDetail'),
(%R1%, 'CurriculumProjectionRulesEdit'),
(%R1%, 'CurriculumView'),
(%R1%, 'DataExchange'),
(%R1%, 'DatePatterns'),
(%R1%, 'DepartmenalRoomFeatureDelete'),
(%R1%, 'DepartmenalRoomFeatureEdit'),
(%R1%, 'DepartmenalRoomGroupDelete'),
(%R1%, 'DepartmenalRoomGroupEdit'),
(%R1%, 'DepartmentAdd'),
(%R1%, 'DepartmentDelete'),
(%R1%, 'DepartmentEdit'),
(%R1%, 'DepartmentEditChangeExternalManager'),
(%R1%, 'DepartmentIndependent'),
(%R1%, 'DepartmentRoomFeatureAdd'),
(%R1%, 'DepartmentRoomGroupAdd'),
(%R1%, 'Departments'),
(%R1%, 'DistributionPreferenceAdd'),
(%R1%, 'DistributionPreferenceClass'),
(%R1%, 'DistributionPreferenceDelete'),
(%R1%, 'DistributionPreferenceDetail'),
(%R1%, 'DistributionPreferenceEdit'),
(%R1%, 'DistributionPreferenceExam'),
(%R1%, 'DistributionPreferenceSubpart'),
(%R1%, 'DistributionPreferences'),
(%R1%, 'DistributionTypeEdit'),
(%R1%, 'DistributionTypes'),
(%R1%, 'EditCourseOffering'),
(%R1%, 'EditRoomDepartments'),
(%R1%, 'EditRoomDepartmentsFinalExams'),
(%R1%, 'EditRoomDepartmentsMidtermExams'),
(%R1%, 'EnrollmentAuditPDFReports'),
(%R1%, 'EventAddCourseRelated'),
(%R1%, 'EventAddSpecial'),
(%R1%, 'EventAnyLocation'),
(%R1%, 'EventApprovePast'),
(%R1%, 'EventDate'),
(%R1%, 'EventDetail'),
(%R1%, 'EventEdit'),
(%R1%, 'EventLocation'),
(%R1%, 'EventLocationApprove'),
(%R1%, 'EventLocationOverbook'),
(%R1%, 'EventLookupContact'),
(%R1%, 'EventLookupSchedule'),
(%R1%, 'EventMeetingApprove'),
(%R1%, 'EventMeetingEdit'),
(%R1%, 'Events'),
(%R1%, 'ExactTimes'),
(%R1%, 'ExaminationAdd'),
(%R1%, 'ExaminationAssignment'),
(%R1%, 'ExaminationAssignmentChanges'),
(%R1%, 'ExaminationClone'),
(%R1%, 'ExaminationConflictStatistics'),
(%R1%, 'ExaminationDelete'),
(%R1%, 'ExaminationDetail'),
(%R1%, 'ExaminationDistributionPreferenceAdd'),
(%R1%, 'ExaminationDistributionPreferenceDelete'),
(%R1%, 'ExaminationDistributionPreferenceDetail'),
(%R1%, 'ExaminationDistributionPreferenceEdit'),
(%R1%, 'ExaminationDistributionPreferences'),
(%R1%, 'ExaminationEdit'),
(%R1%, 'ExaminationEditClearPreferences'),
(%R1%, 'ExaminationPdfReports'),
(%R1%, 'ExaminationPeriods'),
(%R1%, 'ExaminationReports'),
(%R1%, 'ExaminationSchedule'),
(%R1%, 'ExaminationSolver'),
(%R1%, 'ExaminationSolverLog'),
(%R1%, 'ExaminationTimetable'),
(%R1%, 'ExaminationTimetabling'),
(%R1%, 'Examinations'),
(%R1%, 'ExtendedDatePatterns'),
(%R1%, 'ExtendedTimePatterns'),
(%R1%, 'GlobalRoomFeatureAdd'),
(%R1%, 'GlobalRoomFeatureDelete'),
(%R1%, 'GlobalRoomFeatureEdit'),
(%R1%, 'GlobalRoomGroupAdd'),
(%R1%, 'GlobalRoomGroupDelete'),
(%R1%, 'GlobalRoomGroupEdit'),
(%R1%, 'GlobalRoomGroupEditSetDefault'),
(%R1%, 'HQLReportAdd'),
(%R1%, 'HQLReportDelete'),
(%R1%, 'HQLReportEdit'),
(%R1%, 'HQLReports'),
(%R1%, 'HQLReportsAdminOnly'),
(%R1%, 'HQLReportsAdministration'),
(%R1%, 'HQLReportsCourses'),
(%R1%, 'HQLReportsEvents'),
(%R1%, 'HQLReportsExaminations'),
(%R1%, 'HQLReportsStudents'),
(%R1%, 'HasRole'),
(%R1%, 'HibernateStatistics'),
(%R1%, 'Inquiry'),
(%R1%, 'InstrOfferingConfigAdd'),
(%R1%, 'InstrOfferingConfigDelete'),
(%R1%, 'InstrOfferingConfigEdit'),
(%R1%, 'InstrOfferingConfigEditDepartment'),
(%R1%, 'InstrOfferingConfigEditSubpart'),
(%R1%, 'InstructionalOfferingCrossLists'),
(%R1%, 'InstructionalOfferingDetail'),
(%R1%, 'InstructionalOfferings'),
(%R1%, 'InstructionalOfferingsExportPDF'),
(%R1%, 'InstructionalOfferingsWorksheetPDF'),
(%R1%, 'InstructionalTypeAdd'),
(%R1%, 'InstructionalTypeDelete'),
(%R1%, 'InstructionalTypeEdit'),
(%R1%, 'InstructionalTypes'),
(%R1%, 'InstructorAdd'),
(%R1%, 'InstructorDelete'),
(%R1%, 'InstructorDetail'),
(%R1%, 'InstructorEdit'),
(%R1%, 'InstructorEditClearPreferences'),
(%R1%, 'InstructorPreferences'),
(%R1%, 'Instructors'),
(%R1%, 'InstructorsExportPdf'),
(%R1%, 'IsAdmin'),
(%R1%, 'LastChanges'),
(%R1%, 'MajorEdit'),
(%R1%, 'Majors'),
(%R1%, 'ManageInstructors'),
(%R1%, 'ManageSolvers'),
(%R1%, 'MinorEdit'),
(%R1%, 'Minors'),
(%R1%, 'MultipleClassSetup'),
(%R1%, 'MultipleClassSetupClass'),
(%R1%, 'MultipleClassSetupDepartment'),
(%R1%, 'NonUniversityLocationDelete'),
(%R1%, 'NotAssignedClasses'),
(%R1%, 'NotAssignedExaminations'),
(%R1%, 'OfferingCanLock'),
(%R1%, 'OfferingCanUnlock'),
(%R1%, 'OfferingConsentTypeEdit'),
(%R1%, 'OfferingConsentTypes'),
(%R1%, 'OfferingDelete'),
(%R1%, 'OfferingEnrollments'),
(%R1%, 'OfferingMakeNotOffered'),
(%R1%, 'OfferingMakeOffered'),
(%R1%, 'PageStatistics'),
(%R1%, 'PermissionEdit'),
(%R1%, 'Permissions'),
(%R1%, 'PersonalSchedule'),
(%R1%, 'PersonalScheduleLookup'),
(%R1%, 'PositionTypeEdit'),
(%R1%, 'PositionTypes'),
(%R1%, 'Registration'),
(%R1%, 'ReservationAdd'),
(%R1%, 'ReservationDelete'),
(%R1%, 'ReservationEdit'),
(%R1%, 'ReservationOffering'),
(%R1%, 'Reservations'),
(%R1%, 'RoleEdit'),
(%R1%, 'Roles'),
(%R1%, 'RoomAvailability'),
(%R1%, 'RoomDelete'),
(%R1%, 'RoomDepartments'),
(%R1%, 'RoomDetail'),
(%R1%, 'RoomDetailAvailability'),
(%R1%, 'RoomDetailPeriodPreferences'),
(%R1%, 'RoomEdit'),
(%R1%, 'RoomEditAvailability'),
(%R1%, 'RoomEditChangeCapacity'),
(%R1%, 'RoomEditChangeControll'),
(%R1%, 'RoomEditChangeExaminationStatus'),
(%R1%, 'RoomEditChangeExternalId'),
(%R1%, 'RoomEditChangeRoomProperties'),
(%R1%, 'RoomEditChangeType'),
(%R1%, 'RoomEditFeatures'),
(%R1%, 'RoomEditGlobalFeatures'),
(%R1%, 'RoomEditGlobalGroups'),
(%R1%, 'RoomEditGroups'),
(%R1%, 'RoomEditPreference'),
(%R1%, 'RoomFeatures'),
(%R1%, 'RoomFeaturesExportPdf'),
(%R1%, 'RoomGroups'),
(%R1%, 'RoomGroupsExportPdf'),
(%R1%, 'RoomTypes'),
(%R1%, 'Rooms'),
(%R1%, 'RoomsExportCsv'),
(%R1%, 'RoomsExportPdf'),
(%R1%, 'SchedulingAssistant'),
(%R1%, 'SchedulingDashboard'),
(%R1%, 'SchedulingSubpartDetail'),
(%R1%, 'SchedulingSubpartDetailClearClassPreferences'),
(%R1%, 'SchedulingSubpartEdit'),
(%R1%, 'SchedulingSubpartEditClearPreferences'),
(%R1%, 'SessionDefaultCurrent'),
(%R1%, 'SessionIndependent'),
(%R1%, 'SessionRollForward'),
(%R1%, 'SettingsAdmin'),
(%R1%, 'SettingsUser'),
(%R1%, 'SolutionChanges'),
(%R1%, 'SolutionInformationDefinitions'),
(%R1%, 'SolutionReports'),
(%R1%, 'Solver'),
(%R1%, 'SolverConfigurations'),
(%R1%, 'SolverGroups'),
(%R1%, 'SolverLog'),
(%R1%, 'SolverParameterGroups'),
(%R1%, 'SolverParameters'),
(%R1%, 'SolverSolutionExportCsv'),
(%R1%, 'SolverSolutionExportXml'),
(%R1%, 'SolverSolutionSave'),
(%R1%, 'SponsoringOrganizationAdd'),
(%R1%, 'SponsoringOrganizationDelete'),
(%R1%, 'SponsoringOrganizationEdit'),
(%R1%, 'SponsoringOrganizations'),
(%R1%, 'StandardEventNotes'),
(%R1%, 'StatusIndependent'),
(%R1%, 'StatusTypes'),
(%R1%, 'StudentEnrollments'),
(%R1%, 'StudentGroupEdit'),
(%R1%, 'StudentGroups'),
(%R1%, 'StudentScheduling'),
(%R1%, 'StudentSchedulingAdmin'),
(%R1%, 'StudentSchedulingAdvisor'),
(%R1%, 'StudentSchedulingStatusTypeEdit'),
(%R1%, 'StudentSchedulingStatusTypes'),
(%R1%, 'StudentSectioningSolver'),
(%R1%, 'StudentSectioningSolverDashboard'),
(%R1%, 'StudentSectioningSolverLog'),
(%R1%, 'SubjectAreaAdd'),
(%R1%, 'SubjectAreaChangeDepartment'),
(%R1%, 'SubjectAreaDelete'),
(%R1%, 'SubjectAreaEdit'),
(%R1%, 'SubjectAreas'),
(%R1%, 'Suggestions'),
(%R1%, 'TestHQL'),
(%R1%, 'TimePatterns'),
(%R1%, 'TimetableGrid'),
(%R1%, 'TimetableManagerAdd'),
(%R1%, 'TimetableManagerDelete'),
(%R1%, 'TimetableManagerEdit'),
(%R1%, 'TimetableManagers'),
(%R1%, 'Timetables'),
(%R1%, 'TimetablesSolutionChangeNote'),
(%R1%, 'TimetablesSolutionCommit'),
(%R1%, 'TimetablesSolutionDelete'),
(%R1%, 'TimetablesSolutionExportCsv'),
(%R1%, 'TimetablesSolutionLoad'),
(%R1%, 'TimetablesSolutionLoadEmpty'),
(%R1%, 'TravelTimesLoad'),
(%R1%, 'TravelTimesSave'),
(%R1%, 'Users'),
(%R2%, 'AddCourseOffering'),
(%R2%, 'AddNonUnivLocation'),
(%R2%, 'AddSpecialUseRoom'),
(%R2%, 'AddSpecialUseRoomExternalRoom'),
(%R2%, 'AssignInstructors'),
(%R2%, 'AssignInstructorsClass'),
(%R2%, 'AssignedClasses'),
(%R2%, 'AssignmentHistory'),
(%R2%, 'CanUseHardDistributionPrefs'),
(%R2%, 'CanUseHardPeriodPrefs'),
(%R2%, 'CanUseHardRoomPrefs'),
(%R2%, 'CanUseHardTimePrefs'),
(%R2%, 'ClassAssignments'),
(%R2%, 'ClassAssignmentsExportCsv'),
(%R2%, 'ClassAssignmentsExportPdf'),
(%R2%, 'ClassDetail'),
(%R2%, 'ClassEdit'),
(%R2%, 'ClassEditClearPreferences'),
(%R2%, 'Classes'),
(%R2%, 'ClassesExportPDF'),
(%R2%, 'ConflictStatistics'),
(%R2%, 'ConsentApproval'),
(%R2%, 'CourseTimetabling'),
(%R2%, 'CourseTimetablingAudit'),
(%R2%, 'CurriculumAdd'),
(%R2%, 'CurriculumDelete'),
(%R2%, 'CurriculumDetail'),
(%R2%, 'CurriculumEdit'),
(%R2%, 'CurriculumProjectionRulesDetail'),
(%R2%, 'CurriculumView'),
(%R2%, 'DepartmenalRoomFeatureDelete'),
(%R2%, 'DepartmenalRoomFeatureEdit'),
(%R2%, 'DepartmenalRoomGroupDelete'),
(%R2%, 'DepartmenalRoomGroupEdit'),
(%R2%, 'DepartmentRoomFeatureAdd'),
(%R2%, 'DepartmentRoomGroupAdd'),
(%R2%, 'DistributionPreferenceAdd'),
(%R2%, 'DistributionPreferenceClass'),
(%R2%, 'DistributionPreferenceDelete'),
(%R2%, 'DistributionPreferenceDetail'),
(%R2%, 'DistributionPreferenceEdit'),
(%R2%, 'DistributionPreferenceExam'),
(%R2%, 'DistributionPreferenceSubpart'),
(%R2%, 'DistributionPreferences'),
(%R2%, 'EditCourseOffering'),
(%R2%, 'EditRoomDepartments'),
(%R2%, 'EventAddCourseRelated'),
(%R2%, 'EventAddSpecial'),
(%R2%, 'EventDate'),
(%R2%, 'EventDetail'),
(%R2%, 'EventEdit'),
(%R2%, 'EventLocation'),
(%R2%, 'EventLookupSchedule'),
(%R2%, 'EventMeetingEdit'),
(%R2%, 'Events'),
(%R2%, 'ExaminationAdd'),
(%R2%, 'ExaminationClone'),
(%R2%, 'ExaminationDelete'),
(%R2%, 'ExaminationDetail'),
(%R2%, 'ExaminationDistributionPreferenceAdd'),
(%R2%, 'ExaminationDistributionPreferenceDelete'),
(%R2%, 'ExaminationDistributionPreferenceDetail'),
(%R2%, 'ExaminationDistributionPreferenceEdit'),
(%R2%, 'ExaminationDistributionPreferences'),
(%R2%, 'ExaminationEdit'),
(%R2%, 'ExaminationEditClearPreferences'),
(%R2%, 'ExaminationPdfReports'),
(%R2%, 'ExaminationSchedule'),
(%R2%, 'Examinations'),
(%R2%, 'HQLReports'),
(%R2%, 'HQLReportsCourses'),
(%R2%, 'HasRole'),
(%R2%, 'Inquiry'),
(%R2%, 'InstrOfferingConfigAdd'),
(%R2%, 'InstrOfferingConfigDelete'),
(%R2%, 'InstrOfferingConfigEdit'),
(%R2%, 'InstrOfferingConfigEditDepartment'),
(%R2%, 'InstrOfferingConfigEditSubpart'),
(%R2%, 'InstructionalOfferingCrossLists'),
(%R2%, 'InstructionalOfferingDetail'),
(%R2%, 'InstructionalOfferings'),
(%R2%, 'InstructionalOfferingsExportPDF'),
(%R2%, 'InstructionalOfferingsWorksheetPDF'),
(%R2%, 'InstructorAdd'),
(%R2%, 'InstructorDelete'),
(%R2%, 'InstructorDetail'),
(%R2%, 'InstructorEdit'),
(%R2%, 'InstructorEditClearPreferences'),
(%R2%, 'InstructorPreferences'),
(%R2%, 'Instructors'),
(%R2%, 'InstructorsExportPdf'),
(%R2%, 'ManageInstructors'),
(%R2%, 'MultipleClassSetup'),
(%R2%, 'MultipleClassSetupClass'),
(%R2%, 'MultipleClassSetupDepartment'),
(%R2%, 'NonUniversityLocationDelete'),
(%R2%, 'NotAssignedClasses'),
(%R2%, 'OfferingCanLock'),
(%R2%, 'OfferingCanUnlock'),
(%R2%, 'OfferingEnrollments'),
(%R2%, 'OfferingMakeNotOffered'),
(%R2%, 'OfferingMakeOffered'),
(%R2%, 'PersonalSchedule'),
(%R2%, 'PersonalScheduleLookup'),
(%R2%, 'ReservationAdd'),
(%R2%, 'ReservationDelete'),
(%R2%, 'ReservationEdit'),
(%R2%, 'ReservationOffering'),
(%R2%, 'Reservations'),
(%R2%, 'RoomAvailability'),
(%R2%, 'RoomDepartments'),
(%R2%, 'RoomDetail'),
(%R2%, 'RoomDetailAvailability'),
(%R2%, 'RoomEditAvailability'),
(%R2%, 'RoomEditFeatures'),
(%R2%, 'RoomEditGroups'),
(%R2%, 'RoomEditPreference'),
(%R2%, 'RoomFeatures'),
(%R2%, 'RoomFeaturesExportPdf'),
(%R2%, 'RoomGroups'),
(%R2%, 'RoomGroupsExportPdf'),
(%R2%, 'Rooms'),
(%R2%, 'RoomsExportCsv'),
(%R2%, 'RoomsExportPdf'),
(%R2%, 'SchedulingAssistant'),
(%R2%, 'SchedulingDashboard'),
(%R2%, 'SchedulingSubpartDetail'),
(%R2%, 'SchedulingSubpartDetailClearClassPreferences'),
(%R2%, 'SchedulingSubpartEdit'),
(%R2%, 'SchedulingSubpartEditClearPreferences'),
(%R2%, 'SessionDefaultFirstFuture'),
(%R2%, 'SettingsUser'),
(%R2%, 'SolutionChanges'),
(%R2%, 'SolutionReports'),
(%R2%, 'Solver'),
(%R2%, 'SolverLog'),
(%R2%, 'SolverSolutionExportCsv'),
(%R2%, 'SolverSolutionSave'),
(%R2%, 'StudentEnrollments'),
(%R2%, 'Suggestions'),
(%R2%, 'TimetableGrid'),
(%R2%, 'Timetables'),
(%R2%, 'TimetablesSolutionChangeNote'),
(%R2%, 'TimetablesSolutionCommit'),
(%R2%, 'TimetablesSolutionDelete'),
(%R2%, 'TimetablesSolutionExportCsv'),
(%R2%, 'TimetablesSolutionLoad'),
(%R2%, 'TimetablesSolutionLoadEmpty'),
(%R3%, 'CanUseHardDistributionPrefs'),
(%R3%, 'CanUseHardPeriodPrefs'),
(%R3%, 'CanUseHardRoomPrefs'),
(%R3%, 'CanUseHardTimePrefs'),
(%R3%, 'ClassAssignments'),
(%R3%, 'ClassAssignmentsExportCsv'),
(%R3%, 'ClassAssignmentsExportPdf'),
(%R3%, 'ClassDetail'),
(%R3%, 'Classes'),
(%R3%, 'ClassesExportPDF'),
(%R3%, 'CurriculumDetail'),
(%R3%, 'CurriculumProjectionRulesDetail'),
(%R3%, 'CurriculumView'),
(%R3%, 'DepartmentIndependent'),
(%R3%, 'DistributionPreferenceDetail'),
(%R3%, 'DistributionPreferences'),
(%R3%, 'EventAddSpecial'),
(%R3%, 'EventDate'),
(%R3%, 'EventDetail'),
(%R3%, 'EventEdit'),
(%R3%, 'EventLocation'),
(%R3%, 'EventMeetingEdit'),
(%R3%, 'Events'),
(%R3%, 'ExaminationDetail'),
(%R3%, 'ExaminationDistributionPreferenceDetail'),
(%R3%, 'ExaminationDistributionPreferences'),
(%R3%, 'ExaminationPdfReports'),
(%R3%, 'ExaminationSchedule'),
(%R3%, 'Examinations'),
(%R3%, 'HasRole'),
(%R3%, 'Inquiry'),
(%R3%, 'InstructionalOfferingDetail'),
(%R3%, 'InstructionalOfferings'),
(%R3%, 'InstructionalOfferingsExportPDF'),
(%R3%, 'InstructionalOfferingsWorksheetPDF'),
(%R3%, 'InstructorDetail'),
(%R3%, 'Instructors'),
(%R3%, 'InstructorsExportPdf'),
(%R3%, 'OfferingEnrollments'),
(%R3%, 'RoomAvailability'),
(%R3%, 'RoomDetail'),
(%R3%, 'RoomDetailAvailability'),
(%R3%, 'RoomDetailPeriodPreferences'),
(%R3%, 'RoomFeatures'),
(%R3%, 'RoomFeaturesExportPdf'),
(%R3%, 'RoomGroups'),
(%R3%, 'RoomGroupsExportPdf'),
(%R3%, 'Rooms'),
(%R3%, 'RoomsExportCsv'),
(%R3%, 'RoomsExportPdf'),
(%R3%, 'SchedulingAssistant'),
(%R3%, 'SchedulingDashboard'),
(%R3%, 'SchedulingSubpartDetail'),
(%R3%, 'SessionDefaultCurrent'),
(%R3%, 'SessionIndependentIfNoSessionGiven'),
(%R3%, 'SettingsUser'),
(%R3%, 'StudentEnrollments'),
(%R4%, 'AssignedExaminations'),
(%R4%, 'CanUseHardDistributionPrefs'),
(%R4%, 'CanUseHardPeriodPrefs'),
(%R4%, 'CanUseHardRoomPrefs'),
(%R4%, 'CanUseHardTimePrefs'),
(%R4%, 'ClassAssignments'),
(%R4%, 'ClassAssignmentsExportCsv'),
(%R4%, 'ClassAssignmentsExportPdf'),
(%R4%, 'DepartmentIndependent'),
(%R4%, 'DistributionPreferenceExam'),
(%R4%, 'EditRoomDepartmentsFinalExams'),
(%R4%, 'EditRoomDepartmentsMidtermExams'),
(%R4%, 'EventAddSpecial'),
(%R4%, 'EventDate'),
(%R4%, 'EventDetail'),
(%R4%, 'EventEdit'),
(%R4%, 'EventLocation'),
(%R4%, 'EventMeetingEdit'),
(%R4%, 'Events'),
(%R4%, 'ExaminationAdd'),
(%R4%, 'ExaminationAssignment'),
(%R4%, 'ExaminationAssignmentChanges'),
(%R4%, 'ExaminationClone'),
(%R4%, 'ExaminationConflictStatistics'),
(%R4%, 'ExaminationDelete'),
(%R4%, 'ExaminationDetail'),
(%R4%, 'ExaminationDistributionPreferenceAdd'),
(%R4%, 'ExaminationDistributionPreferenceDelete'),
(%R4%, 'ExaminationDistributionPreferenceEdit'),
(%R4%, 'ExaminationEdit'),
(%R4%, 'ExaminationEditClearPreferences'),
(%R4%, 'ExaminationPdfReports'),
(%R4%, 'ExaminationReports'),
(%R4%, 'ExaminationSchedule'),
(%R4%, 'ExaminationSolver'),
(%R4%, 'ExaminationSolverLog'),
(%R4%, 'ExaminationTimetable'),
(%R4%, 'ExaminationTimetabling'),
(%R4%, 'Examinations'),
(%R4%, 'GlobalRoomFeatureAdd'),
(%R4%, 'GlobalRoomFeatureDelete'),
(%R4%, 'GlobalRoomFeatureEdit'),
(%R4%, 'GlobalRoomGroupAdd'),
(%R4%, 'GlobalRoomGroupDelete'),
(%R4%, 'GlobalRoomGroupEdit'),
(%R4%, 'HQLReports'),
(%R4%, 'HQLReportsExaminations'),
(%R4%, 'HasRole'),
(%R4%, 'Inquiry'),
(%R4%, 'InstructorDetail'),
(%R4%, 'Instructors'),
(%R4%, 'InstructorsExportPdf'),
(%R4%, 'NotAssignedExaminations'),
(%R4%, 'RoomDetail'),
(%R4%, 'RoomDetailPeriodPreferences'),
(%R4%, 'RoomEdit'),
(%R4%, 'RoomEditChangeExaminationStatus'),
(%R4%, 'RoomEditFeatures'),
(%R4%, 'RoomEditGlobalFeatures'),
(%R4%, 'RoomEditGlobalGroups'),
(%R4%, 'RoomEditGroups'),
(%R4%, 'RoomFeatures'),
(%R4%, 'RoomFeaturesExportPdf'),
(%R4%, 'RoomGroups'),
(%R4%, 'RoomGroupsExportPdf'),
(%R4%, 'Rooms'),
(%R4%, 'RoomsExportCsv'),
(%R4%, 'RoomsExportPdf'),
(%R4%, 'SessionDefaultFirstExamination'),
(%R4%, 'SettingsUser'),
(%R5%, 'AddNonUnivLocation'),
(%R5%, 'AddSpecialUseRoom'),
(%R5%, 'AddSpecialUseRoomExternalRoom'),
(%R5%, 'CanUseHardDistributionPrefs'),
(%R5%, 'CanUseHardPeriodPrefs'),
(%R5%, 'CanUseHardRoomPrefs'),
(%R5%, 'CanUseHardTimePrefs'),
(%R5%, 'EventAddCourseRelated'),
(%R5%, 'EventAddSpecial'),
(%R5%, 'EventDate'),
(%R5%, 'EventDetail'),
(%R5%, 'EventEdit'),
(%R5%, 'EventLocation'),
(%R5%, 'EventLocationApprove'),
(%R5%, 'EventLocationOverbook'),
(%R5%, 'EventLookupContact'),
(%R5%, 'EventMeetingApprove'),
(%R5%, 'EventMeetingEdit'),
(%R5%, 'Events'),
(%R5%, 'ExaminationSchedule'),
(%R5%, 'HQLReports'),
(%R5%, 'HQLReportsEvents'),
(%R5%, 'HasRole'),
(%R5%, 'Inquiry'),
(%R5%, 'NonUniversityLocationDelete'),
(%R5%, 'RoomDetail'),
(%R5%, 'RoomFeatures'),
(%R5%, 'RoomFeaturesExportPdf'),
(%R5%, 'RoomGroups'),
(%R5%, 'RoomGroupsExportPdf'),
(%R5%, 'Rooms'),
(%R5%, 'RoomsExportCsv'),
(%R5%, 'RoomsExportPdf'),
(%R5%, 'SessionDefaultCurrent'),
(%R5%, 'SettingsUser'),
(%R6%, 'CanUseHardDistributionPrefs'),
(%R6%, 'CanUseHardPeriodPrefs'),
(%R6%, 'CanUseHardRoomPrefs'),
(%R6%, 'CanUseHardTimePrefs'),
(%R6%, 'CurriculumAdd'),
(%R6%, 'CurriculumAdmin'),
(%R6%, 'CurriculumDelete'),
(%R6%, 'CurriculumDetail'),
(%R6%, 'CurriculumEdit'),
(%R6%, 'CurriculumMerge'),
(%R6%, 'CurriculumProjectionRulesDetail'),
(%R6%, 'CurriculumProjectionRulesEdit'),
(%R6%, 'CurriculumView'),
(%R6%, 'DepartmentIndependent'),
(%R6%, 'EventAddSpecial'),
(%R6%, 'EventDate'),
(%R6%, 'EventDetail'),
(%R6%, 'EventEdit'),
(%R6%, 'EventLocation'),
(%R6%, 'EventMeetingEdit'),
(%R6%, 'Events'),
(%R6%, 'ExaminationDistributionPreferenceDetail'),
(%R6%, 'ExaminationDistributionPreferences'),
(%R6%, 'ExaminationSchedule'),
(%R6%, 'HasRole'),
(%R6%, 'Inquiry'),
(%R6%, 'RoomAvailability'),
(%R6%, 'SessionDefaultCurrent'),
(%R6%, 'SettingsUser'),
(%R7%, 'CanUseHardDistributionPrefs'),
(%R7%, 'CanUseHardPeriodPrefs'),
(%R7%, 'CanUseHardRoomPrefs'),
(%R7%, 'CanUseHardTimePrefs'),
(%R7%, 'CourseRequests'),
(%R7%, 'DepartmentIndependent'),
(%R7%, 'EventAddSpecial'),
(%R7%, 'EventDate'),
(%R7%, 'EventDetail'),
(%R7%, 'EventEdit'),
(%R7%, 'EventLocation'),
(%R7%, 'EventLookupSchedule'),
(%R7%, 'EventMeetingEdit'),
(%R7%, 'Events'),
(%R7%, 'ExaminationSchedule'),
(%R7%, 'HasRole'),
(%R7%, 'Inquiry'),
(%R7%, 'OfferingEnrollments'),
(%R7%, 'PersonalSchedule'),
(%R7%, 'PersonalScheduleLookup'),
(%R7%, 'SchedulingAssistant'),
(%R7%, 'SchedulingDashboard'),
(%R7%, 'SessionDefaultCurrent'),
(%R7%, 'SettingsUser'),
(%R7%, 'StudentEnrollments'),
(%R7%, 'StudentSchedulingAdvisor'),
(%R8%, 'EventAddSpecial'),
(%R8%, 'EventDate'),
(%R8%, 'EventDetail'),
(%R8%, 'EventEdit'),
(%R8%, 'EventLocation'),
(%R8%, 'EventMeetingEdit'),
(%R8%, 'Events'),
(%R8%, 'Inquiry'),
(%R8%, 'SchedulingAssistant'),
(%R9%, 'CourseRequests'),
(%R9%, 'EventAddSpecial'),
(%R9%, 'EventDate'),
(%R9%, 'EventDetail'),
(%R9%, 'EventEdit'),
(%R9%, 'EventLocation'),
(%R9%, 'EventMeetingEdit'),
(%R9%, 'Events'),
(%R9%, 'Inquiry'),
(%R9%, 'PersonalSchedule'),
(%R9%, 'SchedulingAssistant'),
(%R9%, 'SessionDefaultCurrent'),
(%R9%, 'StudentEnrollments'),
(%R10%, 'ConsentApproval'),
(%R10%, 'EventAddSpecial'),
(%R10%, 'EventDate'),
(%R10%, 'EventDetail'),
(%R10%, 'EventEdit'),
(%R10%, 'EventLocation'),
(%R10%, 'EventMeetingEdit'),
(%R10%, 'Events'),
(%R10%, 'Inquiry'),
(%R10%, 'OfferingEnrollments'),
(%R10%, 'PersonalSchedule'),
(%R10%, 'SchedulingAssistant'),
(%R10%, 'SchedulingDashboard'),
(%R10%, 'SessionDefaultCurrent')
</mysql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicAreaEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicAreas' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicClassificationEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicClassifications' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessionAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessionDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessionEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessions' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddCourseOffering' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddNonUnivLocation' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddRoom' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoom' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoomExternalRoom' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AllowTestSessions' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ApplicationConfig' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructorsClass' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedClasses' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedExaminations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignmentHistory' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingList' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingUpdateData' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanSelectSolverServer' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Chameleon' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportCsv' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Classes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassesExportPDF' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConflictStatistics' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConsentApproval' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditFormatEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditFormats' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditTypeEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditUnitEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditUnits' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseRequests' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetabling' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetablingAudit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdmin' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumMerge' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumView' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DataExchange' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DatePatterns' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentEditChangeExternalManager' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomFeatureAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomGroupAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Departments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceClass' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceExam' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceSubpart' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionTypeEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditCourseOffering' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsFinalExams' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsMidtermExams' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EnrollmentAuditPDFReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddCourseRelated' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAnyLocation' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventApprovePast' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationApprove' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationOverbook' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupContact' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupSchedule' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingApprove' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExactTimes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignmentChanges' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationClone' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationConflictStatistics' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPdfReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPeriods' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolver' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolverLog' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetable' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetabling' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Examinations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExtendedDatePatterns' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExtendedTimePatterns' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupEditSetDefault' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsAdminOnly' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsAdministration' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsCourses' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsEvents' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsExaminations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsStudents' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HibernateStatistics' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditDepartment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditSubpart' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingCrossLists' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferings' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsExportPDF' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsWorksheetPDF' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalTypeAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalTypeDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalTypeEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Instructors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorsExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'IsAdmin' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'LastChanges' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MajorEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Majors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ManageInstructors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ManageSolvers' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MinorEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Minors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetup' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupClass' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupDepartment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedClasses' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedExaminations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanLock' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanUnlock' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingConsentTypeEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingConsentTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeNotOffered' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeOffered' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PageStatistics' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PermissionEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Permissions' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalScheduleLookup' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PositionTypeEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PositionTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Registration' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationOffering' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Reservations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoleEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Roles' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomAvailability' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDepartments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailAvailability' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailPeriodPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditAvailability' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeCapacity' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeControll' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExaminationStatus' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExternalId' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeRoomProperties' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeType' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditFeatures' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGlobalFeatures' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGlobalGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditPreference' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetailClearClassPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionIndependent' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionRollForward' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsAdmin' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionChanges' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionInformationDefinitions' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Solver' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverConfigurations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverLog' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverParameterGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverParameters' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionExportXml' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionSave' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SponsoringOrganizationAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SponsoringOrganizationDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SponsoringOrganizationEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SponsoringOrganizations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StandardEventNotes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StatusIndependent' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StatusTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentGroupEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentScheduling' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingAdmin' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingAdvisor' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingStatusTypeEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingStatusTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSectioningSolver' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSectioningSolverDashboard' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSectioningSolverLog' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaChangeDepartment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreas' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Suggestions' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TestHQL' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimePatterns' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableGrid' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagerAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagerDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagerEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagers' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Timetables' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionChangeNote' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionCommit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoad' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoadEmpty' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TravelTimesLoad' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TravelTimesSave' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Users' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddCourseOffering' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddNonUnivLocation' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoom' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoomExternalRoom' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructors' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructorsClass' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedClasses' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignmentHistory' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportCsv' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Classes' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassesExportPDF' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConflictStatistics' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConsentApproval' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetabling' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetablingAudit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumView' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomFeatureAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomGroupAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceClass' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceExam' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceSubpart' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditCourseOffering' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddCourseRelated' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupSchedule' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationClone' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPdfReports' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Examinations' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReports' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsCourses' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditDepartment' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditSubpart' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingCrossLists' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferings' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsExportPDF' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsWorksheetPDF' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Instructors' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorsExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ManageInstructors' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetup' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupClass' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupDepartment' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedClasses' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanLock' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanUnlock' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeNotOffered' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeOffered' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalScheduleLookup' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationOffering' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Reservations' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomAvailability' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDepartments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailAvailability' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditAvailability' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditFeatures' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGroups' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditPreference' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetailClearClassPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultFirstFuture' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionChanges' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionReports' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Solver' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverLog' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionSave' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Suggestions' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableGrid' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Timetables' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionChangeNote' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionCommit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoad' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoadEmpty' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignments' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportCsv' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Classes' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassesExportPDF' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumView' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferences' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferences' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPdfReports' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Examinations' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferings' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsExportPDF' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsWorksheetPDF' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Instructors' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorsExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomAvailability' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailAvailability' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailPeriodPreferences' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionIndependentIfNoSessionGiven' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedExaminations' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignments' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportCsv' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceExam' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsFinalExams' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsMidtermExams' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAdd' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignment' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignmentChanges' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationClone' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationConflictStatistics' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDelete' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDetail' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPdfReports' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationReports' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolver' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolverLog' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetable' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetabling' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Examinations' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureAdd' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureDelete' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupAdd' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupDelete' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReports' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsExaminations' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDetail' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Instructors' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorsExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedExaminations' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailPeriodPreferences' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExaminationStatus' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditFeatures' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGlobalFeatures' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGlobalGroups' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGroups' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultFirstExamination' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddNonUnivLocation' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoom' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoomExternalRoom' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddCourseRelated' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationApprove' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationOverbook' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupContact' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingApprove' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReports' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsEvents' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationDelete' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdd' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdmin' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDelete' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDetail' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumEdit' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumMerge' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesDetail' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesEdit' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumView' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferences' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomAvailability' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseRequests' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupSchedule' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalScheduleLookup' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingAdvisor' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseRequests' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConsentApproval' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
</update>
<update version="88" date="06-Sep-2012" comment="Designator required toggle no longer needed">
<plsql>alter table %SCHEMA%.instructional_offering drop constraint nn_instr_offr_designator_reqd</plsql>
<plsql>alter table %SCHEMA%.course_catalog drop constraint nn_crs_catlog_des_req</plsql>
</update>
<update version="89" date="06-Sep-2012" comment="Event Departments">
<plsql>
alter table %SCHEMA%.room add event_dept_id number(20)
</plsql>
<mysql>
alter table %SCHEMA%.room add event_dept_id decimal(20,0)
</mysql>
<plsql>
alter table %SCHEMA%.non_university_location add event_dept_id number(20)
</plsql>
<mysql>
alter table %SCHEMA%.non_university_location add event_dept_id decimal(20,0)
</mysql>
<sql>
alter table %SCHEMA%.room add constraint fk_room_event_dept foreign key (event_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.non_university_location add constraint fk_loc_event_dept foreign key (event_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</sql>
<sql>
update %SCHEMA%.room l
set l.event_dept_id = (
select distinct d.uniqueid
from %SCHEMA%.room_dept rd, %SCHEMA%.department d, %SCHEMA%.timetable_manager m, %SCHEMA%.dept_to_tt_mgr dm, %SCHEMA%.roles r, %SCHEMA%.tmtbl_mgr_to_roles mr
where dm.timetable_mgr_id = m.uniqueid and dm.department_id = d.uniqueid and mr.manager_id = m.uniqueid and
mr.role_id = r.role_id and r.reference = 'Event Mgr' and l.uniqueid = rd.room_id and rd.is_control = 1 and rd.department_id = d.uniqueid
)
</sql>
<sql>
update %SCHEMA%.non_university_location l
set l.event_dept_id = (
select distinct d.uniqueid
from %SCHEMA%.room_dept rd, %SCHEMA%.department d, %SCHEMA%.timetable_manager m, %SCHEMA%.dept_to_tt_mgr dm, %SCHEMA%.roles r, %SCHEMA%.tmtbl_mgr_to_roles mr
where dm.timetable_mgr_id = m.uniqueid and dm.department_id = d.uniqueid and mr.manager_id = m.uniqueid and
mr.role_id = r.role_id and r.reference = 'Event Mgr' and l.uniqueid = rd.room_id and rd.is_control = 1 and rd.department_id = d.uniqueid
)
</sql>
<mysql>alter table %SCHEMA%.department add allow_events int(1) null default 0</mysql>
<plsql>alter table %SCHEMA%.department add allow_events number(1) default 0</plsql>
<sql>
update %SCHEMA%.department d set d.allow_events = 1 where d.uniqueid in (
select dm.department_id
from %SCHEMA%.timetable_manager m, %SCHEMA%.dept_to_tt_mgr dm, %SCHEMA%.roles r, %SCHEMA%.tmtbl_mgr_to_roles mr
where dm.timetable_mgr_id = m.uniqueid and mr.manager_id = m.uniqueid and mr.role_id = r.role_id and r.reference = 'Event Mgr'
)
</sql>
</update>
<update version="90" date="11-Sep-2012" comment="System Administrator">
<sql onFail="next">update %SCHEMA%.roles set abbv='System Administrator' where reference='Administrator'</sql>
<sql onFail="next">update %SCHEMA%.roles set reference='Sysadmin' where reference='Administrator'</sql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<mysql onFail="next">insert into %SCHEMA%.roles (role_id, reference, abbv, manager, enabled) values (%ID%, 'Administrator', 'Session Administrator', 1, 1)</mysql>
<plsql onFail="next">insert into %SCHEMA%.roles (role_id, reference, abbv, manager, enabled) values (%SCHEMA%.ROLE_SEQ.nextval, 'Administrator', 'Administrator', 1, 1)</plsql>
<sql>delete from %SCHEMA%.rights</sql>
<mysql into="R1">select role_id from %SCHEMA%.roles where reference = 'Sysadmin'</mysql>
<mysql into="R2">select role_id from %SCHEMA%.roles where reference = 'Dept Sched Mgr'</mysql>
<mysql into="R3">select role_id from %SCHEMA%.roles where reference = 'View All'</mysql>
<mysql into="R4">select role_id from %SCHEMA%.roles where reference = 'Exam Mgr'</mysql>
<mysql into="R5">select role_id from %SCHEMA%.roles where reference = 'Event Mgr'</mysql>
<mysql into="R6">select role_id from %SCHEMA%.roles where reference = 'Curriculum Mgr'</mysql>
<mysql into="R7">select role_id from %SCHEMA%.roles where reference = 'No Role'</mysql>
<mysql into="R8">select role_id from %SCHEMA%.roles where reference = 'Student'</mysql>
<mysql into="R9">select role_id from %SCHEMA%.roles where reference = 'Instructor'</mysql>
<mysql into="R10">select role_id from %SCHEMA%.roles where reference = 'Advisor'</mysql>
<mysql into="R11">select role_id from %SCHEMA%.roles where reference = 'Administrator'</mysql>
<mysql>insert into %SCHEMA%.rights (role_id, value) values
(%R1%, 'SessionDefaultCurrent'),
(%R1%, 'SessionIndependent'),
(%R1%, 'AllowTestSessions'),
(%R1%, 'DepartmentIndependent'),
(%R1%, 'StatusIndependent'),
(%R1%, 'HasRole'),
(%R1%, 'IsAdmin'),
(%R1%, 'Registration'),
(%R1%, 'InstructionalOfferings'),
(%R1%, 'InstructionalOfferingsExportPDF'),
(%R1%, 'InstructionalOfferingsWorksheetPDF'),
(%R1%, 'Classes'),
(%R1%, 'ClassesExportPDF'),
(%R1%, 'ClassAssignments'),
(%R1%, 'ClassAssignmentsExportPdf'),
(%R1%, 'ClassAssignmentsExportCsv'),
(%R1%, 'InstructionalOfferingDetail'),
(%R1%, 'AddCourseOffering'),
(%R1%, 'EditCourseOffering'),
(%R1%, 'OfferingCanLock'),
(%R1%, 'OfferingCanUnlock'),
(%R1%, 'OfferingMakeNotOffered'),
(%R1%, 'OfferingMakeOffered'),
(%R1%, 'OfferingDelete'),
(%R1%, 'InstructionalOfferingCrossLists'),
(%R1%, 'InstrOfferingConfigAdd'),
(%R1%, 'InstrOfferingConfigEdit'),
(%R1%, 'InstrOfferingConfigEditDepartment'),
(%R1%, 'InstrOfferingConfigEditSubpart'),
(%R1%, 'InstrOfferingConfigDelete'),
(%R1%, 'MultipleClassSetup'),
(%R1%, 'MultipleClassSetupDepartment'),
(%R1%, 'MultipleClassSetupClass'),
(%R1%, 'AssignInstructors'),
(%R1%, 'AssignInstructorsClass'),
(%R1%, 'SchedulingSubpartDetail'),
(%R1%, 'SchedulingSubpartDetailClearClassPreferences'),
(%R1%, 'SchedulingSubpartEdit'),
(%R1%, 'SchedulingSubpartEditClearPreferences'),
(%R1%, 'ClassDetail'),
(%R1%, 'ClassEdit'),
(%R1%, 'ClassEditClearPreferences'),
(%R1%, 'ExtendedDatePatterns'),
(%R1%, 'ExtendedTimePatterns'),
(%R1%, 'CanUseHardTimePrefs'),
(%R1%, 'CanUseHardRoomPrefs'),
(%R1%, 'CanUseHardDistributionPrefs'),
(%R1%, 'CanUseHardPeriodPrefs'),
(%R1%, 'ClassAssignment'),
(%R1%, 'CurriculumView'),
(%R1%, 'CurriculumDetail'),
(%R1%, 'CurriculumAdd'),
(%R1%, 'CurriculumEdit'),
(%R1%, 'CurriculumDelete'),
(%R1%, 'CurriculumMerge'),
(%R1%, 'CurriculumAdmin'),
(%R1%, 'CurriculumProjectionRulesDetail'),
(%R1%, 'CurriculumProjectionRulesEdit'),
(%R1%, 'Instructors'),
(%R1%, 'InstructorsExportPdf'),
(%R1%, 'ManageInstructors'),
(%R1%, 'InstructorDetail'),
(%R1%, 'InstructorAdd'),
(%R1%, 'InstructorEdit'),
(%R1%, 'InstructorEditClearPreferences'),
(%R1%, 'InstructorDelete'),
(%R1%, 'InstructorPreferences'),
(%R1%, 'Rooms'),
(%R1%, 'RoomsExportPdf'),
(%R1%, 'RoomsExportCsv'),
(%R1%, 'RoomDetail'),
(%R1%, 'RoomEdit'),
(%R1%, 'RoomEditChangeControll'),
(%R1%, 'RoomEditChangeExternalId'),
(%R1%, 'RoomEditChangeType'),
(%R1%, 'RoomEditChangeCapacity'),
(%R1%, 'RoomEditChangeExaminationStatus'),
(%R1%, 'RoomEditChangeRoomProperties'),
(%R1%, 'RoomAvailability'),
(%R1%, 'RoomDepartments'),
(%R1%, 'EditRoomDepartments'),
(%R1%, 'EditRoomDepartmentsFinalExams'),
(%R1%, 'EditRoomDepartmentsMidtermExams'),
(%R1%, 'AddRoom'),
(%R1%, 'AddSpecialUseRoom'),
(%R1%, 'AddSpecialUseRoomExternalRoom'),
(%R1%, 'RoomDelete'),
(%R1%, 'RoomDetailAvailability'),
(%R1%, 'RoomDetailPeriodPreferences'),
(%R1%, 'RoomEditAvailability'),
(%R1%, 'RoomEditPreference'),
(%R1%, 'RoomEditGroups'),
(%R1%, 'RoomEditGlobalGroups'),
(%R1%, 'RoomEditFeatures'),
(%R1%, 'RoomEditGlobalFeatures'),
(%R1%, 'AddNonUnivLocation'),
(%R1%, 'NonUniversityLocationEdit'),
(%R1%, 'NonUniversityLocationDelete'),
(%R1%, 'RoomFeatures'),
(%R1%, 'RoomFeaturesExportPdf'),
(%R1%, 'GlobalRoomFeatureAdd'),
(%R1%, 'DepartmentRoomFeatureAdd'),
(%R1%, 'DepartmenalRoomFeatureEdit'),
(%R1%, 'GlobalRoomFeatureEdit'),
(%R1%, 'DepartmenalRoomFeatureDelete'),
(%R1%, 'GlobalRoomFeatureDelete'),
(%R1%, 'RoomGroups'),
(%R1%, 'RoomGroupsExportPdf'),
(%R1%, 'GlobalRoomGroupAdd'),
(%R1%, 'DepartmentRoomGroupAdd'),
(%R1%, 'DepartmenalRoomGroupEdit'),
(%R1%, 'GlobalRoomGroupEdit'),
(%R1%, 'GlobalRoomGroupEditSetDefault'),
(%R1%, 'DepartmenalRoomGroupDelete'),
(%R1%, 'GlobalRoomGroupDelete'),
(%R1%, 'TravelTimesLoad'),
(%R1%, 'TravelTimesSave'),
(%R1%, 'DistributionPreferences'),
(%R1%, 'DistributionPreferenceAdd'),
(%R1%, 'DistributionPreferenceDetail'),
(%R1%, 'DistributionPreferenceEdit'),
(%R1%, 'DistributionPreferenceDelete'),
(%R1%, 'DistributionPreferenceClass'),
(%R1%, 'DistributionPreferenceSubpart'),
(%R1%, 'DistributionPreferenceExam'),
(%R1%, 'Reservations'),
(%R1%, 'ReservationOffering'),
(%R1%, 'ReservationAdd'),
(%R1%, 'ReservationEdit'),
(%R1%, 'ReservationDelete'),
(%R1%, 'CourseTimetabling'),
(%R1%, 'CourseTimetablingAudit'),
(%R1%, 'Timetables'),
(%R1%, 'TimetablesSolutionExportCsv'),
(%R1%, 'TimetablesSolutionChangeNote'),
(%R1%, 'TimetablesSolutionCommit'),
(%R1%, 'TimetablesSolutionLoad'),
(%R1%, 'TimetablesSolutionLoadEmpty'),
(%R1%, 'TimetablesSolutionDelete'),
(%R1%, 'Solver'),
(%R1%, 'SolverSolutionSave'),
(%R1%, 'SolverSolutionExportCsv'),
(%R1%, 'SolverSolutionExportXml'),
(%R1%, 'CanSelectSolverServer'),
(%R1%, 'Suggestions'),
(%R1%, 'TimetableGrid'),
(%R1%, 'AssignedClasses'),
(%R1%, 'NotAssignedClasses'),
(%R1%, 'SolutionChanges'),
(%R1%, 'AssignmentHistory'),
(%R1%, 'ConflictStatistics'),
(%R1%, 'SolverLog'),
(%R1%, 'SolutionReports'),
(%R1%, 'Examinations'),
(%R1%, 'ExaminationDetail'),
(%R1%, 'ExaminationEdit'),
(%R1%, 'ExaminationEditClearPreferences'),
(%R1%, 'ExaminationDelete'),
(%R1%, 'ExaminationClone'),
(%R1%, 'ExaminationAdd'),
(%R1%, 'ExaminationAssignment'),
(%R1%, 'ExaminationDistributionPreferences'),
(%R1%, 'ExaminationDistributionPreferenceAdd'),
(%R1%, 'ExaminationDistributionPreferenceDetail'),
(%R1%, 'ExaminationDistributionPreferenceEdit'),
(%R1%, 'ExaminationDistributionPreferenceDelete'),
(%R1%, 'ExaminationSchedule'),
(%R1%, 'ExaminationTimetabling'),
(%R1%, 'ExaminationSolver'),
(%R1%, 'ExaminationTimetable'),
(%R1%, 'AssignedExaminations'),
(%R1%, 'NotAssignedExaminations'),
(%R1%, 'ExaminationAssignmentChanges'),
(%R1%, 'ExaminationConflictStatistics'),
(%R1%, 'ExaminationSolverLog'),
(%R1%, 'ExaminationReports'),
(%R1%, 'ExaminationPdfReports'),
(%R1%, 'StudentScheduling'),
(%R1%, 'EnrollmentAuditPDFReports'),
(%R1%, 'StudentSectioningSolver'),
(%R1%, 'StudentSectioningSolverLog'),
(%R1%, 'StudentSectioningSolverDashboard'),
(%R1%, 'CourseRequests'),
(%R1%, 'SchedulingAssistant'),
(%R1%, 'SchedulingDashboard'),
(%R1%, 'ConsentApproval'),
(%R1%, 'StudentSchedulingAdvisor'),
(%R1%, 'StudentSchedulingAdmin'),
(%R1%, 'OfferingEnrollments'),
(%R1%, 'StudentEnrollments'),
(%R1%, 'Events'),
(%R1%, 'EventAddSpecial'),
(%R1%, 'EventAddCourseRelated'),
(%R1%, 'EventLookupContact'),
(%R1%, 'EventLookupSchedule'),
(%R1%, 'EventDetail'),
(%R1%, 'EventEdit'),
(%R1%, 'EventDate'),
(%R1%, 'EventLocation'),
(%R1%, 'EventLocationApprove'),
(%R1%, 'EventLocationOverbook'),
(%R1%, 'EventMeetingEdit'),
(%R1%, 'EventMeetingApprove'),
(%R1%, 'EventApprovePast'),
(%R1%, 'EventAnyLocation'),
(%R1%, 'AcademicSessions'),
(%R1%, 'AcademicSessionAdd'),
(%R1%, 'AcademicSessionEdit'),
(%R1%, 'AcademicSessionDelete'),
(%R1%, 'TimetableManagers'),
(%R1%, 'TimetableManagerAdd'),
(%R1%, 'TimetableManagerEdit'),
(%R1%, 'TimetableManagerDelete'),
(%R1%, 'Departments'),
(%R1%, 'DepartmentAdd'),
(%R1%, 'DepartmentEdit'),
(%R1%, 'DepartmentEditChangeExternalManager'),
(%R1%, 'DepartmentDelete'),
(%R1%, 'SolverGroups'),
(%R1%, 'SubjectAreas'),
(%R1%, 'SubjectAreaAdd'),
(%R1%, 'SubjectAreaEdit'),
(%R1%, 'SubjectAreaDelete'),
(%R1%, 'SubjectAreaChangeDepartment'),
(%R1%, 'BuildingList'),
(%R1%, 'BuildingAdd'),
(%R1%, 'BuildingEdit'),
(%R1%, 'BuildingDelete'),
(%R1%, 'BuildingUpdateData'),
(%R1%, 'BuildingExportPdf'),
(%R1%, 'DatePatterns'),
(%R1%, 'TimePatterns'),
(%R1%, 'ExactTimes'),
(%R1%, 'AcademicAreas'),
(%R1%, 'AcademicAreaEdit'),
(%R1%, 'AcademicClassifications'),
(%R1%, 'AcademicClassificationEdit'),
(%R1%, 'Majors'),
(%R1%, 'MajorEdit'),
(%R1%, 'Minors'),
(%R1%, 'MinorEdit'),
(%R1%, 'StudentGroups'),
(%R1%, 'StudentGroupEdit'),
(%R1%, 'ExaminationPeriods'),
(%R1%, 'DataExchange'),
(%R1%, 'SessionRollForward'),
(%R1%, 'LastChanges'),
(%R1%, 'ManageSolvers'),
(%R1%, 'SolverParameterGroups'),
(%R1%, 'SolverParameters'),
(%R1%, 'SolverConfigurations'),
(%R1%, 'DistributionTypes'),
(%R1%, 'DistributionTypeEdit'),
(%R1%, 'InstructionalTypes'),
(%R1%, 'InstructionalTypeAdd'),
(%R1%, 'InstructionalTypeEdit'),
(%R1%, 'InstructionalTypeDelete'),
(%R1%, 'StatusTypes'),
(%R1%, 'RoomTypes'),
(%R1%, 'SponsoringOrganizations'),
(%R1%, 'SponsoringOrganizationAdd'),
(%R1%, 'SponsoringOrganizationEdit'),
(%R1%, 'SponsoringOrganizationDelete'),
(%R1%, 'StandardEventNotes'),
(%R1%, 'Users'),
(%R1%, 'OfferingConsentTypes'),
(%R1%, 'OfferingConsentTypeEdit'),
(%R1%, 'CourseCreditFormats'),
(%R1%, 'CourseCreditFormatEdit'),
(%R1%, 'CourseCreditTypes'),
(%R1%, 'CourseCreditTypeEdit'),
(%R1%, 'CourseCreditUnits'),
(%R1%, 'CourseCreditUnitEdit'),
(%R1%, 'PositionTypes'),
(%R1%, 'PositionTypeEdit'),
(%R1%, 'StudentSchedulingStatusTypes'),
(%R1%, 'StudentSchedulingStatusTypeEdit'),
(%R1%, 'Roles'),
(%R1%, 'RoleEdit'),
(%R1%, 'Permissions'),
(%R1%, 'PermissionEdit'),
(%R1%, 'ApplicationConfig'),
(%R1%, 'SettingsAdmin'),
(%R1%, 'PageStatistics'),
(%R1%, 'HibernateStatistics'),
(%R1%, 'TestHQL'),
(%R1%, 'Chameleon'),
(%R1%, 'SettingsUser'),
(%R1%, 'Inquiry'),
(%R1%, 'PersonalSchedule'),
(%R1%, 'PersonalScheduleLookup'),
(%R1%, 'HQLReports'),
(%R1%, 'HQLReportAdd'),
(%R1%, 'HQLReportEdit'),
(%R1%, 'HQLReportDelete'),
(%R1%, 'HQLReportsCourses'),
(%R1%, 'HQLReportsExaminations'),
(%R1%, 'HQLReportsStudents'),
(%R1%, 'HQLReportsEvents'),
(%R1%, 'HQLReportsAdministration'),
(%R1%, 'HQLReportsAdminOnly'),
(%R2%, 'SessionDefaultFirstFuture'),
(%R2%, 'HasRole'),
(%R2%, 'InstructionalOfferings'),
(%R2%, 'InstructionalOfferingsExportPDF'),
(%R2%, 'InstructionalOfferingsWorksheetPDF'),
(%R2%, 'Classes'),
(%R2%, 'ClassesExportPDF'),
(%R2%, 'ClassAssignments'),
(%R2%, 'ClassAssignmentsExportPdf'),
(%R2%, 'ClassAssignmentsExportCsv'),
(%R2%, 'InstructionalOfferingDetail'),
(%R2%, 'AddCourseOffering'),
(%R2%, 'EditCourseOffering'),
(%R2%, 'OfferingCanLock'),
(%R2%, 'OfferingCanUnlock'),
(%R2%, 'OfferingMakeNotOffered'),
(%R2%, 'OfferingMakeOffered'),
(%R2%, 'InstructionalOfferingCrossLists'),
(%R2%, 'InstrOfferingConfigAdd'),
(%R2%, 'InstrOfferingConfigEdit'),
(%R2%, 'InstrOfferingConfigEditDepartment'),
(%R2%, 'InstrOfferingConfigEditSubpart'),
(%R2%, 'InstrOfferingConfigDelete'),
(%R2%, 'MultipleClassSetup'),
(%R2%, 'MultipleClassSetupDepartment'),
(%R2%, 'MultipleClassSetupClass'),
(%R2%, 'AssignInstructors'),
(%R2%, 'AssignInstructorsClass'),
(%R2%, 'SchedulingSubpartDetail'),
(%R2%, 'SchedulingSubpartDetailClearClassPreferences'),
(%R2%, 'SchedulingSubpartEdit'),
(%R2%, 'SchedulingSubpartEditClearPreferences'),
(%R2%, 'ClassDetail'),
(%R2%, 'ClassEdit'),
(%R2%, 'ClassEditClearPreferences'),
(%R2%, 'CanUseHardTimePrefs'),
(%R2%, 'CanUseHardRoomPrefs'),
(%R2%, 'CanUseHardDistributionPrefs'),
(%R2%, 'CanUseHardPeriodPrefs'),
(%R2%, 'CurriculumView'),
(%R2%, 'CurriculumDetail'),
(%R2%, 'CurriculumAdd'),
(%R2%, 'CurriculumEdit'),
(%R2%, 'CurriculumDelete'),
(%R2%, 'CurriculumProjectionRulesDetail'),
(%R2%, 'Instructors'),
(%R2%, 'InstructorsExportPdf'),
(%R2%, 'ManageInstructors'),
(%R2%, 'InstructorDetail'),
(%R2%, 'InstructorAdd'),
(%R2%, 'InstructorEdit'),
(%R2%, 'InstructorEditClearPreferences'),
(%R2%, 'InstructorDelete'),
(%R2%, 'InstructorPreferences'),
(%R2%, 'Rooms'),
(%R2%, 'RoomsExportPdf'),
(%R2%, 'RoomsExportCsv'),
(%R2%, 'RoomDetail'),
(%R2%, 'RoomEditChangeExternalId'),
(%R2%, 'RoomEditChangeType'),
(%R2%, 'RoomEditChangeCapacity'),
(%R2%, 'RoomEditChangeRoomProperties'),
(%R2%, 'RoomAvailability'),
(%R2%, 'RoomDepartments'),
(%R2%, 'EditRoomDepartments'),
(%R2%, 'AddSpecialUseRoom'),
(%R2%, 'AddSpecialUseRoomExternalRoom'),
(%R2%, 'RoomDetailAvailability'),
(%R2%, 'RoomEditAvailability'),
(%R2%, 'RoomEditPreference'),
(%R2%, 'RoomEditGroups'),
(%R2%, 'RoomEditFeatures'),
(%R2%, 'AddNonUnivLocation'),
(%R2%, 'NonUniversityLocationEdit'),
(%R2%, 'NonUniversityLocationDelete'),
(%R2%, 'RoomFeatures'),
(%R2%, 'RoomFeaturesExportPdf'),
(%R2%, 'DepartmentRoomFeatureAdd'),
(%R2%, 'DepartmenalRoomFeatureEdit'),
(%R2%, 'DepartmenalRoomFeatureDelete'),
(%R2%, 'RoomGroups'),
(%R2%, 'RoomGroupsExportPdf'),
(%R2%, 'DepartmentRoomGroupAdd'),
(%R2%, 'DepartmenalRoomGroupEdit'),
(%R2%, 'DepartmenalRoomGroupDelete'),
(%R2%, 'DistributionPreferences'),
(%R2%, 'DistributionPreferenceAdd'),
(%R2%, 'DistributionPreferenceDetail'),
(%R2%, 'DistributionPreferenceEdit'),
(%R2%, 'DistributionPreferenceDelete'),
(%R2%, 'DistributionPreferenceClass'),
(%R2%, 'DistributionPreferenceSubpart'),
(%R2%, 'DistributionPreferenceExam'),
(%R2%, 'Reservations'),
(%R2%, 'ReservationOffering'),
(%R2%, 'ReservationAdd'),
(%R2%, 'ReservationEdit'),
(%R2%, 'ReservationDelete'),
(%R2%, 'CourseTimetabling'),
(%R2%, 'CourseTimetablingAudit'),
(%R2%, 'Timetables'),
(%R2%, 'TimetablesSolutionExportCsv'),
(%R2%, 'TimetablesSolutionChangeNote'),
(%R2%, 'TimetablesSolutionCommit'),
(%R2%, 'TimetablesSolutionLoad'),
(%R2%, 'TimetablesSolutionLoadEmpty'),
(%R2%, 'TimetablesSolutionDelete'),
(%R2%, 'Solver'),
(%R2%, 'SolverSolutionSave'),
(%R2%, 'SolverSolutionExportCsv'),
(%R2%, 'Suggestions'),
(%R2%, 'TimetableGrid'),
(%R2%, 'AssignedClasses'),
(%R2%, 'NotAssignedClasses'),
(%R2%, 'SolutionChanges'),
(%R2%, 'AssignmentHistory'),
(%R2%, 'ConflictStatistics'),
(%R2%, 'SolverLog'),
(%R2%, 'SolutionReports'),
(%R2%, 'Examinations'),
(%R2%, 'ExaminationDetail'),
(%R2%, 'ExaminationEdit'),
(%R2%, 'ExaminationEditClearPreferences'),
(%R2%, 'ExaminationDelete'),
(%R2%, 'ExaminationClone'),
(%R2%, 'ExaminationAdd'),
(%R2%, 'ExaminationDistributionPreferences'),
(%R2%, 'ExaminationDistributionPreferenceAdd'),
(%R2%, 'ExaminationDistributionPreferenceDetail'),
(%R2%, 'ExaminationDistributionPreferenceEdit'),
(%R2%, 'ExaminationDistributionPreferenceDelete'),
(%R2%, 'ExaminationSchedule'),
(%R2%, 'ExaminationPdfReports'),
(%R2%, 'SchedulingAssistant'),
(%R2%, 'SchedulingDashboard'),
(%R2%, 'ConsentApproval'),
(%R2%, 'OfferingEnrollments'),
(%R2%, 'StudentEnrollments'),
(%R2%, 'Events'),
(%R2%, 'EventAddSpecial'),
(%R2%, 'EventAddCourseRelated'),
(%R2%, 'EventLookupSchedule'),
(%R2%, 'EventDetail'),
(%R2%, 'EventEdit'),
(%R2%, 'EventDate'),
(%R2%, 'EventLocation'),
(%R2%, 'EventMeetingEdit'),
(%R2%, 'SettingsUser'),
(%R2%, 'Inquiry'),
(%R2%, 'PersonalSchedule'),
(%R2%, 'PersonalScheduleLookup'),
(%R2%, 'HQLReports'),
(%R2%, 'HQLReportsCourses'),
(%R3%, 'SessionDefaultCurrent'),
(%R3%, 'SessionIndependentIfNoSessionGiven'),
(%R3%, 'DepartmentIndependent'),
(%R3%, 'HasRole'),
(%R3%, 'InstructionalOfferings'),
(%R3%, 'InstructionalOfferingsExportPDF'),
(%R3%, 'InstructionalOfferingsWorksheetPDF'),
(%R3%, 'Classes'),
(%R3%, 'ClassesExportPDF'),
(%R3%, 'ClassAssignments'),
(%R3%, 'ClassAssignmentsExportPdf'),
(%R3%, 'ClassAssignmentsExportCsv'),
(%R3%, 'InstructionalOfferingDetail'),
(%R3%, 'SchedulingSubpartDetail'),
(%R3%, 'ClassDetail'),
(%R3%, 'CanUseHardTimePrefs'),
(%R3%, 'CanUseHardRoomPrefs'),
(%R3%, 'CanUseHardDistributionPrefs'),
(%R3%, 'CanUseHardPeriodPrefs'),
(%R3%, 'CurriculumView'),
(%R3%, 'CurriculumDetail'),
(%R3%, 'CurriculumProjectionRulesDetail'),
(%R3%, 'Instructors'),
(%R3%, 'InstructorsExportPdf'),
(%R3%, 'InstructorDetail'),
(%R3%, 'Rooms'),
(%R3%, 'RoomsExportPdf'),
(%R3%, 'RoomsExportCsv'),
(%R3%, 'RoomDetail'),
(%R3%, 'RoomAvailability'),
(%R3%, 'RoomDetailAvailability'),
(%R3%, 'RoomDetailPeriodPreferences'),
(%R3%, 'RoomFeatures'),
(%R3%, 'RoomFeaturesExportPdf'),
(%R3%, 'RoomGroups'),
(%R3%, 'RoomGroupsExportPdf'),
(%R3%, 'DistributionPreferences'),
(%R3%, 'DistributionPreferenceDetail'),
(%R3%, 'Examinations'),
(%R3%, 'ExaminationDetail'),
(%R3%, 'ExaminationDistributionPreferences'),
(%R3%, 'ExaminationDistributionPreferenceDetail'),
(%R3%, 'ExaminationSchedule'),
(%R3%, 'ExaminationPdfReports'),
(%R3%, 'SchedulingAssistant'),
(%R3%, 'SchedulingDashboard'),
(%R3%, 'OfferingEnrollments'),
(%R3%, 'StudentEnrollments'),
(%R3%, 'Events'),
(%R3%, 'EventAddSpecial'),
(%R3%, 'EventDetail'),
(%R3%, 'EventEdit'),
(%R3%, 'EventDate'),
(%R3%, 'EventLocation'),
(%R3%, 'EventMeetingEdit'),
(%R3%, 'SettingsUser'),
(%R3%, 'Inquiry'),
(%R4%, 'SessionDefaultFirstExamination'),
(%R4%, 'DepartmentIndependent'),
(%R4%, 'HasRole'),
(%R4%, 'ClassAssignments'),
(%R4%, 'ClassAssignmentsExportPdf'),
(%R4%, 'ClassAssignmentsExportCsv'),
(%R4%, 'CanUseHardTimePrefs'),
(%R4%, 'CanUseHardRoomPrefs'),
(%R4%, 'CanUseHardDistributionPrefs'),
(%R4%, 'CanUseHardPeriodPrefs'),
(%R4%, 'Instructors'),
(%R4%, 'InstructorsExportPdf'),
(%R4%, 'InstructorDetail'),
(%R4%, 'Rooms'),
(%R4%, 'RoomsExportPdf'),
(%R4%, 'RoomsExportCsv'),
(%R4%, 'RoomDetail'),
(%R4%, 'RoomEdit'),
(%R4%, 'RoomEditChangeExaminationStatus'),
(%R4%, 'EditRoomDepartmentsFinalExams'),
(%R4%, 'EditRoomDepartmentsMidtermExams'),
(%R4%, 'RoomDetailPeriodPreferences'),
(%R4%, 'RoomFeatures'),
(%R4%, 'RoomFeaturesExportPdf'),
(%R4%, 'RoomGroups'),
(%R4%, 'RoomGroupsExportPdf'),
(%R4%, 'DistributionPreferenceExam'),
(%R4%, 'Examinations'),
(%R4%, 'ExaminationDetail'),
(%R4%, 'ExaminationEdit'),
(%R4%, 'ExaminationEditClearPreferences'),
(%R4%, 'ExaminationDelete'),
(%R4%, 'ExaminationClone'),
(%R4%, 'ExaminationAdd'),
(%R4%, 'ExaminationAssignment'),
(%R4%, 'ExaminationDistributionPreferences'),
(%R4%, 'ExaminationDistributionPreferenceAdd'),
(%R4%, 'ExaminationDistributionPreferenceDetail'),
(%R4%, 'ExaminationDistributionPreferenceEdit'),
(%R4%, 'ExaminationDistributionPreferenceDelete'),
(%R4%, 'ExaminationSchedule'),
(%R4%, 'ExaminationTimetabling'),
(%R4%, 'ExaminationSolver'),
(%R4%, 'ExaminationTimetable'),
(%R4%, 'AssignedExaminations'),
(%R4%, 'NotAssignedExaminations'),
(%R4%, 'ExaminationAssignmentChanges'),
(%R4%, 'ExaminationConflictStatistics'),
(%R4%, 'ExaminationSolverLog'),
(%R4%, 'ExaminationReports'),
(%R4%, 'ExaminationPdfReports'),
(%R4%, 'Events'),
(%R4%, 'EventAddSpecial'),
(%R4%, 'EventDetail'),
(%R4%, 'EventEdit'),
(%R4%, 'EventDate'),
(%R4%, 'EventLocation'),
(%R4%, 'EventMeetingEdit'),
(%R4%, 'SettingsUser'),
(%R4%, 'Inquiry'),
(%R4%, 'HQLReports'),
(%R4%, 'HQLReportsExaminations'),
(%R5%, 'SessionDefaultCurrent'),
(%R5%, 'HasRole'),
(%R5%, 'CanUseHardTimePrefs'),
(%R5%, 'CanUseHardRoomPrefs'),
(%R5%, 'CanUseHardDistributionPrefs'),
(%R5%, 'CanUseHardPeriodPrefs'),
(%R5%, 'Rooms'),
(%R5%, 'RoomsExportPdf'),
(%R5%, 'RoomsExportCsv'),
(%R5%, 'RoomDetail'),
(%R5%, 'RoomEditChangeExternalId'),
(%R5%, 'RoomEditChangeType'),
(%R5%, 'RoomEditChangeCapacity'),
(%R5%, 'RoomEditChangeRoomProperties'),
(%R5%, 'AddSpecialUseRoom'),
(%R5%, 'AddSpecialUseRoomExternalRoom'),
(%R5%, 'AddNonUnivLocation'),
(%R5%, 'NonUniversityLocationEdit'),
(%R5%, 'NonUniversityLocationDelete'),
(%R5%, 'RoomFeatures'),
(%R5%, 'RoomFeaturesExportPdf'),
(%R5%, 'RoomGroups'),
(%R5%, 'RoomGroupsExportPdf'),
(%R5%, 'ExaminationSchedule'),
(%R5%, 'Events'),
(%R5%, 'EventAddSpecial'),
(%R5%, 'EventAddCourseRelated'),
(%R5%, 'EventLookupContact'),
(%R5%, 'EventDetail'),
(%R5%, 'EventEdit'),
(%R5%, 'EventDate'),
(%R5%, 'EventLocation'),
(%R5%, 'EventLocationApprove'),
(%R5%, 'EventLocationOverbook'),
(%R5%, 'EventMeetingEdit'),
(%R5%, 'EventMeetingApprove'),
(%R5%, 'SettingsUser'),
(%R5%, 'Inquiry'),
(%R5%, 'HQLReports'),
(%R5%, 'HQLReportsEvents'),
(%R6%, 'SessionDefaultCurrent'),
(%R6%, 'DepartmentIndependent'),
(%R6%, 'HasRole'),
(%R6%, 'CanUseHardTimePrefs'),
(%R6%, 'CanUseHardRoomPrefs'),
(%R6%, 'CanUseHardDistributionPrefs'),
(%R6%, 'CanUseHardPeriodPrefs'),
(%R6%, 'CurriculumView'),
(%R6%, 'CurriculumDetail'),
(%R6%, 'CurriculumAdd'),
(%R6%, 'CurriculumEdit'),
(%R6%, 'CurriculumDelete'),
(%R6%, 'CurriculumMerge'),
(%R6%, 'CurriculumAdmin'),
(%R6%, 'CurriculumProjectionRulesDetail'),
(%R6%, 'CurriculumProjectionRulesEdit'),
(%R6%, 'RoomAvailability'),
(%R6%, 'ExaminationSchedule'),
(%R6%, 'Events'),
(%R6%, 'EventAddSpecial'),
(%R6%, 'EventDetail'),
(%R6%, 'EventEdit'),
(%R6%, 'EventDate'),
(%R6%, 'EventLocation'),
(%R6%, 'EventMeetingEdit'),
(%R6%, 'SettingsUser'),
(%R6%, 'Inquiry'),
(%R7%, 'SchedulingAssistant'),
(%R7%, 'Events'),
(%R7%, 'EventAddSpecial'),
(%R7%, 'EventDetail'),
(%R7%, 'EventEdit'),
(%R7%, 'EventDate'),
(%R7%, 'EventLocation'),
(%R7%, 'EventMeetingEdit'),
(%R7%, 'Inquiry'),
(%R8%, 'SessionDefaultCurrent'),
(%R8%, 'CourseRequests'),
(%R8%, 'SchedulingAssistant'),
(%R8%, 'StudentEnrollments'),
(%R8%, 'Events'),
(%R8%, 'EventAddSpecial'),
(%R8%, 'EventDetail'),
(%R8%, 'EventEdit'),
(%R8%, 'EventDate'),
(%R8%, 'EventLocation'),
(%R8%, 'EventMeetingEdit'),
(%R8%, 'Inquiry'),
(%R8%, 'PersonalSchedule'),
(%R9%, 'SessionDefaultCurrent'),
(%R9%, 'SchedulingAssistant'),
(%R9%, 'SchedulingDashboard'),
(%R9%, 'ConsentApproval'),
(%R9%, 'OfferingEnrollments'),
(%R9%, 'Events'),
(%R9%, 'EventAddSpecial'),
(%R9%, 'EventDetail'),
(%R9%, 'EventEdit'),
(%R9%, 'EventDate'),
(%R9%, 'EventLocation'),
(%R9%, 'EventMeetingEdit'),
(%R9%, 'Inquiry'),
(%R9%, 'PersonalSchedule'),
(%R10%, 'SessionDefaultCurrent'),
(%R10%, 'DepartmentIndependent'),
(%R10%, 'HasRole'),
(%R10%, 'CanUseHardTimePrefs'),
(%R10%, 'CanUseHardRoomPrefs'),
(%R10%, 'CanUseHardDistributionPrefs'),
(%R10%, 'CanUseHardPeriodPrefs'),
(%R10%, 'ExaminationSchedule'),
(%R10%, 'CourseRequests'),
(%R10%, 'SchedulingAssistant'),
(%R10%, 'SchedulingDashboard'),
(%R10%, 'StudentSchedulingAdvisor'),
(%R10%, 'OfferingEnrollments'),
(%R10%, 'StudentEnrollments'),
(%R10%, 'Events'),
(%R10%, 'EventAddSpecial'),
(%R10%, 'EventLookupSchedule'),
(%R10%, 'EventDetail'),
(%R10%, 'EventEdit'),
(%R10%, 'EventDate'),
(%R10%, 'EventLocation'),
(%R10%, 'EventMeetingEdit'),
(%R10%, 'SettingsUser'),
(%R10%, 'Inquiry'),
(%R10%, 'PersonalSchedule'),
(%R10%, 'PersonalScheduleLookup'),
(%R11%, 'SessionDefaultCurrent'),
(%R11%, 'DepartmentIndependent'),
(%R11%, 'StatusIndependent'),
(%R11%, 'HasRole'),
(%R11%, 'IsAdmin'),
(%R11%, 'InstructionalOfferings'),
(%R11%, 'InstructionalOfferingsExportPDF'),
(%R11%, 'InstructionalOfferingsWorksheetPDF'),
(%R11%, 'Classes'),
(%R11%, 'ClassesExportPDF'),
(%R11%, 'ClassAssignments'),
(%R11%, 'ClassAssignmentsExportPdf'),
(%R11%, 'ClassAssignmentsExportCsv'),
(%R11%, 'InstructionalOfferingDetail'),
(%R11%, 'AddCourseOffering'),
(%R11%, 'EditCourseOffering'),
(%R11%, 'OfferingCanLock'),
(%R11%, 'OfferingCanUnlock'),
(%R11%, 'OfferingMakeNotOffered'),
(%R11%, 'OfferingMakeOffered'),
(%R11%, 'OfferingDelete'),
(%R11%, 'InstructionalOfferingCrossLists'),
(%R11%, 'InstrOfferingConfigAdd'),
(%R11%, 'InstrOfferingConfigEdit'),
(%R11%, 'InstrOfferingConfigEditDepartment'),
(%R11%, 'InstrOfferingConfigEditSubpart'),
(%R11%, 'InstrOfferingConfigDelete'),
(%R11%, 'MultipleClassSetup'),
(%R11%, 'MultipleClassSetupDepartment'),
(%R11%, 'MultipleClassSetupClass'),
(%R11%, 'AssignInstructors'),
(%R11%, 'AssignInstructorsClass'),
(%R11%, 'SchedulingSubpartDetail'),
(%R11%, 'SchedulingSubpartDetailClearClassPreferences'),
(%R11%, 'SchedulingSubpartEdit'),
(%R11%, 'SchedulingSubpartEditClearPreferences'),
(%R11%, 'ClassDetail'),
(%R11%, 'ClassEdit'),
(%R11%, 'ClassEditClearPreferences'),
(%R11%, 'ExtendedDatePatterns'),
(%R11%, 'ExtendedTimePatterns'),
(%R11%, 'CanUseHardTimePrefs'),
(%R11%, 'CanUseHardRoomPrefs'),
(%R11%, 'CanUseHardDistributionPrefs'),
(%R11%, 'CanUseHardPeriodPrefs'),
(%R11%, 'ClassAssignment'),
(%R11%, 'CurriculumView'),
(%R11%, 'CurriculumDetail'),
(%R11%, 'CurriculumAdd'),
(%R11%, 'CurriculumEdit'),
(%R11%, 'CurriculumDelete'),
(%R11%, 'CurriculumMerge'),
(%R11%, 'CurriculumAdmin'),
(%R11%, 'CurriculumProjectionRulesDetail'),
(%R11%, 'CurriculumProjectionRulesEdit'),
(%R11%, 'Instructors'),
(%R11%, 'InstructorsExportPdf'),
(%R11%, 'ManageInstructors'),
(%R11%, 'InstructorDetail'),
(%R11%, 'InstructorAdd'),
(%R11%, 'InstructorEdit'),
(%R11%, 'InstructorEditClearPreferences'),
(%R11%, 'InstructorDelete'),
(%R11%, 'InstructorPreferences'),
(%R11%, 'Rooms'),
(%R11%, 'RoomsExportPdf'),
(%R11%, 'RoomsExportCsv'),
(%R11%, 'RoomDetail'),
(%R11%, 'RoomEdit'),
(%R11%, 'RoomEditChangeControll'),
(%R11%, 'RoomEditChangeExternalId'),
(%R11%, 'RoomEditChangeType'),
(%R11%, 'RoomEditChangeCapacity'),
(%R11%, 'RoomEditChangeExaminationStatus'),
(%R11%, 'RoomEditChangeRoomProperties'),
(%R11%, 'RoomAvailability'),
(%R11%, 'RoomDepartments'),
(%R11%, 'EditRoomDepartments'),
(%R11%, 'EditRoomDepartmentsFinalExams'),
(%R11%, 'EditRoomDepartmentsMidtermExams'),
(%R11%, 'AddRoom'),
(%R11%, 'AddSpecialUseRoom'),
(%R11%, 'AddSpecialUseRoomExternalRoom'),
(%R11%, 'RoomDelete'),
(%R11%, 'RoomDetailAvailability'),
(%R11%, 'RoomDetailPeriodPreferences'),
(%R11%, 'RoomEditAvailability'),
(%R11%, 'RoomEditPreference'),
(%R11%, 'RoomEditGroups'),
(%R11%, 'RoomEditGlobalGroups'),
(%R11%, 'RoomEditFeatures'),
(%R11%, 'RoomEditGlobalFeatures'),
(%R11%, 'AddNonUnivLocation'),
(%R11%, 'NonUniversityLocationEdit'),
(%R11%, 'NonUniversityLocationDelete'),
(%R11%, 'RoomFeatures'),
(%R11%, 'RoomFeaturesExportPdf'),
(%R11%, 'GlobalRoomFeatureAdd'),
(%R11%, 'DepartmentRoomFeatureAdd'),
(%R11%, 'DepartmenalRoomFeatureEdit'),
(%R11%, 'GlobalRoomFeatureEdit'),
(%R11%, 'DepartmenalRoomFeatureDelete'),
(%R11%, 'GlobalRoomFeatureDelete'),
(%R11%, 'RoomGroups'),
(%R11%, 'RoomGroupsExportPdf'),
(%R11%, 'GlobalRoomGroupAdd'),
(%R11%, 'DepartmentRoomGroupAdd'),
(%R11%, 'DepartmenalRoomGroupEdit'),
(%R11%, 'GlobalRoomGroupEdit'),
(%R11%, 'GlobalRoomGroupEditSetDefault'),
(%R11%, 'DepartmenalRoomGroupDelete'),
(%R11%, 'GlobalRoomGroupDelete'),
(%R11%, 'TravelTimesLoad'),
(%R11%, 'TravelTimesSave'),
(%R11%, 'DistributionPreferences'),
(%R11%, 'DistributionPreferenceAdd'),
(%R11%, 'DistributionPreferenceDetail'),
(%R11%, 'DistributionPreferenceEdit'),
(%R11%, 'DistributionPreferenceDelete'),
(%R11%, 'DistributionPreferenceClass'),
(%R11%, 'DistributionPreferenceSubpart'),
(%R11%, 'DistributionPreferenceExam'),
(%R11%, 'Reservations'),
(%R11%, 'ReservationOffering'),
(%R11%, 'ReservationAdd'),
(%R11%, 'ReservationEdit'),
(%R11%, 'ReservationDelete'),
(%R11%, 'CourseTimetabling'),
(%R11%, 'CourseTimetablingAudit'),
(%R11%, 'Timetables'),
(%R11%, 'TimetablesSolutionExportCsv'),
(%R11%, 'TimetablesSolutionChangeNote'),
(%R11%, 'TimetablesSolutionCommit'),
(%R11%, 'TimetablesSolutionLoad'),
(%R11%, 'TimetablesSolutionLoadEmpty'),
(%R11%, 'TimetablesSolutionDelete'),
(%R11%, 'Solver'),
(%R11%, 'SolverSolutionSave'),
(%R11%, 'SolverSolutionExportCsv'),
(%R11%, 'SolverSolutionExportXml'),
(%R11%, 'CanSelectSolverServer'),
(%R11%, 'Suggestions'),
(%R11%, 'TimetableGrid'),
(%R11%, 'AssignedClasses'),
(%R11%, 'NotAssignedClasses'),
(%R11%, 'SolutionChanges'),
(%R11%, 'AssignmentHistory'),
(%R11%, 'ConflictStatistics'),
(%R11%, 'SolverLog'),
(%R11%, 'SolutionReports'),
(%R11%, 'Examinations'),
(%R11%, 'ExaminationDetail'),
(%R11%, 'ExaminationEdit'),
(%R11%, 'ExaminationEditClearPreferences'),
(%R11%, 'ExaminationDelete'),
(%R11%, 'ExaminationClone'),
(%R11%, 'ExaminationAdd'),
(%R11%, 'ExaminationAssignment'),
(%R11%, 'ExaminationDistributionPreferences'),
(%R11%, 'ExaminationDistributionPreferenceAdd'),
(%R11%, 'ExaminationDistributionPreferenceDetail'),
(%R11%, 'ExaminationDistributionPreferenceEdit'),
(%R11%, 'ExaminationDistributionPreferenceDelete'),
(%R11%, 'ExaminationSchedule'),
(%R11%, 'ExaminationTimetabling'),
(%R11%, 'ExaminationSolver'),
(%R11%, 'ExaminationTimetable'),
(%R11%, 'AssignedExaminations'),
(%R11%, 'NotAssignedExaminations'),
(%R11%, 'ExaminationAssignmentChanges'),
(%R11%, 'ExaminationConflictStatistics'),
(%R11%, 'ExaminationSolverLog'),
(%R11%, 'ExaminationReports'),
(%R11%, 'ExaminationPdfReports'),
(%R11%, 'StudentScheduling'),
(%R11%, 'EnrollmentAuditPDFReports'),
(%R11%, 'StudentSectioningSolver'),
(%R11%, 'StudentSectioningSolverLog'),
(%R11%, 'StudentSectioningSolverDashboard'),
(%R11%, 'CourseRequests'),
(%R11%, 'SchedulingAssistant'),
(%R11%, 'SchedulingDashboard'),
(%R11%, 'ConsentApproval'),
(%R11%, 'StudentSchedulingAdvisor'),
(%R11%, 'StudentSchedulingAdmin'),
(%R11%, 'OfferingEnrollments'),
(%R11%, 'StudentEnrollments'),
(%R11%, 'Events'),
(%R11%, 'EventAddSpecial'),
(%R11%, 'EventAddCourseRelated'),
(%R11%, 'EventLookupContact'),
(%R11%, 'EventLookupSchedule'),
(%R11%, 'EventDetail'),
(%R11%, 'EventEdit'),
(%R11%, 'EventDate'),
(%R11%, 'EventLocation'),
(%R11%, 'EventLocationApprove'),
(%R11%, 'EventLocationOverbook'),
(%R11%, 'EventMeetingEdit'),
(%R11%, 'EventMeetingApprove'),
(%R11%, 'EventApprovePast'),
(%R11%, 'EventAnyLocation'),
(%R11%, 'AcademicSessions'),
(%R11%, 'AcademicSessionEdit'),
(%R11%, 'TimetableManagers'),
(%R11%, 'TimetableManagerAdd'),
(%R11%, 'TimetableManagerEdit'),
(%R11%, 'TimetableManagerDelete'),
(%R11%, 'Departments'),
(%R11%, 'DepartmentAdd'),
(%R11%, 'DepartmentEdit'),
(%R11%, 'DepartmentEditChangeExternalManager'),
(%R11%, 'DepartmentDelete'),
(%R11%, 'SolverGroups'),
(%R11%, 'SubjectAreas'),
(%R11%, 'SubjectAreaAdd'),
(%R11%, 'SubjectAreaEdit'),
(%R11%, 'SubjectAreaDelete'),
(%R11%, 'SubjectAreaChangeDepartment'),
(%R11%, 'BuildingList'),
(%R11%, 'BuildingAdd'),
(%R11%, 'BuildingEdit'),
(%R11%, 'BuildingDelete'),
(%R11%, 'BuildingUpdateData'),
(%R11%, 'BuildingExportPdf'),
(%R11%, 'DatePatterns'),
(%R11%, 'TimePatterns'),
(%R11%, 'AcademicAreas'),
(%R11%, 'AcademicAreaEdit'),
(%R11%, 'AcademicClassifications'),
(%R11%, 'AcademicClassificationEdit'),
(%R11%, 'Majors'),
(%R11%, 'MajorEdit'),
(%R11%, 'Minors'),
(%R11%, 'MinorEdit'),
(%R11%, 'StudentGroups'),
(%R11%, 'StudentGroupEdit'),
(%R11%, 'ExaminationPeriods'),
(%R11%, 'LastChanges'),
(%R11%, 'ManageSolvers'),
(%R11%, 'DistributionTypes'),
(%R11%, 'InstructionalTypes'),
(%R11%, 'SponsoringOrganizations'),
(%R11%, 'OfferingConsentTypes'),
(%R11%, 'CourseCreditFormats'),
(%R11%, 'CourseCreditTypes'),
(%R11%, 'CourseCreditUnits'),
(%R11%, 'PositionTypes'),
(%R11%, 'StudentSchedulingStatusTypes'),
(%R11%, 'Roles'),
(%R11%, 'Permissions'),
(%R11%, 'SettingsUser'),
(%R11%, 'Inquiry'),
(%R11%, 'PersonalSchedule'),
(%R11%, 'PersonalScheduleLookup'),
(%R11%, 'HQLReports'),
(%R11%, 'HQLReportsCourses'),
(%R11%, 'HQLReportsExaminations'),
(%R11%, 'HQLReportsStudents'),
(%R11%, 'HQLReportsEvents'),
(%R11%, 'HQLReportsAdministration'),
(%R11%, 'HQLReportsAdminOnly')
</mysql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionIndependent' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AllowTestSessions' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StatusIndependent' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'IsAdmin' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Registration' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferings' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsExportPDF' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsWorksheetPDF' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Classes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassesExportPDF' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignments' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportPdf' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportCsv' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddCourseOffering' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditCourseOffering' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanLock' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanUnlock' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeNotOffered' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeOffered' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingCrossLists' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditDepartment' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditSubpart' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetup' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupDepartment' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupClass' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructors' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructorsClass' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetailClearClassPreferences' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExtendedDatePatterns' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExtendedTimePatterns' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignment' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumView' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumMerge' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdmin' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Instructors' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorsExportPdf' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ManageInstructors' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorPreferences' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeControll' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExternalId' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeType' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeCapacity' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExaminationStatus' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeRoomProperties' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomAvailability' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDepartments' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartments' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsFinalExams' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsMidtermExams' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddRoom' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoom' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoomExternalRoom' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailAvailability' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailPeriodPreferences' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditAvailability' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditPreference' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGroups' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGlobalGroups' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditFeatures' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGlobalFeatures' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddNonUnivLocation' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomFeatureAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomGroupAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupEditSetDefault' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TravelTimesLoad' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TravelTimesSave' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferences' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceClass' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceSubpart' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceExam' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Reservations' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationOffering' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetabling' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetablingAudit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Timetables' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionChangeNote' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionCommit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoad' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoadEmpty' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Solver' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionSave' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionExportXml' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanSelectSolverServer' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Suggestions' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableGrid' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedClasses' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedClasses' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionChanges' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignmentHistory' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConflictStatistics' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverLog' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionReports' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Examinations' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationClone' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignment' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferences' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetabling' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolver' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetable' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedExaminations' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedExaminations' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignmentChanges' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationConflictStatistics' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolverLog' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationReports' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPdfReports' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentScheduling' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EnrollmentAuditPDFReports' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSectioningSolver' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSectioningSolverLog' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSectioningSolverDashboard' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseRequests' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConsentApproval' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingAdvisor' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingAdmin' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddCourseRelated' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupContact' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupSchedule' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationApprove' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationOverbook' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingApprove' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventApprovePast' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAnyLocation' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessions' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessionAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessionEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessionDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagers' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagerAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagerEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagerDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Departments' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentEditChangeExternalManager' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverGroups' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreas' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaChangeDepartment' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingList' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingUpdateData' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingExportPdf' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DatePatterns' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimePatterns' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExactTimes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicAreas' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicAreaEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicClassifications' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicClassificationEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Majors' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MajorEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Minors' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MinorEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentGroups' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentGroupEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPeriods' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DataExchange' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionRollForward' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'LastChanges' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ManageSolvers' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverParameterGroups' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverParameters' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverConfigurations' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionTypeEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalTypeAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalTypeEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalTypeDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StatusTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SponsoringOrganizations' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SponsoringOrganizationAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SponsoringOrganizationEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SponsoringOrganizationDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StandardEventNotes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Users' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingConsentTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingConsentTypeEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditFormats' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditFormatEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditTypeEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditUnits' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditUnitEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PositionTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PositionTypeEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingStatusTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingStatusTypeEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Roles' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoleEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Permissions' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PermissionEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ApplicationConfig' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsAdmin' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PageStatistics' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HibernateStatistics' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TestHQL' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Chameleon' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalScheduleLookup' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReports' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportAdd' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportDelete' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsCourses' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsExaminations' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsStudents' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsEvents' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsAdministration' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsAdminOnly' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultFirstFuture' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferings' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsExportPDF' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsWorksheetPDF' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Classes' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassesExportPDF' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportCsv' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddCourseOffering' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditCourseOffering' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanLock' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanUnlock' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeNotOffered' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeOffered' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingCrossLists' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditDepartment' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditSubpart' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetup' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupDepartment' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupClass' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructors' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructorsClass' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetailClearClassPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumView' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Instructors' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorsExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ManageInstructors' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExternalId' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeType' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeCapacity' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeRoomProperties' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomAvailability' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDepartments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoom' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoomExternalRoom' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailAvailability' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditAvailability' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditPreference' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGroups' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditFeatures' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddNonUnivLocation' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomFeatureAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomGroupAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceClass' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceSubpart' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceExam' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Reservations' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationOffering' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetabling' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetablingAudit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Timetables' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionChangeNote' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionCommit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoad' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoadEmpty' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Solver' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionSave' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Suggestions' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableGrid' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedClasses' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedClasses' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionChanges' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignmentHistory' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConflictStatistics' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverLog' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionReports' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Examinations' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationClone' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferences' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPdfReports' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConsentApproval' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddCourseRelated' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupSchedule' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalScheduleLookup' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReports' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsCourses' as value from %SCHEMA%.roles where reference = 'Dept Sched Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionIndependentIfNoSessionGiven' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferings' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsExportPDF' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsWorksheetPDF' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Classes' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassesExportPDF' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignments' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportCsv' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumView' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Instructors' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorsExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomAvailability' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailAvailability' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailPeriodPreferences' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferences' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Examinations' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferences' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPdfReports' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'View All')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultFirstExamination' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignments' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportCsv' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Instructors' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorsExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDetail' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExaminationStatus' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsFinalExams' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsMidtermExams' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailPeriodPreferences' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceExam' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Examinations' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDetail' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDelete' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationClone' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAdd' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignment' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferences' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetabling' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolver' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetable' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedExaminations' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedExaminations' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignmentChanges' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationConflictStatistics' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolverLog' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationReports' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPdfReports' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReports' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsExaminations' as value from %SCHEMA%.roles where reference = 'Exam Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExternalId' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeType' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeCapacity' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeRoomProperties' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoom' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoomExternalRoom' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddNonUnivLocation' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationEdit' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationDelete' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddCourseRelated' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupContact' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationApprove' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationOverbook' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingApprove' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReports' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsEvents' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumView' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDetail' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdd' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumEdit' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDelete' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumMerge' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdmin' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesDetail' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesEdit' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomAvailability' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Curriculum Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'No Role')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseRequests' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Student')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConsentApproval' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Instructor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseRequests' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingAdvisor' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupSchedule' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalScheduleLookup' as value from %SCHEMA%.roles where reference = 'Advisor')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SessionDefaultCurrent' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentIndependent' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StatusIndependent' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HasRole' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'IsAdmin' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferings' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsExportPDF' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingsWorksheetPDF' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Classes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassesExportPDF' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignmentsExportCsv' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddCourseOffering' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditCourseOffering' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanLock' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingCanUnlock' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeNotOffered' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingMakeOffered' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalOfferingCrossLists' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditDepartment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigEditSubpart' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstrOfferingConfigDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetup' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupDepartment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MultipleClassSetupClass' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignInstructorsClass' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartDetailClearClassPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingSubpartEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExtendedDatePatterns' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExtendedTimePatterns' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardTimePrefs' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardRoomPrefs' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardDistributionPrefs' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanUseHardPeriodPrefs' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ClassAssignment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumView' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumMerge' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumAdmin' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CurriculumProjectionRulesEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Instructors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorsExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ManageInstructors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructorPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Rooms' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomsExportCsv' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeControll' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExternalId' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeType' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeCapacity' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeExaminationStatus' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditChangeRoomProperties' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomAvailability' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDepartments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsFinalExams' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EditRoomDepartmentsMidtermExams' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddRoom' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoom' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddSpecialUseRoomExternalRoom' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailAvailability' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomDetailPeriodPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditAvailability' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditPreference' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGlobalGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditFeatures' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomEditGlobalFeatures' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AddNonUnivLocation' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NonUniversityLocationDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeatures' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomFeaturesExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomFeatureAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomFeatureDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomFeatureDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'RoomGroupsExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentRoomGroupAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupEditSetDefault' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmenalRoomGroupDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'GlobalRoomGroupDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TravelTimesLoad' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TravelTimesSave' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceClass' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceSubpart' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionPreferenceExam' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Reservations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationOffering' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ReservationDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetabling' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseTimetablingAudit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Timetables' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionChangeNote' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionCommit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoad' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionLoadEmpty' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetablesSolutionDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Solver' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionSave' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionExportCsv' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverSolutionExportXml' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CanSelectSolverServer' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Suggestions' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableGrid' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedClasses' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedClasses' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionChanges' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignmentHistory' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConflictStatistics' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverLog' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolutionReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Examinations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationEditClearPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationClone' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferences' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationDistributionPreferenceDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSchedule' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetabling' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolver' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationTimetable' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AssignedExaminations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'NotAssignedExaminations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationAssignmentChanges' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationConflictStatistics' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationSolverLog' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPdfReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentScheduling' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EnrollmentAuditPDFReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSectioningSolver' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSectioningSolverLog' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSectioningSolverDashboard' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseRequests' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingDashboard' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ConsentApproval' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingAdvisor' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingAdmin' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingEnrollments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentEnrollments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddSpecial' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAddCourseRelated' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupContact' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLookupSchedule' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDetail' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventDate' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocation' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationApprove' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventLocationOverbook' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventMeetingApprove' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventApprovePast' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventAnyLocation' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessions' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicSessionEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagers' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagerAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagerEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimetableManagerDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Departments' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentEditChangeExternalManager' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DepartmentDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SolverGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreas' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SubjectAreaChangeDepartment' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingList' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingAdd' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingDelete' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingUpdateData' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'BuildingExportPdf' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DatePatterns' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'TimePatterns' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicAreas' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicAreaEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicClassifications' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'AcademicClassificationEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Majors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MajorEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Minors' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'MinorEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentGroups' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentGroupEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExaminationPeriods' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'LastChanges' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ManageSolvers' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'DistributionTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'InstructionalTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SponsoringOrganizations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'OfferingConsentTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditFormats' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'CourseCreditUnits' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PositionTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingStatusTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Roles' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Permissions' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SettingsUser' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Inquiry' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalSchedule' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'PersonalScheduleLookup' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReports' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsCourses' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsExaminations' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsStudents' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsEvents' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsAdministration' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'HQLReportsAdminOnly' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
</update>
<update version="91" date="25-Sep-2012" comment="Exams Can Share Room Constraint">
<plsql>
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'EX_SHARE_ROOM', 'Can Share Room', 0, 48, '2R',
'Given examinations can share a room (use the same room during the same period) if the room is big enough. If examinations of different seating type are sharing a room, the more restrictive seating type is used to check the room size.',
'Share Room', 0, 1)
</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%ID%, 'EX_SHARE_ROOM', 'Can Share Room', 0, 48, '2R',
'Given examinations can share a room (use the same room during the same period) if the room is big enough. If examinations of different seating type are sharing a room, the more restrictive seating type is used to check the room size.',
'Share Room', 0, 1)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="92" date="26-Sep-2012" comment="Anonymous Role">
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<mysql onFail="next">insert into %SCHEMA%.roles (role_id, reference, abbv, manager, enabled) values (%ID%, 'Anonymous', 'Anonymous', 0, 1)</mysql>
<plsql onFail="next">insert into %SCHEMA%.roles (role_id, reference, abbv, manager, enabled) values (%SCHEMA%.ROLE_SEQ.nextval, 'Anonymous', 'Anonymous', 0, 1)</plsql>
<mysql>insert into %SCHEMA%.rights (role_id, value) values
(%ID%, 'Events'),
(%ID%, 'SchedulingAssistant')
</mysql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'Events' as value from %SCHEMA%.roles where reference = 'Anonymous')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'SchedulingAssistant' as value from %SCHEMA%.roles where reference = 'Anonymous')</plsql>
</update>
<update version="93" date="29-Oct-2012" comment="Examination Types">
<plsql>
create table %SCHEMA%.exam_type (
uniqueid number(20,0) constraint nn_exam_type_uniqueid not null,
reference varchar2(20) constraint nn_exam_type_reference not null,
label varchar2(60) constraint nn_exam_type_label not null,
xtype number(10,0) constraint nn_exam_type_type not null
)
</plsql>
<plsql>alter table %SCHEMA%.exam_type add constraint pk_exam_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.exam_type (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
xtype bigint(10) not null
) engine = INNODB
</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<mysql>insert into %SCHEMA%.exam_type (uniqueid, reference, label, xtype) values
(%ID%, 'final', 'Final', 0),
(%ID% + 1, 'midterm', 'Midterm', 1)
</mysql>
<plsql>
alter table %SCHEMA%.exam add exam_type_id number(20)
</plsql>
<mysql>
alter table %SCHEMA%.exam add exam_type_id decimal(20,0) null
</mysql>
<mysql>
update %SCHEMA%.exam set exam_type_id = %ID% where exam_type = 0
</mysql>
<mysql>
update %SCHEMA%.exam set exam_type_id = %ID% + 1 where exam_type = 1
</mysql>
<plsql>
alter table %SCHEMA%.exam_period add exam_type_id number(20)
</plsql>
<mysql>
alter table %SCHEMA%.exam_period add exam_type_id decimal(20,0) null
</mysql>
<mysql>
update %SCHEMA%.exam_period set exam_type_id = %ID% where exam_type = 0
</mysql>
<mysql>
update %SCHEMA%.exam_period set exam_type_id = %ID% + 1 where exam_type = 1
</mysql>
<plsql>
create table %SCHEMA%.room_exam_type (
location_id number(20,0) constraint nn_room_extype_loc not null,
exam_type_id number(20,0) constraint nn_room_extype_type not null
)
</plsql>
<plsql>alter table %SCHEMA%.room_exam_type add constraint pk_room_exam_type primary key (location_id, exam_type_id)</plsql>
<mysql>
create table %SCHEMA%.room_exam_type (
location_id decimal(20,0) not null,
exam_type_id decimal(20,0) not null,
primary key (location_id, exam_type_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.room_exam_type add constraint fk_room_exam_type foreign key (exam_type_id)
references %SCHEMA%.exam_type (uniqueid) on delete cascade
</sql>
<mysql>
insert into %SCHEMA%.room_exam_type (location_id, exam_type_id)
select uniqueid, %ID% from %SCHEMA%.room where exam_type in (1, 3)
</mysql>
<mysql>
insert into %SCHEMA%.room_exam_type (location_id, exam_type_id)
select uniqueid, %ID% + 1 from %SCHEMA%.room where exam_type in (2, 3)
</mysql>
<mysql>
insert into %SCHEMA%.room_exam_type (location_id, exam_type_id)
select uniqueid, %ID% from %SCHEMA%.non_university_location where exam_type in (1, 3)
</mysql>
<mysql>
insert into %SCHEMA%.room_exam_type (location_id, exam_type_id)
select uniqueid, %ID% + 1 from %SCHEMA%.non_university_location where exam_type in (2, 3)
</mysql>
<plsql>
insert into %SCHEMA%.exam_type (uniqueid, reference, label, xtype) values
(%SCHEMA%.ref_table_seq.nextval, 'final', 'Final', 0)
</plsql>
<plsql>
update %SCHEMA%.exam set exam_type_id = %SCHEMA%.ref_table_seq.currval where exam_type = 0
</plsql>
<plsql>
update %SCHEMA%.exam_period set exam_type_id = %SCHEMA%.ref_table_seq.currval where exam_type = 0
</plsql>
<plsql>
insert into %SCHEMA%.room_exam_type (location_id, exam_type_id)
select uniqueid, %SCHEMA%.ref_table_seq.currval from %SCHEMA%.room where exam_type in (1, 3)
</plsql>
<plsql>
insert into %SCHEMA%.room_exam_type (location_id, exam_type_id)
select uniqueid, %SCHEMA%.ref_table_seq.currval from %SCHEMA%.non_university_location where exam_type in (1, 3)
</plsql>
<plsql>
insert into %SCHEMA%.exam_type (uniqueid, reference, label, xtype) values
(%SCHEMA%.ref_table_seq.nextval, 'midterm', 'Midterm', 1)
</plsql>
<plsql>
update %SCHEMA%.exam set exam_type_id = %SCHEMA%.ref_table_seq.currval where exam_type = 1
</plsql>
<plsql>
update %SCHEMA%.exam_period set exam_type_id = %SCHEMA%.ref_table_seq.currval where exam_type = 1
</plsql>
<plsql>
insert into %SCHEMA%.room_exam_type (location_id, exam_type_id)
select uniqueid, %SCHEMA%.ref_table_seq.currval from %SCHEMA%.room where exam_type in (2, 3)
</plsql>
<plsql>
insert into %SCHEMA%.room_exam_type (location_id, exam_type_id)
select uniqueid, %SCHEMA%.ref_table_seq.currval from %SCHEMA%.non_university_location where exam_type in (2, 3)
</plsql>
<sql>
alter table %SCHEMA%.exam
add constraint fk_exam_type foreign key (exam_type_id)
references %SCHEMA%.exam_type (uniqueid) on delete cascade
</sql>
<plsql>
alter table %SCHEMA%.exam add constraint nn_exam_type check (exam_type_id is not null)
</plsql>
<mysql>
alter table %SCHEMA%.exam modify exam_type_id decimal(20,0) not null
</mysql>
<sql>alter table %SCHEMA%.exam drop column exam_type</sql>
<sql>
alter table %SCHEMA%.exam_period
add constraint fk_exam_period_type foreign key (exam_type_id)
references %SCHEMA%.exam_type (uniqueid) on delete cascade
</sql>
<plsql>
alter table %SCHEMA%.exam_period add constraint nn_exam_period_type check (exam_type_id is not null)
</plsql>
<mysql>
alter table %SCHEMA%.exam_period modify exam_type_id decimal(20,0) not null
</mysql>
<sql>alter table %SCHEMA%.exam_period drop column exam_type</sql>
<sql>alter table %SCHEMA%.room drop column exam_type</sql>
<sql>alter table %SCHEMA%.non_university_location drop column exam_type</sql>
<mysql into="R1">select role_id from %SCHEMA%.roles where reference = 'Sysadmin'</mysql>
<mysql into="R2">select role_id from %SCHEMA%.roles where reference = 'Administrator'</mysql>
<mysql>insert into %SCHEMA%.rights (role_id, value) values
(%R1%, 'ExamTypes'),
(%R1%, 'ExamTypeEdit'),
(%R2%, 'ExamTypes')
</mysql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExamTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExamTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'ExamTypeEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EditRoomDepartmentsExams'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EditRoomDepartments%Exams'
</sql>
</update>
<update version="94" date="19-Nov-2012" comment="Room Type Option Changes">
<plsql>alter table %SCHEMA%.room_type_option add break_time number(10) default 0</plsql>
<plsql>alter table %SCHEMA%.room_type_option add constraint nn_rtype_opt_break check (break_time is not null)</plsql>
<mysql>alter table %SCHEMA%.room_type_option add break_time bigint(10) not null default 0</mysql>
<plsql>alter table %SCHEMA%.room_type_option add department_id number(20,0)</plsql>
<plsql>alter table %SCHEMA%.room_type_option drop primary key drop index</plsql>
<plsql>alter table %SCHEMA%.room_type_option drop constraint fk_rtype_option_session</plsql>
<plsql>alter table %SCHEMA%.room_type_option drop constraint nn_rtype_opt_session</plsql>
<mysql>alter table %SCHEMA%.room_type_option add department_id decimal(20,0)</mysql>
<mysql>alter table %SCHEMA%.room_type_option modify session_id decimal(20,0) null</mysql>
<mysql>alter table %SCHEMA%.room_type_option drop foreign key fk_rtype_option_session</mysql>
<mysql>alter table %SCHEMA%.room_type_option drop foreign key fk_rtype_option_type</mysql>
<mysql>alter table %SCHEMA%.room_type_option drop primary key</mysql>
<sql>
insert into %SCHEMA%.room_type_option (room_type, department_id, status, message)
select o.room_type, d.uniqueid, o.status, o.message
from %SCHEMA%.room_type_option o, %SCHEMA%.department d
where d.session_id = o.session_id and d.allow_events = 1 and o.status = 1 and (
(select count(*) from %SCHEMA%.room r where r.event_dept_id = d.uniqueid and r.room_type = o.room_type) > 0 or
(select count(*) from %SCHEMA%.non_university_location r where r.event_dept_id = d.uniqueid and r.room_type = o.room_type) > 0
)
</sql>
<sql>delete from %SCHEMA%.room_type_option where department_id is null or department_id = 0</sql>
<mysql>alter table %SCHEMA%.room_type_option modify department_id decimal(20,0) not null</mysql>
<mysql>alter table %SCHEMA%.room_type_option add primary key (room_type, department_id)</mysql>
<plsql>alter table %SCHEMA%.room_type_option add constraint nn_rtype_opt_department check (department_id is not null)</plsql>
<plsql>alter table %SCHEMA%.room_type_option add constraint pk_room_type_option primary key (room_type, department_id)</plsql>
<sql>
alter table %SCHEMA%.room_type_option
add constraint fk_rtype_option_department foreign key (department_id)
references %SCHEMA%.department (uniqueid) on delete cascade
</sql>
<mysql>
alter table %SCHEMA%.room_type_option add constraint fk_rtype_option_type foreign key (room_type)
references %SCHEMA%.room_type (uniqueid) on delete cascade
</mysql>
<sql>alter table %SCHEMA%.room_type_option drop column session_id</sql>
<mysql into="R1">select role_id from %SCHEMA%.roles where reference = 'Sysadmin'</mysql>
<mysql into="R2">select role_id from %SCHEMA%.roles where reference = 'Administrator'</mysql>
<mysql into="R3">select role_id from %SCHEMA%.roles where reference = 'Event Mgr'</mysql>
<mysql>insert into %SCHEMA%.rights (role_id, value) values
(%R1%, 'EventRoomTypes'),
(%R1%, 'EventRoomTypeEdit'),
(%R2%, 'EventRoomTypes'),
(%R2%, 'EventRoomTypeEdit'),
(%R3%, 'EventRoomTypes'),
(%R3%, 'EventRoomTypeEdit')
</mysql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventRoomTypes' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventRoomTypeEdit' as value from %SCHEMA%.roles where reference = 'Administrator')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventRoomTypes' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventRoomTypeEdit' as value from %SCHEMA%.roles where reference = 'Sysadmin')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventRoomTypes' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
<plsql>insert into %SCHEMA%.rights (select role_id, 'EventRoomTypeEdit' as value from %SCHEMA%.roles where reference = 'Event Mgr')</plsql>
</update>
<update version="95" date="19-Nov-2012" comment="CHAR">
<plsql>alter table %SCHEMA%.building modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.building modify abbreviation varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.building modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.subject_area modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.subject_area modify subject_area_abbreviation varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.subject_area modify short_title varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.subject_area modify long_title varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.distribution_type modify allowed_pref varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.offr_consent_type modify abbv varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.crse_credit_format modify abbreviation varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.course_credit_type modify legacy_crse_master_code varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.course_credit_type modify abbreviation varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.sectioning_status modify message varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.room modify room_number varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.room modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.room modify classification varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.non_university_location modify name varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.room_feature modify label varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.room_feature modify abbv varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.room_feature modify sis_reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.room_feature modify sis_value varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.room_group modify name varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.room_group modify abbv varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.room_group modify description varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.course_offering modify perm_id varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_offering modify course_nbr varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.course_offering modify title varchar2(90 char)</plsql>
<plsql>alter table %SCHEMA%.course_offering modify schedule_book_note varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.course_offering modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.course_offering modify course_nbr varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.instructional_offering modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.instr_offering_config modify name varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.time_pattern modify name varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.preference_level modify pref_prolog varchar2(2 char)</plsql>
<plsql>alter table %SCHEMA%.preference_level modify pref_name varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.time_pref modify preference varchar2(2048 char)</plsql>
<plsql>alter table %SCHEMA%.scheduling_subpart modify subpart_suffix varchar2(5 char)</plsql>
<plsql>alter table %SCHEMA%.class_ modify notes varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.class_ modify sched_print_note varchar2(2000 char)</plsql>
<plsql>alter table %SCHEMA%.class_ modify class_suffix varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.class_ modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.department modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.department modify dept_code varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.department modify abbreviation varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.department modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.department modify rs_color varchar2(6 char)</plsql>
<plsql>alter table %SCHEMA%.department modify external_mgr_label varchar2(30 char)</plsql>
<plsql>alter table %SCHEMA%.department modify external_mgr_abbv varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.sessions modify academic_initiative varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.sessions modify academic_year varchar2(4 char)</plsql>
<plsql>alter table %SCHEMA%.sessions modify academic_term varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.sessions modify holidays varchar2(366 char)</plsql>
<plsql>alter table %SCHEMA%.departmental_instructor modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.departmental_instructor modify career_acct varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.departmental_instructor modify fname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.departmental_instructor modify mname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.departmental_instructor modify lname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.departmental_instructor modify note varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.departmental_instructor modify email varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.exam modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.exam modify note varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.exam modify assigned_pref varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.solver_parameter_def modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.solver_parameter_def modify default_value varchar2(2048 char)</plsql>
<plsql>alter table %SCHEMA%.solver_parameter_def modify description varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.solver_parameter_def modify type varchar2(250 char)</plsql>
<plsql>alter table %SCHEMA%.itype_desc modify abbv varchar2(7 char)</plsql>
<plsql>alter table %SCHEMA%.itype_desc modify description varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.itype_desc modify sis_ref varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.settings modify name varchar2(30 char)</plsql>
<plsql>alter table %SCHEMA%.settings modify default_value varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.settings modify allowed_values varchar2(500 char)</plsql>
<plsql>alter table %SCHEMA%.settings modify description varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.manager_settings modify value varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.solver_parameter modify value varchar2(2048 char)</plsql>
<plsql>alter table %SCHEMA%.solver_parameter_group modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.solver_parameter_group modify description varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.solver_predef_setting modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.solver_predef_setting modify description varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.solver_info_def modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.solver_info_def modify description varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.solver_info_def modify implementation varchar2(250 char)</plsql>
<plsql>alter table %SCHEMA%.solver_info modify opt varchar2(250 char)</plsql>
<plsql>alter table %SCHEMA%.solution modify note varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.solution modify creator varchar2(250 char)</plsql>
<plsql>alter table %SCHEMA%.assignment modify class_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.user_data modify value varchar2(2048 char)</plsql>
<plsql>alter table %SCHEMA%.date_pattern modify name varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.date_pattern modify pattern varchar2(366 char)</plsql>
<plsql>alter table %SCHEMA%.course_credit_unit_config modify credit_format varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.academic_area modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.academic_area modify academic_area_abbreviation varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.academic_area modify short_title varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.academic_area modify long_title varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.academic_classification modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.academic_classification modify code varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.academic_classification modify name varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.staff modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.staff modify fname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.staff modify mname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.staff modify lname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.staff modify dept varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.staff modify email varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.pos_major modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pos_major modify code varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.pos_major modify name varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.pos_minor modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pos_minor modify code varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.pos_minor modify name varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.student_group modify group_abbreviation varchar2(30 char)</plsql>
<plsql>alter table %SCHEMA%.student_group modify group_name varchar2(90 char)</plsql>
<plsql>alter table %SCHEMA%.student_group modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.application_config modify value varchar2(4000 char)</plsql>
<plsql>alter table %SCHEMA%.application_config modify description varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.history modify old_value varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.history modify new_value varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.history modify old_number varchar2(4 char)</plsql>
<plsql>alter table %SCHEMA%.history modify new_number varchar2(4 char)</plsql>
<plsql>alter table %SCHEMA%.course_demand modify changed_by varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.free_time modify name varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.lastlike_course_demand modify course_nbr varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.lastlike_course_demand modify course_perm_id varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.student modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.student modify first_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.student modify middle_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.student modify last_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.student modify email varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.student_accomodation modify name varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.student_accomodation modify abbreviation varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.student_accomodation modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.student_class_enrl modify approved_by varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.student_class_enrl modify changed_by varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.student_enrl_msg modify message varchar2(255 char)</plsql>
<plsql>alter table %SCHEMA%.change_log modify obj_type varchar2(255 char)</plsql>
<plsql>alter table %SCHEMA%.change_log modify obj_title varchar2(255 char)</plsql>
<plsql>alter table %SCHEMA%.change_log modify source varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.change_log modify operation varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify subject varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify course_nbr varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify title varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify perm_id varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify approval_type varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify prev_subject varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify prev_crs_nbr varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify credit_type varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify credit_unit_type varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_catalog modify credit_format varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_subpart_credit modify subpart_id varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.course_subpart_credit modify credit_type varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_subpart_credit modify credit_unit_type varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_subpart_credit modify credit_format varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.external_building modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.external_building modify abbreviation varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.external_building modify display_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.external_room modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.external_room modify room_number varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.external_room modify classification varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.external_room modify display_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.external_room_department modify department_code varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.external_room_department modify assignment_type varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.external_room_feature modify name varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.external_room_feature modify value varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.event_note modify text_note varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.event_note modify uname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.event_note modify meetings varchar2(2000 char)</plsql>
<plsql>alter table %SCHEMA%.event modify event_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.event modify email varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.room_type_option modify message varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.curriculum modify abbv varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.curriculum modify name varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.curriculum_clasf modify name varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.curriculum_group modify name varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.curriculum_group modify color varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.query_log modify uri varchar2(255 char)</plsql>
<plsql>alter table %SCHEMA%.query_log modify session_id varchar2(32 char)</plsql>
<plsql>alter table %SCHEMA%.query_log modify userid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.sectioning_log modify student varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.sectioning_log modify operation varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.sectioning_log modify user_id varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.saved_hql modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.saved_hql modify description varchar2(1000 char)</plsql>
</update>
<update version="96" date="6-Dec-2012" comment="Course Offering Demands Fix">
<mysql>alter table %SCHEMA%.course_offering drop foreign key fk_course_offering_demand_offr</mysql>
<plsql>alter table %SCHEMA%.course_offering drop constraint fk_course_offering_demand_offr</plsql>
<sql>
alter table %SCHEMA%.course_offering add constraint fk_course_offering_demand_offr foreign key (demand_offering_id)
references %SCHEMA%.course_offering (uniqueid) on delete set null
</sql>
</update>
<update version="97" date="14-Dec-2012" comment="Unavailability Events">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventAddUnavailable'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventLocationOverbook'
</sql>
</update>
<update version="98" date="15-Dec-2012" comment="Room Feature Types">
<plsql>
create table %SCHEMA%.feature_type (
uniqueid number(20,0) constraint nn_feature_type_uniqueid not null,
reference varchar2(20) constraint nn_feature_type_reference not null,
label varchar2(60) constraint nn_feature_type_label not null,
events number(1,0) constraint nn_feature_type_events not null
)
</plsql>
<plsql>alter table %SCHEMA%.feature_type add constraint pk_feature_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.feature_type (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
events int(1) not null
) engine = INNODB
</mysql>
<plsql>alter table %SCHEMA%.room_feature add feature_type_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.room_feature add feature_type_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.room_feature
add constraint fk_feature_type foreign key (feature_type_id)
references %SCHEMA%.feature_type (uniqueid) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'RoomFeatureTypes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'ExamTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'RoomFeatureTypeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'ExamTypeEdit'
</sql>
<plsql>alter table %SCHEMA%.room_feature modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.room_feature modify abbv varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.room_group modify name varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.room_group modify abbv varchar2(60 char)</plsql>
<mysql>alter table %SCHEMA%.room_feature modify label varchar(60) binary null</mysql>
<mysql>alter table %SCHEMA%.room_feature modify abbv varchar(60) binary null</mysql>
<mysql>alter table %SCHEMA%.room_group modify name varchar(60) binary null</mysql>
<mysql>alter table %SCHEMA%.room_group modify abbv varchar(60) binary null</mysql>
</update>
<update version="99" date="15-Dec-2012" comment="Room Square Footage">
<plsql>alter table %SCHEMA%.room add area double precision</plsql>
<plsql>alter table %SCHEMA%.non_university_location add area double precision</plsql>
<mysql>alter table %SCHEMA%.room add area double null</mysql>
<mysql>alter table %SCHEMA%.non_university_location add area double null</mysql>
<plsql>alter table %SCHEMA%.external_room add area double precision</plsql>
<mysql>alter table %SCHEMA%.external_room add area double null</mysql>
</update>
<update version="100" date="16-Dec-2012" comment="Event Approval Status">
<mysql>
alter table %SCHEMA%.meeting add approval_status bigint(10) not null default 0
</mysql>
<plsql>
alter table %SCHEMA%.meeting add approval_status number(10) default 0
</plsql>
<plsql>
alter table %SCHEMA%.meeting add constraint nn_meeting_approval_status check (approval_status is not null)
</plsql>
<plsql>alter table %SCHEMA%.meeting rename column approved_date to approval_date</plsql>
<mysql>alter table %SCHEMA%.meeting change column approved_date approval_date date null</mysql>
<sql>update %SCHEMA%.meeting set approval_status = 1 where approval_date is not null</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventMeetingDelete'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventMeetingEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventMeetingCancel'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventMeetingEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventMeetingInquire'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventMeetingApprove'
</sql>
</update>
<update version="101" date="17-Dec-2012" comment="Event Attachments">
<mysql>alter table %SCHEMA%.event_note add attached_file longblob null</mysql>
<plsql>alter table %SCHEMA%.event_note add attached_file blob</plsql>
<mysql>alter table %SCHEMA%.event_note add attached_name varchar(260) binary null</mysql>
<plsql>alter table %SCHEMA%.event_note add attached_name varchar2(260 char)</plsql>
<mysql>alter table %SCHEMA%.event_note add attached_content varchar(260) binary null</mysql>
<plsql>alter table %SCHEMA%.event_note add attached_content varchar2(260 char)</plsql>
<mysql>alter table %SCHEMA%.event_note add user_id varchar(40) binary null</mysql>
<plsql>alter table %SCHEMA%.event_note add user_id varchar2(40 char)</plsql>
<plsql>
create table %SCHEMA%.event_note_meeting (
note_id number(20,0) constraint nn_event_note_note not null,
meeting_id number(20,0) constraint nn_event_note_mtg not null
)
</plsql>
<plsql>alter table %SCHEMA%.event_note_meeting add constraint pk_event_note_meeting primary key (note_id, meeting_id)</plsql>
<mysql>
create table %SCHEMA%.event_note_meeting (
note_id decimal(20,0) not null,
meeting_id decimal(20,0) not null,
primary key (note_id, meeting_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.event_note_meeting add constraint fk_event_note_note foreign key (note_id)
references %SCHEMA%.event_note (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.event_note_meeting add constraint fk_event_note_mtg foreign key (meeting_id)
references %SCHEMA%.meeting (uniqueid) on delete cascade
</sql>
</update>
<update version="102" date="18-Dec-2012" comment="Event Location Unavailable">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventLocationUnavailable'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventAddUnavailable'
</sql>
</update>
<update version="103" date="21-Dec-2012" comment="Room Event Management Properties">
<plsql>alter table %SCHEMA%.room add break_time number(10)</plsql>
<plsql>alter table %SCHEMA%.non_university_location add break_time number(10)</plsql>
<mysql>alter table %SCHEMA%.room add break_time bigint(10) null</mysql>
<mysql>alter table %SCHEMA%.non_university_location add break_time bigint(10) null</mysql>
<plsql>alter table %SCHEMA%.room add event_status number(10)</plsql>
<plsql>alter table %SCHEMA%.non_university_location add event_status number(10)</plsql>
<mysql>alter table %SCHEMA%.room add event_status bigint(10) null</mysql>
<mysql>alter table %SCHEMA%.non_university_location add event_status bigint(10) null</mysql>
<plsql>alter table %SCHEMA%.room add note varchar2(2048 char)</plsql>
<plsql>alter table %SCHEMA%.non_university_location add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.room add note varchar(2048) binary null</mysql>
<mysql>alter table %SCHEMA%.non_university_location add note varchar(2048) binary null</mysql>
<plsql>alter table %SCHEMA%.roles add instructor number(1) default 0</plsql>
<mysql>alter table %SCHEMA%.roles add instructor int(1) default 0</mysql>
<plsql>alter table %SCHEMA%.departmental_instructor add role_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.departmental_instructor add role_id decimal(20,0) null</mysql>
<sql>
alter table %SCHEMA%.departmental_instructor add constraint fk_instructor_role foreign key (role_id)
references %SCHEMA%.roles (role_id) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorRoles'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventRoomTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorRoleEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventRoomTypeEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'RoomEditChangeEventProperties'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventRoomTypeEdit'
</sql>
</update>
<update version="104" date="26-Dec-2012" comment="Room Sharing">
<plsql>alter table %SCHEMA%.room modify pattern varchar2(2048 char)</plsql>
<plsql>alter table %SCHEMA%.non_university_location modify pattern varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.room modify pattern varchar(2048) binary null</mysql>
<mysql>alter table %SCHEMA%.non_university_location modify pattern varchar(2048) binary null</mysql>
<plsql>alter table %SCHEMA%.room modify manager_ids varchar2(3000 char)</plsql>
<plsql>alter table %SCHEMA%.room modify display_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.non_university_location modify manager_ids varchar2(3000 char)</plsql>
<plsql>alter table %SCHEMA%.non_university_location modify display_name varchar2(100 char)</plsql>
</update>
<update version="105" date="27-Dec-2012" comment="Room Event Availability">
<plsql>alter table %SCHEMA%.room add availability varchar2(2048 char)</plsql>
<plsql>alter table %SCHEMA%.non_university_location add availability varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.room add availability varchar(2048) binary null</mysql>
<mysql>alter table %SCHEMA%.non_university_location add availability varchar(2048) binary null</mysql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'RoomDetailEventAvailability'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'RoomEditChangeEventProperties'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'RoomEditEventAvailability'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'RoomEditChangeEventProperties'
</sql>
</update>
<update version="106" date="4-Jan-2013" comment="Event Date Mapping">
<plsql>
create table %SCHEMA%.date_mapping (
uniqueid number(20,0) constraint nn_date_map_id not null,
session_id number(20,0) constraint nn_date_map_session not null,
class_date number(10,0) constraint nn_date_map_class not null,
event_date number(10,0) constraint nn_date_map_event not null,
note varchar2(1000 char)
)
</plsql>
<plsql>alter table %SCHEMA%.date_mapping add constraint pk_date_mapping primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.date_mapping (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
class_date bigint(10) not null,
event_date bigint(10) not null,
note varchar(1000)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.date_mapping add constraint fk_event_date_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
</update>
<update version="107" date="7-Jan-2013" comment="Edit Course Offering Coordinators">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EditCourseOfferingCoordinators'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EditCourseOffering'
</sql>
</update>
<update version="108" date="28-Jan-2013" comment="Event Statuses">
<plsql>alter table %SCHEMA%.room_type_option modify message varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.room_type_option modify message varchar(2048) null</mysql>
<plsql>alter table %SCHEMA%.user_data modify value varchar2(4000 char)</plsql>
<mysql>alter table %SCHEMA%.user_data modify value varchar(4000) null</mysql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventStatuses'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventRoomTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventStatusEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventRoomTypeEdit'
</sql>
</update>
<update version="109" date="4-Feb-2013" comment="Standard Event Notes">
<plsql>alter table %SCHEMA%.standard_event_note add discriminator varchar2(10 char) default 'global'</plsql>
<mysql>alter table %SCHEMA%.standard_event_note add discriminator varchar(10) default 'global'</mysql>
<plsql>alter table %SCHEMA%.standard_event_note add session_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.standard_event_note add session_id decimal(20,0)</mysql>
<plsql>alter table %SCHEMA%.standard_event_note add department_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.standard_event_note add department_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.standard_event_note add constraint fk_stdevt_note_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.standard_event_note add constraint fk_stdevt_note_dept foreign key (department_id)
references %SCHEMA%.department (uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StandardEventNotesGlobalEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StandardEventNotes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StandardEventNotesSessionEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'IsAdmin'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StandardEventNotesDepartmentEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'EventMeetingApprove'
</sql>
<sql>delete from %SCHEMA%.rights where value = 'StandardEventNotes'</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StandardEventNotes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('StandardEventNotesGlobalEdit', 'StandardEventNotesSessionEdit', 'StandardEventNotesDepartmentEdit')
</sql>
</update>
<update version="110" date="11-Feb-2013" comment="Course Types">
<plsql>
create table %SCHEMA%.course_type (
uniqueid number(20,0) constraint nn_course_type_uniqueid not null,
reference varchar2(20 char) constraint nn_course_type_reference not null,
label varchar2(60 char) constraint nn_course_type_label not null
)
</plsql>
<plsql>alter table %SCHEMA%.course_type add constraint pk_course_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.course_type (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null
) engine = INNODB
</mysql>
<plsql>alter table %SCHEMA%.course_offering add course_type_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.course_offering add course_type_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.course_offering add constraint fk_course_offering_type foreign key (course_type_id)
references %SCHEMA%.course_type (uniqueid) on delete set null
</sql>
<plsql>
create table %SCHEMA%.sectioning_course_types (
sectioning_status_id number(20,0) constraint nn_sect_course_status not null,
course_type_id number(20,0) constraint nn_sect_course_type not null
)
</plsql>
<plsql>alter table %SCHEMA%.sectioning_course_types add constraint pk_sectioning_course_types primary key (sectioning_status_id, course_type_id)</plsql>
<mysql>
create table %SCHEMA%.sectioning_course_types (
sectioning_status_id decimal(20,0) not null,
course_type_id decimal(20,0) not null,
primary key(sectioning_status_id, course_type_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.sectioning_course_types add constraint fk_sect_course_status foreign key (sectioning_status_id)
references %SCHEMA%.sectioning_status (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.sectioning_course_types add constraint fk_sect_course_type foreign key (course_type_id)
references %SCHEMA%.course_type (uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CourseTypes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PositionTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CourseTypeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PositionTypeEdit'
</sql>
</update>
<update version="111" date="13-Feb-2013" comment="Course Consent Type">
<plsql>alter table %SCHEMA%.course_offering add consent_type number(20,0)</plsql>
<mysql>alter table %SCHEMA%.course_offering add consent_type decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.course_offering add constraint fk_course_consent_type foreign key (consent_type)
references %SCHEMA%.offr_consent_type (uniqueid) on delete cascade
</sql>
<sql>update %SCHEMA%.course_offering set consent_type = (select o.consent_type from %SCHEMA%.instructional_offering o where o.uniqueid = instr_offr_id)</sql>
<mysql>alter table %SCHEMA%.instructional_offering drop foreign key fk_instr_offr_consent_type</mysql>
<plsql>alter table %SCHEMA%.instructional_offering drop constraint fk_instr_offr_consent_type</plsql>
<sql>alter table %SCHEMA%.instructional_offering drop column consent_type</sql>
</update>
<update version="112" date="15-Feb-2013" comment="Non-university Location External Id">
<plsql>
alter table %SCHEMA%.non_university_location add external_uid varchar2(40 char)
</plsql>
<mysql>
alter table %SCHEMA%.non_university_location add external_uid varchar(40)
</mysql>
</update>
<update version="113" date="23-Feb-2013" comment="Ignore Student Conflicts Constraint">
<plsql>
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%SCHEMA%.ref_table_seq.nextval, 'NO_CONFLICT', 'Ignore Student Conflicts', 0, 49, '2R',
'All student conflicts between the given classes are to be ignored.',
'No Conflicts', 0, 0)
</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.distribution_type (uniqueid, reference, label, sequencing_required, req_id, allowed_pref, description, abbreviation, instructor_pref, exam_pref) values
(%ID%, 'NO_CONFLICT', 'Ignore Student Conflicts', 0, 49, '2R',
'All student conflicts between the given classes are to be ignored.',
'No Conflicts', 0, 0)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
</update>
<update version="114" date="23-Feb-2013" comment="New Solver Parameters">
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Distances.ComputeDistanceConflictsBetweenNonBTBClasses' as name,
'false' as default_value,
'Compute Distance Conflicts Between Non BTB Classes' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Distance') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Distance')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Instructor.InstructorLongTravelInMinutes' as name,
'30.0' as default_value,
'Instructor Long Travel in Minutes (only when computing distances between non-BTB classes is enabled)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Distance') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Distance')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.AutoPrecedence' as name,
'Neutral' as default_value,
'Automatic precedence constraint' as description,
'enum(Required,Strongly Preferred,Preferred,Neutral)' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'DiscouragedRoom.Unassignments2Weaken' as name,
'1000' as default_value,
'Number of unassignments for the discouraged room constraint to weaken' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'CurriculaCourseDemands.IncludeOtherStudents' as name,
'true' as default_value,
'Curriculum Course Demands: Include Other Students' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.AdditionalCriteria' as name,
'net.sf.cpsolver.coursett.criteria.additional.ImportantStudentConflict;net.sf.cpsolver.coursett.criteria.additional.ImportantStudentHardConflict' as default_value,
'Additional Criteria (semicolon separated list of class names)' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.PurgeInvalidPlacements' as name,
'true' as default_value,
'Purge invalid placements during the data load' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'CurriculumEnrollmentPriority.GroupMatch' as name,
'.*' as default_value,
'Important Curriculum Groups (regexp matching the group name -- all courses of a matching group are marked as important)' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Precedence.ConsiderDatePatterns' as name,
'true' as default_value,
'Precedence Constraint: consider date patterns' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.JenrlMaxConflicts' as name,
'1.0' as default_value,
'Joint Enrollment Constraint: conflict limit (% limit of the smaller class)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.JenrlMaxConflictsWeaken' as name,
'0.001' as default_value,
'Joint Enrollment Constraint: limit weakening' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Comparator.ImportantStudentConflictWeight' as name,
'0.0' as default_value,
'Weight of important student conflict' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Comparator') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Comparator')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Comparator.ImportantHardStudentConflictWeight' as name,
'0.0' as default_value,
'Weight of important hard student conflict' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Comparator') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Comparator')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Placement.NrImportantStudConfsWeight1' as name,
'0.0' as default_value,
'Important student conflict weight (level1)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Value') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Placement.NrImportantStudConfsWeight2' as name,
'%Comparator.ImportantStudentConflictWeight%' as default_value,
'Important student conflict weight (level2)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Value') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Placement.NrImportantStudConfsWeight3' as name,
'0.0' as default_value,
'Important student conflict weight (level3)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Value') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Placement.NrImportantHardStudConfsWeight1' as name,
'0.0' as default_value,
'Important hard student conflict weight (level 1)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Value') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Placement.NrImportantHardStudConfsWeight2' as name,
'%Comparator.ImportantHardStudentConflictWeight%' as default_value,
'Important hard student conflict weight (level 2)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Value') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Placement.NrImportantHardStudConfsWeight3' as name,
'0.0' as default_value,
'Important hard student conflict weight (level 3)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Value') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Exams.RoomSizeFactor' as name,
'1.10' as default_value,
'Excessive room size factor' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'ExamWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Exams.DistanceToStronglyPreferredRoomWeight' as name,
'0.0001' as default_value,
'Distance to strongly preferred room weight' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'ExamWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'ExamWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Exams.AdditionalCriteria' as name,
'net.sf.cpsolver.exam.criteria.additional.DistanceToStronglyPreferredRoom' as default_value,
'Additional Criteria (semicolon separated list of class names)' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Exam') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Exam')
</plsql>
<mysql into="GDIST">select uniqueid from %SCHEMA%.solver_parameter_group where name='Distance'</mysql>
<mysql into="ODIST">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GDIST%</mysql>
<mysql into="GGEN">select uniqueid from %SCHEMA%.solver_parameter_group where name='General'</mysql>
<mysql into="OGEN">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GGEN%</mysql>
<mysql into="GCMP">select uniqueid from %SCHEMA%.solver_parameter_group where name='Comparator'</mysql>
<mysql into="OCMP">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GCMP%</mysql>
<mysql into="GVAL">select uniqueid from %SCHEMA%.solver_parameter_group where name='Value'</mysql>
<mysql into="OVAL">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GVAL%</mysql>
<mysql into="GXW">select uniqueid from %SCHEMA%.solver_parameter_group where name='ExamWeights'</mysql>
<mysql into="OXW">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GXW%</mysql>
<mysql into="GEX">select uniqueid from %SCHEMA%.solver_parameter_group where name='Exam'</mysql>
<mysql into="OEX">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GEX%</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID% + 0, 'Distances.ComputeDistanceConflictsBetweenNonBTBClasses', 'false', 'Compute Distance Conflicts Between Non BTB Classes', 'boolean', %ODIST%, 1, %GDIST%),
(%ID% + 1, 'Instructor.InstructorLongTravelInMinutes', '30.0', 'Instructor Long Travel in Minutes (only when computing distances between non-BTB classes is enabled)', 'double', %ODIST% + 1, 1, %GDIST%),
(%ID% + 2, 'General.AutoPrecedence', 'Neutral', 'Automatic precedence constraint', 'enum(Required,Strongly Preferred,Preferred,Neutral)', %OGEN%, 1, %GGEN%),
(%ID% + 3, 'DiscouragedRoom.Unassignments2Weaken', '1000', 'Number of unassignments for the discouraged room constraint to weaken', 'integer', %OGEN% + 1, 1, %GGEN%),
(%ID% + 4, 'CurriculaCourseDemands.IncludeOtherStudents', 'true', 'Curriculum Course Demands: Include Other Students', 'boolean', %OGEN% + 2, 1, %GGEN%),
(%ID% + 5, 'General.AdditionalCriteria', 'net.sf.cpsolver.coursett.criteria.additional.ImportantStudentConflict;net.sf.cpsolver.coursett.criteria.additional.ImportantStudentHardConflict', 'Additional Criteria (semicolon separated list of class names)', 'text', %OGEN% + 3, 0, %GGEN%),
(%ID% + 6, 'General.PurgeInvalidPlacements', 'true', 'Purge invalid placements during the data load', 'boolean', %OGEN% + 4, 0, %GGEN%),
(%ID% + 7, 'CurriculumEnrollmentPriority.GroupMatch', '.*', 'Important Curriculum Groups (regexp matching the group name -- all courses of a matching group are marked as important)', 'text', %OGEN% + 5, 0, %GGEN%),
(%ID% + 8, 'Precedence.ConsiderDatePatterns', 'true', 'Precedence Constraint: consider date patterns', 'boolean', %OGEN% + 6, 1, %GGEN%),
(%ID% + 9, 'General.JenrlMaxConflicts', '1.0', 'Joint Enrollment Constraint: conflict limit (% limit of the smaller class)', 'double', %OGEN% + 7, 1, %GGEN%),
(%ID% +10, 'General.JenrlMaxConflictsWeaken', '0.001', 'Joint Enrollment Constraint: limit weakening', 'double', %OGEN% + 8, 1, %GGEN%),
(%ID% +11, 'Comparator.ImportantStudentConflictWeight', '0.0', 'Weight of important student conflict', 'double', %OCMP%, 1, %GCMP%),
(%ID% +12, 'Comparator.ImportantHardStudentConflictWeight', '0.0', 'Weight of important hard student conflict', 'double', %OCMP% + 1, 1, %GCMP%),
(%ID% +13, 'Placement.NrImportantStudConfsWeight1', '0.0', 'Important student conflict weight (level 1)', 'double', %OVAL%, 1, %GVAL%),
(%ID% +14, 'Placement.NrImportantStudConfsWeight2', '%Comparator.ImportantStudentConflictWeight%', 'Important student conflict weight (level 2)', 'double', %OVAL% + 1, 0, %GVAL%),
(%ID% +15, 'Placement.NrImportantStudConfsWeight3', '0.0', 'Important student conflict weight (level 3)', 'double', %OVAL% + 2, 0, %GVAL%),
(%ID% +16, 'Placement.NrImportantHardStudConfsWeight1', '0.0', 'Important hard student conflict weight (level 1)', 'double', %OVAL% + 3, 1, %GVAL%),
(%ID% +17, 'Placement.NrImportantHardStudConfsWeight2', '%Comparator.ImportantHardStudentConflictWeight%', 'Important hard student conflict weight (level 2)', 'double', %OVAL% + 4, 0, %GVAL%),
(%ID% +18, 'Placement.NrImportantHardStudConfsWeight3', '0.0', 'Important hard student conflict weight (level 3)', 'double', %OVAL% + 5, 0, %GVAL%),
(%ID% +19, 'Exams.RoomSizeFactor', '1.0', 'Excessive room size factor', 'double', %OXW%, 1, %GXW%),
(%ID% +20, 'Exams.DistanceToStronglyPreferredRoomWeight', '0.0', 'Distance to strongly preferred room weight', 'double', %OXW% + 1, 1, %GXW%),
(%ID% +21, 'Exams.AdditionalCriteria', 'net.sf.cpsolver.exam.criteria.additional.DistanceToStronglyPreferredRoom', 'Additional Criteria (semicolon separated list of class names)', 'text', %OEX%, 1, %GEX%)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<sql><![CDATA[
create table %SCHEMA%.param_dupl as
select d.uniqueid from %SCHEMA%.solver_parameter_def d where
(select count(*) from %SCHEMA%.solver_parameter_def x where x.name = d.name and x.solver_param_group_id = d.solver_param_group_id and x.uniqueid < d.uniqueId) > 0
]]></sql>
<sql>
delete from %SCHEMA%.solver_parameter_def where uniqueid in (select x.uniqueid from param_dupl x)
</sql>
<sql>
drop table %SCHEMA%.param_dupl
</sql>
<sql><![CDATA[
create table %SCHEMA%.param_ord_fix as
select d.uniqueid as param_id, (select count(*) from %SCHEMA%.solver_parameter_def x where x.solver_param_group_id = d.solver_param_group_id and (x.ord < d.ord or (x.ord = d.ord and x.uniqueid < d.uniqueid))) as new_ord
from %SCHEMA%.solver_parameter_def d order by d.solver_param_group_id, d.ord, d.uniqueid
]]></sql>
<sql>
update %SCHEMA%.solver_parameter_def set ord = (select new_ord from %SCHEMA%.param_ord_fix where param_id = uniqueid)
</sql>
<sql>
drop table %SCHEMA%.param_ord_fix
</sql>
</update>
<update version="115" date="05-Mar-2014" comment="Message Log">
<mysql>
create table %SCHEMA%.message_log (
uniqueid decimal(20,0) primary key not null,
time_stamp datetime not null,
log_level decimal(10,0) not null,
message longtext binary null,
logger varchar(255) not null,
thread varchar(100) null,
ndc longtext binary null,
exception longtext binary null
) engine = INNODB
</mysql>
<mysql>
create index idx_message_log on %SCHEMA%.message_log(time_stamp, log_level)
</mysql>
<plsql>
create table %SCHEMA%.message_log (
uniqueid number(20,0) constraint nn_message_log_id not null,
time_stamp timestamp constraint nn_message_log_ts not null,
log_level decimal(10,0) constraint nn_message_log_level not null,
message clob,
logger varchar2(255 char) constraint nn_message_log_logger not null,
thread varchar2(255 char),
ndc clob,
exception clob
)
</plsql>
<plsql>alter table %SCHEMA%.message_log add constraint pk_message_log primary key (uniqueid)</plsql>
<plsql>
create index %SCHEMA%.idx_message_log on %SCHEMA%.message_log(time_stamp, log_level)
</plsql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<mysql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%ID%, 'Message Log', 'Display message log', 'select\n timeStamp as Time,\n (case level when 50000 then \'<font color=\"red\">Fatal</font>\' when 40000 then \'<font color=\"red\">Error</font>\' when 30000 then \'<font color=\"orange\">Warning</font>\' when 20000 then \'Info\' when 10000 then \'Debug\' else \'Other\' end) as Level,\n logger as Logger,\n (case when exception is null then message when message is null then exception else (message || \'\\\\n\' || exception) end) as Message,\n (case when ndc is null then thread else (thread || \'\\\\n\' || ndc) end) as Context\nfrom MessageLog order by timeStamp desc', 16),
(%ID% + 1, 'Query Log', 'Display query log', 'select\n m.lastName || \' \' || m.firstName as User,\n case\n when q.uri like \'%.gwt: %\' then substring(q.uri, instr(q.uri, \':\') + 1)\n else q.uri end as Query,\n case\n when q.uri like \'%.gwt: %\' and length(q.query) <= 165 + instr(q.query, \'org.unitime.timetable.gwt.services.\')\n then substring(q.query, instr(q.query, \'org.unitime.timetable.gwt.services.\') + 35)\n when q.uri like \'%.gwt: %\'\n then (substring(substring(q.query, instr(q.query, \'org.unitime.timetable.gwt.services.\') + 35), 1, 130) || \'...\')\n when q.query is null or length(q.query) < 130 then q.query\n else (substring(q.query, 1, 130) || \'...\') end as Parameters,\n q.timeStamp as Time_Stamp,\n q.timeSpent / 1000.0 as Time\nfrom QueryLog q, TimetableManager m\nwhere \n q.uid = m.externalUniqueId and q.uri not like \'menu.gwt%\'\norder by q.timeStamp desc',16)
]]></mysql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Message Log', 'Display message log', 'select timeStamp as Time, (case level when 50000 then ''<font color="red">Fatal</font>'' when 40000 then ''<font color="red">Error</font>'' when 30000 then ''<font color="orange">Warning</font>'' when 20000 then ''Info'' when 10000 then ''Debug'' else ''Other'' end) as Level, logger as Logger, (case when exception is null then to_char(message) when message is null then to_char(exception) else (to_char(message) || ''\n'' || to_char(exception)) end) as Message, (case when ndc is null then thread else (thread || ''\n'' || to_char(ndc)) end) as Context from MessageLog order by timeStamp desc', 16)
]]></plsql>
<plsql><![CDATA[
insert into %SCHEMA%.saved_hql (uniqueid, name, description, query, type) values
(%SCHEMA%.pref_group_seq.nextval, 'Query Log', 'Display query log', 'select m.lastName || '' '' || m.firstName as User, case when q.uri like ''%.gwt: %'' then substring(q.uri, instr(q.uri, '':'') + 1) else q.uri end as Query, case when q.uri like ''%.gwt: %'' and length(q.query) <= 130 + instr(q.query, ''|'', 1, 7) then substring(q.query, instr(q.query, ''|'', 1, 7) + 1, length(q.query) - instr(q.query, ''|'', 1, 7) - 3) when q.uri like ''%.gwt: %'' then (substring(q.query, instr(q.query, ''|'', 1, 7) + 1, 130) || ''...'') when q.query is null or length(q.query) < 130 then q.query else (substring(q.query, 1, 130) || ''...'') end as Parameters, q.timeStamp as Time_Stamp, q.timeSpent / 1000.0 as Time from QueryLog q, TimetableManager m where q.uid = m.externalUniqueId and q.uri not like ''menu.gwt%'' order by q.timeStamp desc',16)
]]></plsql>
</update>
<update version="116" date="25-Mar-2013" comment="Scripts">
<mysql>
create table %SCHEMA%.script (
uniqueid decimal(20,0) primary key not null,
name varchar(128) not null,
description varchar(1024) null,
engine varchar(32) not null,
permission varchar(128) null,
script longtext binary not null
) engine = INNODB
</mysql>
<mysql>
create table %SCHEMA%.script_parameter (
script_id decimal(20,0) not null,
name varchar(128) not null,
label varchar(256) null,
type varchar(2048) not null,
default_value varchar(2048) null,
primary key (script_id, name)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.script (
uniqueid number(20,0) constraint nn_script_id not null,
name varchar2(128 char) constraint nn_script_name not null,
description varchar2(1024 char),
engine varchar2(32 char) constraint nn_script_engine not null,
permission varchar2(128 char),
script clob
)
</plsql>
<plsql>alter table %SCHEMA%.script add constraint pk_script primary key (uniqueid)</plsql>
<plsql>
create table %SCHEMA%.script_parameter (
script_id number(20,0) constraint nn_script_param_id not null,
name varchar2(128 char) constraint nn_script_param_name not null,
label varchar2(256 char),
type varchar2(2048 char) constraint nn_script_param_type not null,
default_value varchar2(2048 char)
)
</plsql>
<plsql>alter table %SCHEMA%.script_parameter add constraint pk_script_parameter primary key (script_id, name)</plsql>
<sql>
alter table %SCHEMA%.script_parameter add constraint fk_script_parameter foreign key (script_id) references %SCHEMA%.script(uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ScriptEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'PermissionEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'Scripts'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'Permissions'
</sql>
</update>
<update version="117" date="27-Mar-2013" comment="Session Properties">
<mysql>
create table %SCHEMA%.session_config (
session_id decimal(20,0) not null,
name varchar(255) not null,
value varchar(4000) null,
description varchar(500) null,
primary key (session_id, name)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.session_config (
session_id number(20,0) constraint nn_session_config_id not null,
name varchar2(255 char) constraint nn_session_config_name not null,
value varchar2(4000 char),
description varchar2(500 char)
)
</plsql>
<plsql>alter table %SCHEMA%.session_config add constraint pk_session_config primary key (session_id, name)</plsql>
<mysql>
alter table %SCHEMA%.application_config modify description varchar(500)
</mysql>
<plsql>
alter table %SCHEMA%.application_config modify description varchar2(500 char)
</plsql>
<sql>
alter table %SCHEMA%.session_config add constraint fk_session_config foreign key (session_id) references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
</update>
<update version="118" date="1-Apr-2013" comment="Event Note More Meetings">
<plsql>alter table %SCHEMA%.event_note add new_meetings clob</plsql>
<plsql>update %SCHEMA%.event_note set new_meetings = meetings</plsql>
<plsql>alter table %SCHEMA%.event_note drop column meetings</plsql>
<plsql>alter table %SCHEMA%.event_note rename column new_meetings to meetings</plsql>
<mysql>alter table %SCHEMA%.event_note modify meetings longtext binary null</mysql>
</update>
<update version="119" date="24-Apr-2013" comment="Delete Unused Columns">
<sql>alter table %SCHEMA%.subject_area drop column short_title</sql>
<sql>alter table %SCHEMA%.subject_area drop column schedule_book_only</sql>
<sql>alter table %SCHEMA%.subject_area drop column pseudo_subject_area</sql>
<sql>alter table %SCHEMA%.academic_area drop column short_title</sql>
</update>
<update version="120" date="29-Apr-2013" comment="Room Sharing Note">
<plsql>alter table %SCHEMA%.room add share_note varchar2(2048 char)</plsql>
<plsql>alter table %SCHEMA%.non_university_location add share_note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.room add share_note varchar(2048) binary null</mysql>
<mysql>alter table %SCHEMA%.non_university_location add share_note varchar(2048) binary null</mysql>
</update>
<update version="121" date="15-May-2013" comment="Event Expiration Date">
<plsql>alter table %SCHEMA%.event add expiration_date date</plsql>
<mysql>alter table %SCHEMA%.event add expiration_date date null</mysql>
</update>
<update version="122" date="6-Jun-2013" comment="Change Password Permission">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ChangePassword'
from %SCHEMA%.roles r where r.reference != 'Anonymous'
</sql>
</update>
<update version="123" date="10-Jun-2013" comment="Clear Hibernate Cache Permission">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ClearHibernateCache'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'TestHQL'
</sql>
</update>
<update version="124" date="03-Jul-2013" comment="Instructor Note">
<mysql>alter table %SCHEMA%.departmental_instructor modify note varchar(2048)</mysql>
<plsql>alter table %SCHEMA%.departmental_instructor modify note varchar2(2048 char)</plsql>
</update>
<update version="125" date="15-Jul-2013" comment="Solution Export XML">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ExaminationSolutionExportXml'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'SolverSolutionExportXml'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSectioningSolutionExportXml'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'SolverSolutionExportXml'
</sql>
</update>
<update version="126" date="23-Jul-2013" comment="Meeting Overlaps Index">
<mysql onFail="next">
create index idx_meeting_overlap on %SCHEMA%.meeting(meeting_date, start_period, stop_period, location_perm_id, approval_status)
</mysql>
<plsql onFail="next">
create index %SCHEMA%.idx_meeting_overlap on %SCHEMA%.meeting(meeting_date, start_period, stop_period, location_perm_id, approval_status)
</plsql>
</update>
<update version="127" date="16-Aug-2013" comment="Student Accommodations">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentAccommodations'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'StudentGroups'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentAccommodationEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'StudentGroupEdit'
</sql>
</update>
<update version="128" date="8-Oct-2013" comment="Application Config Edit Permission">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ApplicationConfigEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'ApplicationConfig'
</sql>
</update>
<update version="129" date="17-Oct-2013" comment="Allow No Role Status Type">
<sql><![CDATA[
update %SCHEMA%.dept_status_type set status = status + 524288 where apply = 1 and status > 0 and status < 262144
]]></sql>
<sql>update %SCHEMA%.dept_status_type set status = 1048576 where apply = 1 and status = 0</sql>
</update>
<update version="130" date="13-Nov-2013" comment="Inherit Instructor Preferences Toggle">
<mysql>alter table %SCHEMA%.department add instructor_pref int(1) null default 1</mysql>
<plsql>alter table %SCHEMA%.department add instructor_pref number(1) default 1</plsql>
<sql>update %SCHEMA%.department set instructor_pref = 0 where external_manager = 1</sql>
</update>
<update version="131" date="16-Dec-2013" comment="Cluster Discovery">
<mysql>
create table %SCHEMA%.cluster_discovery (
own_address varchar(200) not null,
cluster_name varchar(200) not null,
ping_data longblob null,
primary key (own_address, cluster_name)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.cluster_discovery (
own_address varchar2(200 char) constraint nn_cluster_address not null,
cluster_name varchar2(200 char) constraint nn_cluster_name not null,
ping_data blob
)
</plsql>
<plsql>alter table %SCHEMA%.cluster_discovery add constraint pk_cluster_discovery primary key (own_address, cluster_name)</plsql>
</update>
<update version="132" date="26-Fev-2014" comment="New Solver Parameters">
<plsql>
insert into %SCHEMA%.solver_parameter_group
(uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'InstructorLunch', 'Instructor Lunch Breaks', '', -1, 0)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x )
where g.name='InstructorLunch'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_group
(uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'Curriculum', 'Curriculum Conversion', '', -1, 0)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x )
where g.name='Curriculum'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'InstructorLunch.Enabled' as name,
'false' as default_value,
'Enable Instructor Lunch Breaks' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'InstructorLunch') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstructorLunch')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'InstructorLunch.Weight' as name,
'0.18' as default_value,
'Weight' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'InstructorLunch') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstructorLunch')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'InstructorLunch.StartSlot' as name,
'132' as default_value,
'Start slot' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'InstructorLunch') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstructorLunch')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'InstructorLunch.EndSlot' as name,
'162' as default_value,
'End slot' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'InstructorLunch') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstructorLunch')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'InstructorLunch.Length' as name,
'6' as default_value,
'Minum break length (in slots)' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'InstructorLunch') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstructorLunch')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'InstructorLunch.Multiplier' as name,
'1.15' as default_value,
'Violations multiplication factor' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'InstructorLunch') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstructorLunch')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'InstructorLunch.InfoShowViolations' as name,
'false' as default_value,
'Show violations in the solution info' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'InstructorLunch') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstructorLunch')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Curriculum.Phases' as name,
'HC,Deluge' as default_value,
'Search Phases' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Curriculum') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Curriculum')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Curriculum.HC.MaxIdle' as name,
'1000' as default_value,
'Hill Climber: max idle iterations' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Curriculum') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Curriculum')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Curriculum.Deluge.Factor' as name,
'0.999999' as default_value,
'Great Deluge: cooling rate' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Curriculum') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Curriculum')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Curriculum.Deluge.UpperBound' as name,
'1.25' as default_value,
'Great Deluge: upper bound' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Curriculum') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Curriculum')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Curriculum.Deluge.LowerBound' as name,
'0.75' as default_value,
'Great Deluge: lower bound' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Curriculum') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Curriculum')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Global.LoadStudentInstructorConflicts' as name,
'false' as default_value,
'Load student instructor conflicts' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.AutomaticHierarchicalConstraints' as name,
'' as default_value,
'Automatic hierarchical constraints (comma separated list of a preference, a constraint name and optional date pattern)' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.CompleteSolutionFixInterval' as name,
'1' as default_value,
'Fix complete solution interval (min number of iteration from the previous best solution)' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.IncompleteSolutionFixInterval' as name,
'5000' as default_value,
'Fix incomplete solution interval (min number of non improving iterations, -1 to disable' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.SearchAlgorithm' as name,
'Default' as default_value,
'Search Algorithm' as description,
'enum(Default,Experimental)' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'General.DeterministicStudentSectioning' as name,
'false' as default_value,
'Deterministic student sectioning' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Comparator.RoomSizeWeight' as name,
'0.001' as default_value,
'Excessive room size weight' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Comparator') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Comparator')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Comparator.RoomSizeFactor' as name,
'1.05' as default_value,
'Excessive room size factor' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Comparator') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Comparator')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'FlexibleConstraint.Weight' as name,
'%Comparator.ContrPreferenceWeight%' as default_value,
'Flexible constraint weight' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Comparator') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Comparator')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Construction.Class' as name,
'net.sf.cpsolver.coursett.heuristics.NeighbourSelectionWithSuggestions' as default_value,
'Construction: heuristics' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Construction.UntilComplete' as name,
'false' as default_value,
'Construction: use construction heuristic untill a complete solution is found' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Search.GreatDeluge' as name,
'true' as default_value,
'Use great deluge (instead of simulated annealing)' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'HillClimber.MaxIdle' as name,
'10000' as default_value,
'Hill Climber: max idle iterations' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'HillClimber.AdditionalNeighbours' as name,
'net.sf.cpsolver.coursett.neighbourhoods.TimeChange;net.sf.cpsolver.coursett.neighbourhoods.RoomChange;net.sf.cpsolver.coursett.neighbourhoods.TimeSwap@0.01;net.sf.cpsolver.coursett.neighbourhoods.RoomSwap@0.01' as default_value,
'Hill Climber: Additional neighbourhoods' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'GreatDeluge.CoolRate' as name,
'0.9999999' as default_value,
'Great Deluge: cooling rate' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'GreatDeluge.UpperBoundRate' as name,
'1.05' as default_value,
'Great Deluge: upper bound' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'GreatDeluge.LowerBoundRate' as name,
'0.95' as default_value,
'Great Deluge: lower bound' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'GreatDeluge.AdditionalNeighbours' as name,
'net.sf.cpsolver.coursett.neighbourhoods.TimeChange;net.sf.cpsolver.coursett.neighbourhoods.RoomChange;net.sf.cpsolver.coursett.neighbourhoods.TimeSwap@0.01;net.sf.cpsolver.coursett.neighbourhoods.RoomSwap@0.01' as default_value,
'Great Deluge: Additional neighbourhoods' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.InitialTemperature' as name,
'1.5' as default_value,
'Simulated Annealing: initial temperature' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.TemperatureLength' as name,
'2500' as default_value,
'Simulated Annealing: temperature length (number of iterations between temperature decrements)' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.CoolingRate' as name,
'0.95' as default_value,
'Simulated Annealing: cooling rate' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.ReheatLengthCoef' as name,
'5.0' as default_value,
'Simulated Annealing: temperature re-heat length coefficient' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.ReheatRate' as name,
'-1' as default_value,
'Simulated Annealing: temperature re-heating rate (default (1/coolingRate)^(reheatLengthCoef*1.7))' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.RestoreBestLengthCoef' as name,
'-1' as default_value,
'Simulated Annealing: restore best length coefficient (default reheatLengthCoef^2)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.StochasticHC' as name,
'false' as default_value,
'Simulated Annealing: stochastic search acceptance' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.RelativeAcceptance' as name,
'true' as default_value,
'Simulated Annealing: relative acceptance (compare with current solution, not the best one)' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'SimulatedAnnealing.AdditionalNeighbours' as name,
'net.sf.cpsolver.coursett.neighbourhoods.TimeChange;net.sf.cpsolver.coursett.neighbourhoods.RoomChange;net.sf.cpsolver.coursett.neighbourhoods.TimeSwap@0.01;net.sf.cpsolver.coursett.neighbourhoods.RoomSwap@0.01' as default_value,
'Simulated Annealing: Additional neighbourhoods' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Neighbour') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Neighbour')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Reservation.CanAssignOverTheLimit' as name,
'true' as default_value,
'Allow over limit for individual reservations' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Placement.FlexibleConstrPreferenceWeight1' as name,
'%Placement.ConstrPreferenceWeight1%' as default_value,
'Flexible constraint preference weight (level 1)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Value') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Placement.FlexibleConstrPreferenceWeight2' as name,
'%FlexibleConstraint.Weight%' as default_value,
'Flexible constraint preference weight (level 2)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Value') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'Placement.FlexibleConstrPreferenceWeight3' as name,
'%Placement.ConstrPreferenceWeight3%' as default_value,
'Flexible constraint preference weight (level 3)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'Value') as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'Value')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def
(select
solver_parameter_def_seq.nextval as uniqueid,
'ClassWeightProvider.Class' as name,
'Default Class Weights' as default_value,
'Class Weights' as description,
'enum(Default Class Weights,Average Hours A Week Class Weights)' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'General') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'General')
</plsql>
<mysql into="GGEN">select uniqueid from %SCHEMA%.solver_parameter_group where name='General'</mysql>
<mysql into="OGEN">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GGEN%</mysql>
<mysql into="GCMP">select uniqueid from %SCHEMA%.solver_parameter_group where name='Comparator'</mysql>
<mysql into="OCMP">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GCMP%</mysql>
<mysql into="GN">select uniqueid from %SCHEMA%.solver_parameter_group where name='Neighbour'</mysql>
<mysql into="ON">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GN%</mysql>
<mysql into="GSCT">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSct'</mysql>
<mysql into="OSCT">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GSCT%</mysql>
<mysql into="GVAL">select uniqueid from %SCHEMA%.solver_parameter_group where name='Value'</mysql>
<mysql into="OVAL">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GVAL%</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_group</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, ord, param_type) values
(%ID% + 0, 'InstructorLunch', 'Instructor Lunch Breaks', %ORD%, 0),
(%ID% + 1, 'Curriculum', 'Curriculum Conversion', %ORD% + 1, 0)
</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID% + 02, 'InstructorLunch.Enabled', 'false', 'Enable Instructor Lunch Breaks', 'boolean', 0, 1, %ID%),
(%ID% + 03, 'InstructorLunch.Weight', '0.18', 'Weight', 'double', 1, 1, %ID%),
(%ID% + 04, 'InstructorLunch.StartSlot', '132', 'Start slot', 'integer', 2, 1, %ID%),
(%ID% + 05, 'InstructorLunch.EndSlot', '162', 'End slot', 'integer', 3, 1, %ID%),
(%ID% + 06, 'InstructorLunch.Length', '6', 'Minum break length (in slots)', 'integer', 4, 1, %ID%),
(%ID% + 07, 'InstructorLunch.Multiplier', '1.15', 'Violations multiplication factor', 'double', 5, 1, %ID%),
(%ID% + 08, 'InstructorLunch.InfoShowViolations', 'false', 'Show violations in the solution info', 'boolean', 6, 1, %ID%),
(%ID% + 09, 'Curriculum.Phases', 'HC,Deluge', 'Search Phases', 'text', 0, 0, %ID% + 1),
(%ID% + 10, 'Curriculum.HC.MaxIdle', '1000', 'Hill Climber: max idle iterations', 'integer', 1, 1, %ID% + 1),
(%ID% + 11, 'Curriculum.Deluge.Factor', '0.999999', 'Great Deluge: cooling rate', 'double', 2, 1, %ID% + 1),
(%ID% + 12, 'Curriculum.Deluge.UpperBound', '1.25', 'Great Deluge: upper bound', 'double', 3, 1, %ID% + 1),
(%ID% + 13, 'Curriculum.Deluge.LowerBound', '0.75', 'Great Deluge: lower bound', 'double', 4, 1, %ID% + 1),
(%ID% + 14, 'Global.LoadStudentInstructorConflicts', 'false', 'Load student instructor conflicts', 'boolean', %OGEN%, 1, %GGEN%),
(%ID% + 15, 'General.AutomaticHierarchicalConstraints', '', 'Automatic hierarchical constraints (comma separated list of a preference, a constraint name and optional date pattern)', 'text', %OGEN% + 1, 1, %GGEN%),
(%ID% + 16, 'General.CompleteSolutionFixInterval', '1', 'Fix complete solution interval (min number of iteration from the previous best solution)', 'integer', %OGEN% + 2, 0, %GGEN%),
(%ID% + 17, 'General.IncompleteSolutionFixInterval', '5000', 'Fix incomplete solution interval (min number of non improving iterations, -1 to disable)', 'integer', %OGEN% + 3, 0, %GGEN%),
(%ID% + 18, 'General.SearchAlgorithm', 'Default', 'Search Algorithm', 'enum(Default,Experimental)', %OGEN% + 4, 1, %GGEN%),
(%ID% + 19, 'General.DeterministicStudentSectioning', 'false', 'Deterministic student sectioning', 'boolean', %OGEN% + 5, 1, %GGEN%),
(%ID% + 20, 'Comparator.RoomSizeWeight', '0.001', 'Excessive room size weight', 'double', %OCMP%, 1, %GCMP%),
(%ID% + 21, 'Comparator.RoomSizeFactor', '1.05', 'Excessive room size factor', 'double', %OCMP% + 1, 1, %GCMP%),
(%ID% + 22, 'FlexibleConstraint.Weight', '%Comparator.ContrPreferenceWeight%', 'Flexible constraint weight', 'double', %OCMP% + 2, 0, %GCMP%),
(%ID% + 23, 'Construction.Class', 'net.sf.cpsolver.coursett.heuristics.NeighbourSelectionWithSuggestions', 'Construction: heuristics', 'text', %ON%, 0, %GN%),
(%ID% + 24, 'Construction.UntilComplete', 'false', 'Construction: use construction heuristic untill a complete solution is found', 'boolean', %ON% + 1, 0, %GN%),
(%ID% + 25, 'Search.GreatDeluge', 'true', 'Use great deluge (instead of simulated annealing)', 'boolean', %ON% + 2, 1, %GN%),
(%ID% + 26, 'HillClimber.MaxIdle', '10000', 'Hill Climber: max idle iterations', 'integer', %ON% + 3, 1, %GN%),
(%ID% + 27, 'HillClimber.AdditionalNeighbours', 'net.sf.cpsolver.coursett.neighbourhoods.TimeChange;net.sf.cpsolver.coursett.neighbourhoods.RoomChange;net.sf.cpsolver.coursett.neighbourhoods.TimeSwap@0.01;net.sf.cpsolver.coursett.neighbourhoods.RoomSwap@0.01',
'Hill Climber: Additional neighbourhoods', 'text', %ON% + 4, 0, %GN%),
(%ID% + 28, 'GreatDeluge.CoolRate', '0.9999999', 'Great Deluge: cooling rate', 'double', %ON% + 5, 1, %GN%),
(%ID% + 29, 'GreatDeluge.UpperBoundRate', '1.05', 'Great Deluge: upper bound', 'double', %ON% + 6, 1, %GN%),
(%ID% + 30, 'GreatDeluge.LowerBoundRate', '0.95', 'Great Deluge: lower bound', 'double', %ON% + 7, 1, %GN%),
(%ID% + 31, 'GreatDeluge.AdditionalNeighbours', 'net.sf.cpsolver.coursett.neighbourhoods.TimeChange;net.sf.cpsolver.coursett.neighbourhoods.RoomChange;net.sf.cpsolver.coursett.neighbourhoods.TimeSwap@0.01;net.sf.cpsolver.coursett.neighbourhoods.RoomSwap@0.01',
'Great Deluge: Additional neighbourhoods', 'text', %ON% + 8, 0, %GN%),
(%ID% + 32, 'SimulatedAnnealing.InitialTemperature', '1.5', 'Simulated Annealing: initial temperature', 'double', %ON% + 9, 1, %GN%),
(%ID% + 33, 'SimulatedAnnealing.TemperatureLength', '2500', 'Simulated Annealing: temperature length (number of iterations between temperature decrements)', 'integer', %ON% + 10, 1, %GN%),
(%ID% + 34, 'SimulatedAnnealing.CoolingRate', '0.95', 'Simulated Annealing: cooling rate', 'double', %ON% + 11, 1, %GN%),
(%ID% + 35, 'SimulatedAnnealing.ReheatLengthCoef', '5.0', 'Simulated Annealing: temperature re-heat length coefficient', 'double', %ON% + 12, 1, %GN%),
(%ID% + 36, 'SimulatedAnnealing.ReheatRate', '-1', 'Simulated Annealing: temperature re-heating rate (default (1/coolingRate)^(reheatLengthCoef*1.7))', 'double', %ON% + 13, 0, %GN%),
(%ID% + 37, 'SimulatedAnnealing.RestoreBestLengthCoef', '-1', 'Simulated Annealing: restore best length coefficient (default reheatLengthCoef^2)', 'double', %ON% + 14, 0, %GN%),
(%ID% + 38, 'SimulatedAnnealing.StochasticHC', 'false', 'Simulated Annealing: stochastic search acceptance', 'boolean', %ON% + 15, 0, %GN%),
(%ID% + 39, 'SimulatedAnnealing.RelativeAcceptance', 'true', 'Simulated Annealing: relative acceptance (compare with current solution, not the best one)', 'boolean', %ON% + 16, 0, %GN%),
(%ID% + 40, 'SimulatedAnnealing.AdditionalNeighbours', 'net.sf.cpsolver.coursett.neighbourhoods.TimeChange;net.sf.cpsolver.coursett.neighbourhoods.RoomChange;net.sf.cpsolver.coursett.neighbourhoods.TimeSwap@0.01;net.sf.cpsolver.coursett.neighbourhoods.RoomSwap@0.01',
'Simulated Annealing: Additional neighbourhoods', 'text', %ON% + 17, 0, %GN%),
(%ID% + 41, 'Reservation.CanAssignOverTheLimit', 'true', 'Allow over limit for individual reservations', 'boolean', %OSCT%, 1, %GSCT%),
(%ID% + 42, 'Placement.FlexibleConstrPreferenceWeight1', '%Placement.ConstrPreferenceWeight1%', 'Flexible constraint preference weight (level 1)', 'double', %OVAL%, 0, %GVAL%),
(%ID% + 43, 'Placement.FlexibleConstrPreferenceWeight2', '%FlexibleConstraint.Weight%', 'Flexible constraint preference weight (level 2)', 'double', %OVAL% + 1, 0, %GVAL%),
(%ID% + 44, 'Placement.FlexibleConstrPreferenceWeight3', '%Placement.ConstrPreferenceWeight3%', 'Flexible constraint preference weight (level 3)', 'double', %OVAL% + 2, 0, %GVAL%),
(%ID% + 45, 'ClassWeightProvider.Class', 'Default Class Weights', 'Class Weights', 'enum(Default Class Weights,Average Hours A Week Class Weights)', %OGEN% + 6, 1, %GGEN%)
</mysql>
<sql>update %SCHEMA%.solver_parameter_def set visible = 0, default_value = 'false', description = 'Load last-like course demands (deprecated)' where name = 'Load.IncludeLastLikeStudents'</sql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<sql><![CDATA[
create table %SCHEMA%.param_dupl as
select d.uniqueid from %SCHEMA%.solver_parameter_def d where
(select count(*) from %SCHEMA%.solver_parameter_def x where x.name = d.name and x.solver_param_group_id = d.solver_param_group_id and x.uniqueid < d.uniqueId) > 0
]]></sql>
<sql>
delete from %SCHEMA%.solver_parameter_def where uniqueid in (select x.uniqueid from param_dupl x)
</sql>
<sql>
drop table %SCHEMA%.param_dupl
</sql>
<sql><![CDATA[
create table %SCHEMA%.param_ord_fix as
select d.uniqueid as param_id, (select count(*) from %SCHEMA%.solver_parameter_def x where x.solver_param_group_id = d.solver_param_group_id and (x.ord < d.ord or (x.ord = d.ord and x.uniqueid < d.uniqueid))) as new_ord
from %SCHEMA%.solver_parameter_def d order by d.solver_param_group_id, d.ord, d.uniqueid
]]></sql>
<sql>
update %SCHEMA%.solver_parameter_def set ord = (select new_ord from %SCHEMA%.param_ord_fix where param_id = uniqueid)
</sql>
<sql>
drop table %SCHEMA%.param_ord_fix
</sql>
</update>
<update version="133" date="18-Mar-2014" comment="CPSolver 1.3">
<sql>
update %SCHEMA%.solver_parameter_def set default_value=replace(default_value,'net.sf.cpsolver','org.cpsolver') where default_value like 'net.sf.cpsolver%'
</sql>
<sql>
update %SCHEMA%.solver_parameter set value=replace(value,'net.sf.cpsolver','org.cpsolver') where value like 'net.sf.cpsolver%'
</sql>
</update>
<update version="134" date="4-Apr-2014" comment="Cluster Discovery Time Stamp">
<mysql>alter table %SCHEMA%.cluster_discovery add time_stamp datetime</mysql>
<mysql>update %SCHEMA%.cluster_discovery set time_stamp = now()</mysql>
<plsql>alter table %SCHEMA%.cluster_discovery add time_stamp date</plsql>
<plsql>update %SCHEMA%.cluster_discovery set time_stamp = CURRENT_TIMESTAMP</plsql>
</update>
<update version="135" date="17-Apr-2014" comment="Course Credit">
<mysql>alter table %SCHEMA%.course_credit_unit_config add course_id decimal(20,0)</mysql>
<plsql>alter table %SCHEMA%.course_credit_unit_config add course_id number(20,0)</plsql>
<sql>update %SCHEMA%.course_credit_unit_config g set g.course_id = (select c.uniqueid from %SCHEMA%.course_offering c where c.is_control = 1 and c.instr_offr_id = g.instr_offr_id) where g.instr_offr_id is not null</sql>
<sql>alter table %SCHEMA%.course_credit_unit_config add constraint fk_crs_crdt_unit_cfg_crs_own foreign key (course_id) references %SCHEMA%.course_offering(uniqueid)</sql>
<mysql>alter table %SCHEMA%.course_credit_unit_config drop foreign key fk_crs_crdt_unit_cfg_io_own</mysql>
<plsql>alter table %SCHEMA%.course_credit_unit_config drop constraint fk_crs_crdt_unit_cfg_io_own</plsql>
<sql>alter table %SCHEMA%.course_credit_unit_config drop column instr_offr_id</sql>
</update>
<update version="136" date="24-Apr-2014" comment="Room Pictures">
<mysql>
create table %SCHEMA%.room_picture (
uniqueid decimal(20,0) not null primary key,
location_id decimal(20,0) not null,
data_file longblob not null,
file_name varchar(260) binary not null,
content_type varchar(260) binary not null,
time_stamp datetime not null
) engine = INNODB
</mysql>
<mysql>
create table %SCHEMA%.location_picture (
uniqueid decimal(20,0) not null primary key,
location_id decimal(20,0) not null,
data_file longblob not null,
file_name varchar(260) binary not null,
content_type varchar(260) binary not null,
time_stamp datetime not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.room_picture (
uniqueid number(20,0) constraint nn_room_pic_id not null,
location_id number(20,0) constraint nn_room_pic_loc not null,
data_file blob constraint nn_room_pic_file not null,
file_name varchar2(260 char) constraint nn_room_pic_name not null,
content_type varchar2(260 char) constraint nn_room_pic_type not null,
time_stamp date constraint nn_room_pic_time not null
)
</plsql>
<plsql>alter table %SCHEMA%.room_picture add constraint pk_room_picture primary key (uniqueid)</plsql>
<plsql>
create table %SCHEMA%.location_picture (
uniqueid number(20,0) constraint nn_loc_pic_id not null,
location_id number(20,0) constraint nn_loc_pic_loc not null,
data_file blob constraint nn_loc_pic_file not null,
file_name varchar2(260 char) constraint nn_loc_pic_name not null,
content_type varchar2(260 char) constraint nn_loc_pic_type not null,
time_stamp date constraint nn_loc_pic_time not null
)
</plsql>
<plsql>alter table %SCHEMA%.location_picture add constraint pk_location_picture primary key (uniqueid)</plsql>
<sql>
alter table %SCHEMA%.room_picture
add constraint fk_room_picture foreign key (location_id)
references %SCHEMA%.room (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.location_picture
add constraint fk_location_picture foreign key (location_id)
references %SCHEMA%.non_university_location (uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'RoomEditChangePicture'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'RoomEditChangeCapacity'
</sql>
</update>
<update version="137" date="13-Jun-2014" comment="Course Credit FKey Fix">
<mysql>alter table %SCHEMA%.course_credit_unit_config drop foreign key fk_crs_crdt_unit_cfg_crs_own</mysql>
<plsql>alter table %SCHEMA%.course_credit_unit_config drop constraint fk_crs_crdt_unit_cfg_crs_own</plsql>
<sql>alter table %SCHEMA%.course_credit_unit_config add constraint fk_crs_crdt_unit_cfg_crs_own foreign key (course_id) references %SCHEMA%.course_offering(uniqueid) on delete cascade</sql>
</update>
<update version="138" date="22-Aug-2014" comment="Additional Student Scheduling Permissions">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingMassCancel'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'StudentSchedulingAdmin'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingEmailStudent'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'StudentSchedulingAdmin'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingChangeStudentStatus'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'StudentSchedulingAdmin'
</sql>
<sql>
update %SCHEMA%.sectioning_status set status = 215 where reference = 'Enabled'
</sql>
<sql>
update %SCHEMA%.sectioning_status set status = 20 where reference = 'Disabled'
</sql>
<sql>
update %SCHEMA%.sectioning_status set status = 151 where reference = 'Not Available'
</sql>
<sql>
update %SCHEMA%.sectioning_status set status = 211 where reference = 'No Email'
</sql>
</update>
<update version="139" date="17-Sep-2014" comment="Reservation Override">
<mysql>
alter table %SCHEMA%.reservation add override_type bigint(10) null
</mysql>
<plsql>
alter table %SCHEMA%.reservation add override_type decimal(10,0)
</plsql>
</update>
<update version="140" date="31-Oct-2014" comment="CHAR">
<plsql>alter table %SCHEMA%.application_config modify name varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.course_credit_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_credit_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.course_credit_unit_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.course_credit_unit_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.course_credit_unit_type modify abbreviation varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.crse_credit_format modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.crse_credit_format modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.demand_offr_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.demand_offr_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.dept_status_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.dept_status_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.designator modify code varchar2(6 char)</plsql>
<plsql>alter table %SCHEMA%.distribution_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.distribution_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.distribution_type modify sequencing_required varchar2(1 char)</plsql>
<plsql>alter table %SCHEMA%.distribution_type modify description varchar2(2048 char)</plsql>
<plsql>alter table %SCHEMA%.distribution_type modify abbreviation varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.event_contact modify external_id varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.event_contact modify email varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.event_contact modify phone varchar2(25 char)</plsql>
<plsql>alter table %SCHEMA%.event_contact modify firstname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.event_contact modify middlename varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.event_contact modify lastname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.exam_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.exam_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.feature_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.feature_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.history modify subclass varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.offr_consent_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.offr_consent_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.offr_group modify name varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.offr_group modify description varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.position_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.position_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.rights modify value varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.roles modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.roles modify abbv varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.room_feature modify discriminator varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.room_type modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.room_type modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.sectioning_status modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.sectioning_status modify label varchar2(60 char)</plsql>
<plsql>alter table %SCHEMA%.solver_group modify name varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.solver_group modify abbv varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.solver_parameter_group modify condition varchar2(250 char)</plsql>
<plsql>alter table %SCHEMA%.sponsoring_organization modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.sponsoring_organization modify email varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.staff modify pos_code varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.standard_event_note modify reference varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.standard_event_note modify note varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.timetable_manager modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.timetable_manager modify first_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.timetable_manager modify middle_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.timetable_manager modify last_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.timetable_manager modify email_address varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.users modify username varchar2(15 char)</plsql>
<plsql>alter table %SCHEMA%.users modify password varchar2(25 char)</plsql>
<plsql>alter table %SCHEMA%.users modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.user_data modify external_uid varchar2(12 char)</plsql>
<plsql>alter table %SCHEMA%.user_data modify name varchar2(100 char)</plsql>
</update>
<update version="141" date="13-Nov-2014" comment="Academic Title">
<plsql>alter table %SCHEMA%.staff add acad_title varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.departmental_instructor add acad_title varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.event_contact add acad_title varchar2(50 char)</plsql>
<plsql>alter table %SCHEMA%.timetable_manager add acad_title varchar2(50 char)</plsql>
<mysql>alter table %SCHEMA%.staff add acad_title varchar(50) null</mysql>
<mysql>alter table %SCHEMA%.departmental_instructor add acad_title varchar(50) null</mysql>
<mysql>alter table %SCHEMA%.event_contact add acad_title varchar(50) null</mysql>
<mysql>alter table %SCHEMA%.timetable_manager add acad_title varchar(50) null</mysql>
<sql>update %SCHEMA%.settings set allowed_values = 'last-first,first-last,initial-last,last-initial,first-middle-last,short,title-first-middle-last,last-first-middle-title,title-initial-last,title-last-initial' where name = 'name'</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventCanEditAcademicTitle'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value like 'EventLookupContact'
</sql>
</update>
<update version="142" date="23-Mar-2015" comment="Date Pattern Number of Weeks">
<plsql>alter table %SCHEMA%.date_pattern add nr_weeks number(10,0)</plsql>
<mysql>alter table %SCHEMA%.date_pattern add nr_weeks bigint(10)</mysql>
</update>
<update version="143" date="27-Mar-2015" comment="Class Duration Type">
<plsql>
create table %SCHEMA%.duration_type (
uniqueid number(20,0) constraint nn_duration_uniqueid not null,
reference varchar2(20 char) constraint nn_duration_reference not null,
abbreviation varchar2(20 char) constraint nn_duration_abbv not null,
label varchar2(60 char) constraint nn_duration_label not null,
implementation varchar2(255 char) constraint nn_duration_impl not null,
parameter varchar2(200 char),
visible number(1) default 1 constraint nn_duration_visible not null
)
</plsql>
<plsql>alter table %SCHEMA%.duration_type add constraint pk_duration_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.duration_type (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
abbreviation varchar(20) not null,
label varchar(60) not null,
implementation varchar(255) not null,
parameter varchar(200),
visible int(1) not null default 1
) engine = INNODB
</mysql>
<plsql>alter table %SCHEMA%.instr_offering_config add duration_type_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.instr_offering_config add duration_type_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.instr_offering_config add constraint fk_ioconfig_durtype foreign key (duration_type_id)
references %SCHEMA%.duration_type (uniqueid) on delete set null
</sql>
<plsql>alter table %SCHEMA%.sessions add duration_type_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.sessions add duration_type_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.sessions add constraint fk_session_durtype foreign key (duration_type_id)
references %SCHEMA%.duration_type (uniqueid) on delete set null
</sql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.duration_type
(uniqueid, reference, abbreviation, label, implementation, parameter, visible) values
(%ID%+0, 'MIN_PER_WEEK', 'Mins', 'Minutes per Week', 'org.unitime.timetable.util.duration.MinutesPerWeek', null, 1),
(%ID%+1, 'WEEKLY_MIN', 'Wk Mins', 'Average Weekly Minutes', 'org.unitime.timetable.util.duration.WeeklyMinutes', null, 1),
(%ID%+2, 'SEMESTER_MIN', 'Sem Mins', 'Semester Minutes', 'org.unitime.timetable.util.duration.SemesterMinutes', null, 1),
(%ID%+3, 'SEMESTER_HRS', 'Sem Hrs', 'Semester Hours', 'org.unitime.timetable.util.duration.SemesterHours', '50', 1),
(%ID%+4, 'MEETING_MIN', 'Mtg Mins', 'Meeting Minutes', 'org.unitime.timetable.util.duration.MeetingMinutes', '0.95,1.10', 1),
(%ID%+5, 'MEETING_HRS', 'Mtg Hrs', 'Meeting Hours', 'org.unitime.timetable.util.duration.MeetingHours', '50,0.95,1.10', 1)
</mysql>
<mysql>
update %SCHEMA%.sessions set duration_type_id = %ID%
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<plsql>
insert into %SCHEMA%.duration_type
(uniqueid, reference, abbreviation, label, implementation, parameter, visible) values
(%SCHEMA%.ref_table_seq.nextval, 'MIN_PER_WEEK', 'Mins', 'Minutes per Week', 'org.unitime.timetable.util.duration.MinutesPerWeek', null, 1)
</plsql>
<plsql>update %SCHEMA%.sessions set duration_type_id = ref_table_seq.currval</plsql>
<plsql>
insert into %SCHEMA%.duration_type
(uniqueid, reference, abbreviation, label, implementation, parameter, visible) values
(%SCHEMA%.ref_table_seq.nextval, 'WEEKLY_MIN', 'Wk Mins', 'Average Weekly Minutes', 'org.unitime.timetable.util.duration.WeeklyMinutes', null, 1)
</plsql>
<plsql>
insert into %SCHEMA%.duration_type
(uniqueid, reference, abbreviation, label, implementation, parameter, visible) values
(%SCHEMA%.ref_table_seq.nextval, 'SEMESTER_MIN', 'Sem Mins', 'Semester Minutes', 'org.unitime.timetable.util.duration.SemesterMinutes', null, 1)
</plsql>
<plsql>
insert into %SCHEMA%.duration_type
(uniqueid, reference, abbreviation, label, implementation, parameter, visible) values
(%SCHEMA%.ref_table_seq.nextval, 'SEMESTER_HRS', 'Sem Hrs', 'Semester Hours', 'org.unitime.timetable.util.duration.SemesterHours', '50', 1)
</plsql>
<plsql>
insert into %SCHEMA%.duration_type
(uniqueid, reference, abbreviation, label, implementation, parameter, visible) values
(%SCHEMA%.ref_table_seq.nextval, 'MEETING_MIN', 'Mtg Mins', 'Meeting Minutes', 'org.unitime.timetable.util.duration.MeetingMinutes', '0.95,1.10', 1)
</plsql>
<plsql>
insert into %SCHEMA%.duration_type
(uniqueid, reference, abbreviation, label, implementation, parameter, visible) values
(%SCHEMA%.ref_table_seq.nextval, 'MEETING_HRS', 'Mtg Hrs', 'Meeting Hours', 'org.unitime.timetable.util.duration.MeetingHours', '50,0.95,1.10', 1)
</plsql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'DurationTypes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'DurationTypeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypeEdit'
</sql>
<sql>
insert into %SCHEMA%.preference_level(pref_id, pref_prolog, pref_name, uniqueid) values (8, 'N', 'Not Available', 8)
</sql>
<sql>alter table %SCHEMA%.date_pattern modify nr_weeks float</sql>
</update>
<update version="144" date="30-Mar-2015" comment="Examination Status">
<plsql>
create table %SCHEMA%.exam_status (
session_id number(20,0) constraint nn_xstatus_session not null,
type_id number(20,0) constraint nn_xstatus_type not null,
status_id number(20,0)
)
</plsql>
<plsql>alter table %SCHEMA%.exam_status add constraint pk_exam_status primary key (session_id, type_id)</plsql>
<mysql>
create table %SCHEMA%.exam_status (
session_id decimal(20,0) not null,
type_id decimal(20,0) not null,
status_id decimal(20,0),
primary key(session_id, type_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.exam_status add constraint fk_xstatus_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.exam_status add constraint fk_xstatus_type foreign key (type_id)
references %SCHEMA%.exam_type (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.exam_status add constraint fk_xstatus_status foreign key (status_id)
references %SCHEMA%.dept_status_type (uniqueid) on delete set null
</sql>
<plsql>
create table %SCHEMA%.exam_managers (
session_id number(20,0) constraint nn_xmanagers_session not null,
type_id number(20,0) constraint nn_xmanagers_type not null,
manager_id number(20,0) constraint nn_xmanagers_manager not null
)
</plsql>
<plsql>alter table %SCHEMA%.exam_managers add constraint pk_exam_managers primary key (session_id, type_id, manager_id)</plsql>
<mysql>
create table %SCHEMA%.exam_managers (
session_id decimal(20,0) not null,
type_id decimal(20,0) not null,
manager_id decimal(20,0) not null,
primary key (session_id, type_id, manager_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.exam_managers add constraint fk_xmanagers_status foreign key (session_id, type_id)
references %SCHEMA%.exam_status (session_id, type_id) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.exam_managers add constraint fk_xmanagers_manager foreign key (manager_id)
references %SCHEMA%.timetable_manager (uniqueid) on delete cascade
</sql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<sql into="ORD">
select max(ord) + 1 from %SCHEMA%.dept_status_type
</sql>
<mysql>
insert into %SCHEMA%.dept_status_type
(uniqueid, reference, label, status, apply, ord) values
(%ID%+0, 'exam_disabled', 'Examination Disabled', 0, 4, %ORD%+0),
(%ID%+1, 'exam_edit', 'Examination Data Entry', 1536, 4, %ORD%+1),
(%ID%+2, 'exam_timetabling', 'Examination Timetabling', 3584, 4, %ORD%+2),
(%ID%+3, 'exam_publish', 'Examination Published', 12800, 4, %ORD%+3)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<plsql>
insert into %SCHEMA%.dept_status_type
(uniqueid, reference, label, status, apply, ord) values
(%SCHEMA%.ref_table_seq.nextval, 'exam_disabled', 'Examination Disabled', 0, 4, %ORD%+0)
</plsql>
<plsql>
insert into %SCHEMA%.dept_status_type
(uniqueid, reference, label, status, apply, ord) values
(%SCHEMA%.ref_table_seq.nextval, 'exam_edit', 'Examination Data Entry', 1536, 4, %ORD%+1)
</plsql>
<plsql>
insert into %SCHEMA%.dept_status_type
(uniqueid, reference, label, status, apply, ord) values
(%SCHEMA%.ref_table_seq.nextval, 'exam_timetabling', 'Examination Timetabling', 3584, 4, %ORD%+2)
</plsql>
<plsql>
insert into %SCHEMA%.dept_status_type
(uniqueid, reference, label, status, apply, ord) values
(%SCHEMA%.ref_table_seq.nextval, 'exam_publish', 'Examination Published', 12800, 4, %ORD%+3)
</plsql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ExaminationStatuses'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ExaminationStatusEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypeEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ExaminationView'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('Examinations', 'ExaminationSchedule')
</sql>
</update>
<update version="145" date="2-Apr-2015" comment="Examination Type Highlight In Events">
<plsql>alter table %SCHEMA%.exam_type add events number(1) default 1</plsql>
<mysql>alter table %SCHEMA%.exam_type add events int(1) default 1</mysql>
<sql>update %SCHEMA%.exam_type set events = 0 where xtype = 1</sql>
</update>
<update version="146" date="7-Apr-2015" comment="Cancelled Classes">
<plsql>alter table %SCHEMA%.class_ add cancelled number(1) default 0</plsql>
<mysql>alter table %SCHEMA%.class_ add cancelled int(1) default 0</mysql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ClassDelete'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('ClassEdit', 'MultipleClassSetupClass')
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ClassCancel'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('ClassEdit', 'MultipleClassSetupClass')
</sql>
</update>
<update version="147" date="6-May-2015" comment="Delete From Cross List">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CourseOfferingDeleteFromCrossList'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'InstructionalOfferingCrossLists'
</sql>
</update>
<update version="148" date="13-Aug-2015" comment="Hashed Queries">
<mysql>
create table %SCHEMA%.hashed_queries (
query_hash varchar(48) primary key not null,
query_text varchar(2048) not null,
ts_create datetime not null,
nbr_use decimal(20,0) not null default 0,
ts_use datetime not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.hashed_queries (
query_hash varchar2(48 char) constraint nn_hashed_queries_hash not null,
query_text varchar2(2048 char) constraint nn_hashed_queries_query not null,
ts_create timestamp constraint nn_hashed_queries_create not null,
nbr_use number(20) default 0,
ts_use timestamp constraint nn_hashed_queries_use not null
)
</plsql>
<plsql>alter table %SCHEMA%.hashed_queries add constraint pk_hashed_queries primary key (query_hash)</plsql>
</update>
<update version="149" date="14-Aug-2015" comment="Room Attachment Types">
<plsql>
create table %SCHEMA%.attachment_type (
uniqueid number(20,0) constraint nn_attchtype_id not null,
reference varchar2(20 char) constraint nn_attchtype_ref not null,
abbreviation varchar2(20 char) constraint nn_attchtype_abbv not null,
label varchar2(60 char) constraint nn_attchtype_label not null,
visibility number(10) constraint nn_attchtype_visibility not null
)
</plsql>
<plsql>alter table %SCHEMA%.attachment_type add constraint pk_attachment_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.attachment_type (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
abbreviation varchar(20) not null,
label varchar(60) not null,
visibility bigint(10) not null
) engine = INNODB
</mysql>
<plsql>alter table %SCHEMA%.room_picture add type_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.room_picture add type_id decimal(20,0)</mysql>
<plsql>alter table %SCHEMA%.location_picture add type_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.location_picture add type_id decimal(20,0)</mysql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.attachment_type
(uniqueid, reference, abbreviation, label, visibility) values
(%ID%, 'OTHER', 'Other', 'Not Specified', 6),
(%ID% + 1, 'PICTURE', 'Picture', 'Room Picture', 15)
</mysql>
<mysql>update %SCHEMA%.room_picture set type_id = %ID% where content_type not like 'image/%'</mysql>
<mysql>update %SCHEMA%.location_picture set type_id = %ID% where content_type not like 'image/%'</mysql>
<mysql>update %SCHEMA%.room_picture set type_id = %ID% + 1 where content_type like 'image/%'</mysql>
<mysql>update %SCHEMA%.location_picture set type_id = %ID% + 1 where content_type like 'image/%'</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<plsql>
insert into %SCHEMA%.attachment_type
(uniqueid, reference, abbreviation, label, visibility) values
(%SCHEMA%.ref_table_seq.nextval, 'OTHER', 'Other', 'Not Specified', 6)
</plsql>
<plsql>update %SCHEMA%.room_picture set type_id = ref_table_seq.currval where content_type not like 'image/%'</plsql>
<plsql>update %SCHEMA%.location_picture set type_id = ref_table_seq.currval where content_type not like 'image/%'</plsql>
<plsql>
insert into %SCHEMA%.attachment_type
(uniqueid, reference, abbreviation, label, visibility) values
(%SCHEMA%.ref_table_seq.nextval, 'PICTURE', 'Picture', 'Room Picture', 15)
</plsql>
<plsql>update %SCHEMA%.room_picture set type_id = ref_table_seq.currval where content_type like 'image/%'</plsql>
<plsql>update %SCHEMA%.location_picture set type_id = ref_table_seq.currval where content_type like 'image/%'</plsql>
<sql>
alter table %SCHEMA%.room_picture add constraint fk_room_picture_type foreign key (type_id)
references %SCHEMA%.attachment_type (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.location_picture add constraint fk_location_picture_type foreign key (type_id)
references %SCHEMA%.attachment_type (uniqueid) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'AttachementTypes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'AttachementTypeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypeEdit'
</sql>
</update>
<update version="150" date="16-Sep-2015" comment="Instructional Method">
<plsql>
create table %SCHEMA%.instructional_method (
uniqueid number(20,0) constraint nn_instr_method_id not null,
reference varchar2(20 char) constraint nn_instr_method_ref not null,
label varchar2(60 char) constraint nn_instr_method_label not null,
visible number(1) default 1 constraint nn_instr_method_visible not null
)
</plsql>
<plsql>alter table %SCHEMA%.instructional_method add constraint pk_instructional_method primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.instructional_method (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
visible int(1) not null default 1
) engine = INNODB
</mysql>
<plsql>alter table %SCHEMA%.instr_offering_config add instr_method_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.instr_offering_config add instr_method_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.instr_offering_config
add constraint fk_ioconfig_instr_method foreign key (instr_method_id)
references %SCHEMA%.instructional_method (uniqueid) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructionalMethods'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructionalMethodEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypeEdit'
</sql>
</update>
<update version="151" date="26-Sep-2016" comment="People Lookup Permissions">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CanLookupStudents'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('EventLookupContact', 'EventLookupSchedule', 'InstructorAdd', 'InstructorEdit', 'StudentGroupEdit', 'ReservationAdd', 'ReservationEdit', 'Users', 'StudentSchedulingAdvisor', 'StudentSchedulingAdmin', 'ApiRetrieveEvents')
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CanLookupInstructors'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('EventLookupContact', 'EventLookupSchedule', 'InstructorAdd', 'InstructorEdit', 'Users', 'ApiRetrieveEvents')
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CanLookupManagers'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('EventLookupContact', 'EventLookupSchedule', 'InstructorAdd', 'InstructorEdit', 'TimetableManagerAdd', 'TimetableManagerEdit', 'Users')
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CanLookupStaff'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('EventLookupContact', 'EventLookupSchedule', 'InstructorAdd', 'InstructorEdit', 'TimetableManagerAdd', 'TimetableManagerEdit', 'Users')
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CanLookupEventContacts'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('EventLookupContact', 'EventLookupSchedule', 'ApiRetrieveEvents')
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CanLookupLdap'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('EventLookupContact', 'EventLookupSchedule', 'InstructorAdd', 'InstructorEdit', 'TimetableManagerAdd', 'TimetableManagerEdit', 'Users')
</sql>
</update>
<update version="152" date="28-Sep-2016" comment="Scheduling Reports Permission">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'SchedulingReports'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'SchedulingDashboard'
</sql>
</update>
<update version="153" date="8-Oct-2016" comment="Curriculum Multiple Majors">
<mysql>alter table %SCHEMA%.curriculum add multiple_majors int(1) not null default 0</mysql>
<plsql>alter table %SCHEMA%.curriculum add multiple_majors number(1) default 0 constraint nn_curriculum_mmajors not null</plsql>
</update>
<update version="154" date="30-Oct'2016" comment="New Solver Parameters">
<mysql into="GBAS">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSctBasic'</mysql>
<mysql into="OBAS">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GBAS%</mysql>
<mysql into="GGEN">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSct'</mysql>
<mysql into="OGEN">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GGEN%</mysql>
<mysql into="GSW">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSctWeights'</mysql>
<mysql into="OSW">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GSW%</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_group</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, ord, param_type) values
(%ID% + 0, 'StudentSctOnline', 'Online Student Scheduling', %ORD%, 2)
</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID% + 1, 'Load.StudentQuery', '', 'Student Filter', 'text', %OBAS% + 1, 1, %GBAS%),
(%ID% + 2, 'Interactive.UpdateCourseRequests', 'true', 'Update course requests', 'boolean', %OGEN% + 1, 1, %GGEN%),
(%ID% + 3, 'Load.RequestGroups', 'false', 'Load request groups', 'boolean', %OGEN% + 2, 1, %GGEN%),
(%ID% + 4, 'StudentWeights.SameGroup', '0.1000', 'Same request group', 'double', %OSW% + 1, 1, %GSW%),
(%ID% + 5, 'Sectioning.KeepInitialAssignments', 'false', 'MPP: Initial enrollment must be assigned', 'boolean', %OGEN% + 3, 1, %GGEN%),
(%ID% + 6, 'StudentWeights.Perturbation', '0.1000', 'MPP: Perturbation weight', 'double', %OSW% + 2, 1, %GSW%),
(%ID% + 7, 'StudentWeights.SameChoice', '0.900', 'MPP: Different section, but same time and instructor', 'double', %OSW% + 3, 1, %GSW%),
(%ID% + 8, 'StudentWeights.SameTime', '0.700', 'MPP: Different section, but same time', 'double', %OSW% + 4, 1, %GSW%),
(%ID% + 9, 'Load.CheckEnabledForScheduling', 'true', 'Check enabled for scheduling toggle', 'boolean', %OGEN% + 3, 1, %GGEN%),
(%ID% + 10, 'Load.CheckForNoBatchStatus', 'true', 'Check no-batch student status', 'boolean', %OGEN% + 4, 1, %GGEN%),
(%ID% + 11, 'StudentWeights.NoTimeFactor', '0.050', 'Additional Weights: Section with no time', 'double', 0, 1, %ID%),
(%ID% + 12, 'StudentWeights.SelectionFactor', '0.125', 'Additional Weights: Section selected', 'double', 1, 1, %ID%),
(%ID% + 13, 'StudentWeights.PenaltyFactor', '0.250', 'Additional Weights: Section over-expected', 'double', 2, 1, %ID%),
(%ID% + 14, 'StudentWeights.AvgPenaltyFactor', '0.001', 'Additional Weights: Average penalty', 'double', 3, 1, %ID%),
(%ID% + 15, 'StudentWeights.AvailabilityFactor', '0.050', 'Additional Weights: Section availability', 'double', 4, 1, %ID%),
(%ID% + 16, 'StudentWeights.Class', 'org.cpsolver.studentsct.online.selection.StudentSchedulingAssistantWeights', 'Student weights model', 'text', 5, 0, %ID%),
(%ID% + 17, 'OverExpectedCriterion.Class', 'org.cpsolver.studentsct.online.expectations.AvoidUnbalancedWhenNoExpectations', 'Over-expected criterion', 'text', 6, 0, %ID%),
(%ID% + 18, 'Suggestions.Timeout', '1000', 'Suggestions: Time limit in milliseconds', 'integer', 7, 1, %ID%),
(%ID% + 19, 'Suggestions.MaxDepth', '4', 'Suggestions: Maximal search depth', 'integer', 8, 1, %ID%),
(%ID% + 20, 'Suggestions.MaxSuggestions', '20', 'Suggestions: Number of results', 'integer', 9, 1, %ID%),
(%ID% + 21, 'StudentWeights.MultiCriteria', 'true', 'Use multi-criterion selection', 'boolean', 10, 1, %ID%),
(%ID% + 22, 'OverExpected.Disbalance', '0.100', 'Expectations: Allowed dis-balance', 'double', 11, 1, %ID%),
(%ID% + 23, 'General.BalanceUnlimited', 'false', 'Expectations: Balance unlimited sections', 'boolean', 12, 1, %ID%),
(%ID% + 24, 'OverExpected.Percentage', '1.000', 'Expectations: Expectation multiplicator', 'double', 13, 1, %ID%),
(%ID% + 25, 'OverExpected.Rounding', 'ROUND', 'Expectations: rounding', 'enum(NONE,CEIL,FLOOR,ROUND)', 14 , 1, %ID%),
(%ID% + 26, 'OnlineStudentSectioning.TimesToAvoidHeuristics', 'true', 'Online Selection: avoid times needed by other courses', 'boolean', 15, 1, %ID%),
(%ID% + 27, 'StudentWeights.SameChoiceFactor', '0.125', 'Resectioning: Same choice (time and instructor)', 'double', 16, 1, %ID%),
(%ID% + 28, 'StudentWeights.SameRoomsFactor', '0.007', 'Resectioning: Same room', 'double', 17, 1, %ID%),
(%ID% + 29, 'StudentWeights.SameTimeFactor', '0.070', 'Resectioning: Same time', 'double', 18, 1, %ID%),
(%ID% + 30, 'StudentWeights.SameNameFactor', '0.014', 'Resectioning: Same section name', 'double', 19, 1, %ID%),
(%ID% + 31, 'StudentWeights.PreferenceFactor', '0.500', 'Suggestions: Preferred section', 'double', 20, 1, %ID%),
(%ID% + 32, 'Enrollment.CanKeepCancelledClass', 'false', 'Can a student keep cancelled class', 'boolean', 21, 1, %ID%)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<plsql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'StudentSctOnline', 'Online Student Scheduling', '', -1, 2)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x ) where g.name='StudentSctOnline'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Load.StudentQuery' as name,
'' as default_value,
'Student Filter' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctBasic') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctBasic')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Interactive.UpdateCourseRequests' as name,
'true' as default_value,
'Update course requests' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Load.RequestGroups' as name,
'false' as default_value,
'Load request groups' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.SameGroup' as name,
'0.1000' as default_value,
'Same request group' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Sectioning.KeepInitialAssignments' as name,
'false' as default_value,
'MPP: Initial enrollment must be assigned' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.Perturbation' as name,
'0.1000' as default_value,
'MPP: Perturbation weight' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.SameChoice' as name,
'0.900' as default_value,
'MPP: Different section, but same time and instructor' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.SameTime' as name,
'0.700' as default_value,
'MPP: Different section, but same time' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Load.CheckEnabledForScheduling' as name,
'true' as default_value,
'Check enabled for scheduling toggle' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Load.CheckForNoBatchStatus' as name,
'true' as default_value,
'Check no-batch student status' as description,
'boolean' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.NoTimeFactor' as name,
'0.050' as default_value,
'Additional Weights: Section with no time' as description,
'double' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.SelectionFactor' as name,
'0.125' as default_value,
'Additional Weights: Section selected' as description,
'double' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.PenaltyFactor' as name,
'0.250' as default_value,
'Additional Weights: Section over-expected' as description,
'double' as type,
2 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.AvgPenaltyFactor' as name,
'0.001' as default_value,
'Additional Weights: Average penalty' as description,
'double' as type,
3 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.AvailabilityFactor' as name,
'0.050' as default_value,
'Additional Weights: Section availability' as description,
'double' as type,
4 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.Class' as name,
'org.cpsolver.studentsct.online.selection.StudentSchedulingAssistantWeights' as default_value,
'Student weights model' as description,
'text' as type,
5 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'OverExpectedCriterion.Class' as name,
'org.cpsolver.studentsct.online.expectations.AvoidUnbalancedWhenNoExpectations' as default_value,
'Over-expected criterion' as description,
'text' as type,
6 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Suggestions.Timeout' as name,
'1000' as default_value,
'Suggestions: Time limit in milliseconds' as description,
'integer' as type,
7 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Suggestions.MaxDepth' as name,
'4' as default_value,
'Suggestions: Maximal search depth' as description,
'integer' as type,
8 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Suggestions.MaxSuggestions' as name,
'20' as default_value,
'Suggestions: Number of results' as description,
'integer' as type,
9 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.MultiCriteria' as name,
'true' as default_value,
'Use multi-criterion selection' as description,
'boolean' as type,
10 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'OverExpected.Disbalance' as name,
'0.100' as default_value,
'Expectations: Allowed dis-balance' as description,
'double' as type,
11 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.BalanceUnlimited' as name,
'false' as default_value,
'Expectations: Balance unlimited sections' as description,
'boolean' as type,
12 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'OverExpected.Percentage' as name,
'1.000' as default_value,
'Expectations: Expectation multiplicator' as description,
'double' as type,
13 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'OverExpected.Rounding' as name,
'ROUND' as default_value,
'Expectations: rounding' as description,
'enum(NONE,CEIL,FLOOR,ROUND)' as type,
14 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'OnlineStudentSectioning.TimesToAvoidHeuristics' as name,
'true' as default_value,
'Online Selection: avoid times needed by other courses' as description,
'boolean' as type,
15 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.SameChoiceFactor' as name,
'0.125' as default_value,
'Resectioning: Same choice (time and instructor)' as description,
'double' as type,
16 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.SameRoomsFactor' as name,
'0.007' as default_value,
'Resectioning: Same room' as description,
'double' as type,
17 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.SameTimeFactor' as name,
'0.070' as default_value,
'Resectioning: Same time' as description,
'double' as type,
18 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.SameNameFactor' as name,
'0.014' as default_value,
'Resectioning: Same section name' as description,
'double' as type,
19 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.PreferenceFactor' as name,
'0.500' as default_value,
'Suggestions: Preferred section' as description,
'double' as type,
20 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Enrollment.CanKeepCancelledClass' as name,
'false' as default_value,
'Can a student keep cancelled class' as description,
'boolean' as type,
21 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctOnline')
</plsql>
</update>
<update version="155" date="12-Dec-2015" comment="Department allow student scheduling toggle">
<mysql>alter table %SCHEMA%.department add allow_student_schd int(1) null default 1</mysql>
<plsql>alter table %SCHEMA%.department add allow_student_schd number(1) default 1</plsql>
</update>
<update version="156" date="7-Jan-2016" comment="MySQL meeting and expiration dates fix">
<mysql>alter table %SCHEMA%.meeting modify meeting_date date not null</mysql>
<mysql>alter table %SCHEMA%.reservation modify expiration_date date</mysql>
</update>
<update version="157" date="21-Jan-2016" comment="Default search alogithm for course timetabling">
<sql>update %SCHEMA%.solver_parameter_def set default_value='GD' where name like 'General.SearchAlgorithm'</sql>
<sql>update %SCHEMA%.solver_parameter_def set type='enum(IFS,GD,SA,Default,Experimental)' where name like 'General.SearchAlgorithm'</sql>
</update>
<update version="158" date="29-Feb-2016" comment="Preference abbreviations">
<plsql>alter table %SCHEMA%.preference_level add pref_abbv varchar2(10 char)</plsql>
<mysql>alter table %SCHEMA%.preference_level add pref_abbv varchar(10)</mysql>
<sql>update %SCHEMA%.preference_level set pref_abbv='Req' where pref_prolog='R'</sql>
<sql>update %SCHEMA%.preference_level set pref_abbv='StrPref' where pref_prolog='-2'</sql>
<sql>update %SCHEMA%.preference_level set pref_abbv='Pref' where pref_prolog='-1'</sql>
<sql>update %SCHEMA%.preference_level set pref_abbv='' where pref_prolog='0'</sql>
<sql>update %SCHEMA%.preference_level set pref_abbv='Disc' where pref_prolog='1'</sql>
<sql>update %SCHEMA%.preference_level set pref_abbv='StrDisc' where pref_prolog='2'</sql>
<sql>update %SCHEMA%.preference_level set pref_abbv='Proh' where pref_prolog='P'</sql>
<sql>update %SCHEMA%.preference_level set pref_abbv='N/A' where pref_prolog='N'</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'PreferenceLevels'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'AttachementTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'PreferenceLevelEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'AttachementTypeEdit'
</sql>
</update>
<update version="159" date="2-Mar-2016" comment="Fix attachment typo">
<sql>update %SCHEMA%.rights set value='AttachmentTypes' where value='AttachementTypes'</sql>
<sql>update %SCHEMA%.rights set value='AttachmentTypeEdit' where value='AttachementTypeEdit'</sql>
</update>
<update version="160" date="15-Mar-2016" comment="Distribution types visibility">
<plsql>alter table %SCHEMA%.distribution_type add visible number(1) default 1</plsql>
<plsql>alter table %SCHEMA%.distribution_type add constraint nn_distribution_type_visible check (visible is not null)</plsql>
<mysql>alter table %SCHEMA%.distribution_type add visible int(1) not null default 1</mysql>
</update>
<update version="161" date="21-Mar-2016" comment="Instructor attributes">
<!-- InstructorAttributeType -->
<plsql>
create table %SCHEMA%.attribute_type (
uniqueid number(20,0) constraint nn_attribute_type_uniqueid not null,
reference varchar2(20) constraint nn_attribute_type_reference not null,
label varchar2(60) constraint nn_attribute_type_label not null,
conjunctive number(1,0) constraint nn_attribute_type_conjunctive not null,
required number(1,0) constraint nn_attribute_type_required not null
)
</plsql>
<plsql>alter table %SCHEMA%.attribute_type add constraint pk_attribute_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.attribute_type (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
conjunctive int(1) not null,
required int(1) not null
) engine = INNODB
</mysql>
<plsql>
insert into %SCHEMA%.attribute_type (uniqueid, reference, label, conjunctive, required) values
(%SCHEMA%.ref_table_seq.nextval, 'Performance', 'Performance Level', 0, 1)
</plsql>
<plsql>
insert into %SCHEMA%.attribute_type (uniqueid, reference, label, conjunctive, required) values
(%SCHEMA%.ref_table_seq.nextval, 'Skill', 'Skill', 1, 1)
</plsql>
<plsql>
insert into %SCHEMA%.attribute_type (uniqueid, reference, label, conjunctive, required) values
(%SCHEMA%.ref_table_seq.nextval, 'Qualification', 'Qualification', 0, 1)
</plsql>
<plsql>
insert into %SCHEMA%.attribute_type (uniqueid, reference, label, conjunctive, required) values
(%SCHEMA%.ref_table_seq.nextval, 'Cerfification', 'Cerfification', 0, 1)
</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.attribute_type (uniqueid, reference, label, conjunctive, required) values
(%ID%+0, 'Performance', 'Performance Level', 0, 1),
(%ID%+1, 'Skill', 'Skill', 1, 1),
(%ID%+2, 'Qualification', 'Qualification', 0, 1),
(%ID%+3, 'Cerfification', 'Cerfification', 0, 1)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<!-- InstructorAttribute -->
<plsql>
create table %SCHEMA%.attribute (
uniqueid number(20,0) constraint nn_attribute_uniqueid not null,
code varchar2(20) constraint nn_attribute_code not null,
name varchar2(60) constraint nn_attribute_name not null,
type_id number(20,0) constraint nn_attribute_type not null,
parent_id number(20,0),
session_id number(20,0) constraint nn_attribute_session not null,
department_id number(20,0)
)
</plsql>
<plsql>alter table %SCHEMA%.attribute add constraint pk_attribute primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.attribute (
uniqueid decimal(20,0) primary key not null,
code varchar(20) not null,
name varchar(60) not null,
type_id decimal(20,0) not null,
parent_id decimal(20,0),
session_id decimal(20,0) not null,
department_id decimal(20,0)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.attribute add constraint fk_attribute_type foreign key (type_id)
references %SCHEMA%.attribute_type (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.attribute add constraint fk_attribute_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.attribute add constraint fk_attribute_department foreign key (department_id)
references %SCHEMA%.department (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.attribute add constraint fk_attribute_parent foreign key (parent_id)
references %SCHEMA%.attribute (uniqueid) on delete set null
</sql>
<!-- InstructorAttribute.instructors -->
<plsql>
create table %SCHEMA%.instructor_attributes (
attribute_id number(20,0) constraint nn_instrattributes_attribute not null,
instructor_id number(20,0) constraint nn_instrattributes_instructor not null
)
</plsql>
<plsql>alter table %SCHEMA%.instructor_attributes add constraint pk_instructor_attributes primary key (attribute_id, instructor_id)</plsql>
<mysql>
create table %SCHEMA%.instructor_attributes (
attribute_id decimal(20,0) not null,
instructor_id decimal(20,0) not null,
primary key (attribute_id, instructor_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.instructor_attributes add constraint fk_instrattributes_attribute foreign key (attribute_id)
references %SCHEMA%.attribute (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.instructor_attributes add constraint fk_instrattributes_instructor foreign key (instructor_id)
references %SCHEMA%.departmental_instructor (uniqueid) on delete cascade
</sql>
<!-- InstructorAttributePref -->
<plsql>
create table %SCHEMA%.attribute_pref (
uniqueid number(20,0) constraint nn_attribute_pref_uniqueid not null,
owner_id number(20,0) constraint nn_attribute_pref_owner not null,
pref_level_id number(20,0) constraint nn_attribute_pref_pref not null,
attribute_id number(20,0) constraint nn_attribute_pref_attribute not null
)
</plsql>
<plsql>alter table %SCHEMA%.attribute_pref add constraint pk_attribute_pref primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.attribute_pref (
uniqueid decimal(20,0) primary key not null,
owner_id decimal(20,0) not null,
pref_level_id decimal(20,0) not null,
attribute_id decimal(20,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.attribute_pref add constraint fk_attribute_pref_pref foreign key (pref_level_id)
references %SCHEMA%.preference_level (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.attribute_pref add constraint fk_attribute_pref_attribute foreign key (attribute_id)
references %SCHEMA%.attribute (uniqueid) on delete cascade
</sql>
<!-- DepartmentalInstructor -->
<mysql>
alter table %SCHEMA%.departmental_instructor add teaching_pref_id decimal(20,0)
</mysql>
<mysql>
alter table %SCHEMA%.departmental_instructor add max_load float
</mysql>
<plsql>
alter table %SCHEMA%.departmental_instructor add teaching_pref_id number(20,0)
</plsql>
<plsql>
alter table %SCHEMA%.departmental_instructor add max_load float
</plsql>
<sql>
alter table %SCHEMA%.departmental_instructor add constraint fk_dept_instr_teach_pref foreign key (teaching_pref_id)
references %SCHEMA%.preference_level (uniqueid) on delete set null
</sql>
<!-- CoursePref -->
<plsql>
create table %SCHEMA%.course_pref (
uniqueid number(20,0) constraint nn_course_pref_uniqueid not null,
owner_id number(20,0) constraint nn_course_pref_owner not null,
pref_level_id number(20,0) constraint nn_course_pref_pref not null,
course_id number(20,0) constraint nn_course_pref_course not null
)
</plsql>
<plsql>alter table %SCHEMA%.course_pref add constraint pk_course_pref primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.course_pref (
uniqueid decimal(20,0) primary key not null,
owner_id decimal(20,0) not null,
pref_level_id decimal(20,0) not null,
course_id decimal(20,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.course_pref add constraint fk_course_pref_pref foreign key (pref_level_id)
references %SCHEMA%.preference_level (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.course_pref add constraint fk_course_pref_course foreign key (course_id)
references %SCHEMA%.course_offering (uniqueid) on delete cascade
</sql>
<!-- SchedulingSubpart -->
<mysql>
alter table %SCHEMA%.scheduling_subpart add teaching_load float
</mysql>
<plsql>
alter table %SCHEMA%.scheduling_subpart add teaching_load float
</plsql>
<!-- ClassInstructor -->
<mysql>
alter table %SCHEMA%.class_instructor add tentative int(1) not null default 0
</mysql>
<plsql>
alter table %SCHEMA%.class_instructor add tentative number(1,0) default 0
</plsql>
<plsql>
alter table %SCHEMA%.class_instructor add constraint nn_class_instructor_tentative check (tentative is not null)
</plsql>
<!-- Permissions -->
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorAttributeTypes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'RoomFeatureTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorAttributeTypeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'RoomFeatureTypeEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorAssignmentPreferences'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'InstructorPreferences'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorClearAssignmentPreferences'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'InstructorEditClearPreferences'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorAttributes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Instructors'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorAttributeAdd'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'InstructorAdd'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorAttributeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'InstructorEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorAttributeDelete'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'InstructorDelete'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorAttributeAssign'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'InstructorPreferences'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorGlobalAttributeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'GlobalRoomFeatureEdit'
</sql>
</update>
<update version="162" date="12-Apr-2016" comment="Instructor preferences">
<!-- CoursePref -->
<plsql>
create table %SCHEMA%.instructor_pref (
uniqueid number(20,0) constraint nn_instructor_pref_uniqueid not null,
owner_id number(20,0) constraint nn_instructor_pref_owner not null,
pref_level_id number(20,0) constraint nn_instructor_pref_pref not null,
instructor_id number(20,0) constraint nn_instructor_pref_instructor not null
)
</plsql>
<plsql>alter table %SCHEMA%.instructor_pref add constraint pk_instructor_pref primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.instructor_pref (
uniqueid decimal(20,0) primary key not null,
owner_id decimal(20,0) not null,
pref_level_id decimal(20,0) not null,
instructor_id decimal(20,0) not null
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.instructor_pref add constraint fk_instructor_pref_pref foreign key (pref_level_id)
references %SCHEMA%.preference_level (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.instructor_pref add constraint fk_instructor_pref_instructor foreign key (instructor_id)
references %SCHEMA%.departmental_instructor (uniqueid) on delete cascade
</sql>
<!-- SchedulingSubpart -->
<mysql>
alter table %SCHEMA%.scheduling_subpart add nbr_instructors int(4)
</mysql>
<plsql>
alter table %SCHEMA%.scheduling_subpart add nbr_instructors number(4)
</plsql>
<!-- Class_ -->
<mysql>
alter table %SCHEMA%.class_ add nbr_instructors int(4)
</mysql>
<plsql>
alter table %SCHEMA%.class_ add nbr_instructors number(4)
</plsql>
<mysql>
alter table %SCHEMA%.class_ add teaching_load float
</mysql>
<plsql>
alter table %SCHEMA%.class_ add teaching_load float
</plsql>
<sql>
update %SCHEMA%.scheduling_subpart set nbr_instructors = 1 where teaching_load is not null
</sql>
</update>
<update version="163" date="5-Jun-2016" comment="Alternative Course Offering">
<mysql onFail="done">
alter table %SCHEMA%.course_offering add alternative_offering_id decimal(20,0) null
</mysql>
<plsql onFail="done">
alter table %SCHEMA%.course_offering add alternative_offering_id number(20)
</plsql>
<sql>
alter table %SCHEMA%.course_offering add constraint fk_course_offering_alternative_offr foreign key (alternative_offering_id)
references %SCHEMA%.course_offering (uniqueid) on delete set null
</sql>
</update>
<update version="164" date="6-Jun-2016" comment="Instructor Scheduling Solver Parameters">
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql into="ORD">select max(ord)+1 from %SCHEMA%.solver_parameter_group</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, ord, param_type) values
(%ID% + 0, 'InstrSchd.Basic', 'Instructor Scheduling: Basic', %ORD% + 0, 3),
(%ID% + 1, 'InstrSchd.General', 'Instructor Scheduling: General', %ORD% + 1, 3),
(%ID% + 2, 'InstrSchd.Weight', 'Instructor Scheduling: Weights', %ORD% + 2, 3),
(%ID% + 3, 'InstrSchd.Implementation', 'Instructor Scheduling: Implementation', %ORD% + 3, 3)
</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID% + 4, 'Basic.Mode', 'Initial', 'Solver Mode', 'enum(Initial,MPP)', 0, 1, %ID%),
(%ID% + 5, 'Basic.WhenFinished', 'No Action', 'When Finished', 'enum(No Action,Save,Save as New,Save and Unload,Save as New and Unload)', 1, 1, %ID%),
(%ID% + 6, 'General.CBS', 'true', 'Use conflict-based statistics', 'boolean', 0, 1, %ID% + 1),
(%ID% + 7, 'General.CommonItypes', 'lec', 'Common Instructional Types (comma separated)', 'text', 1, 1, %ID% + 1),
(%ID% + 8, 'General.IgnoreOtherInstructors', 'false', 'Ignore Other Instructors', 'boolean', 2, 1, %ID% + 1),
(%ID% + 9, 'General.SaveBestUnassigned', '-1', 'Minimal number of unassigned variables to save best solution found (-1 always save)', 'integer', 3, 0, %ID% + 1),
(%ID% + 10, 'Termination.StopWhenComplete', 'false', 'Stop computation when a complete solution is found', 'boolean', 4, 1, %ID% + 1),
(%ID% + 11, 'Termination.TimeOut', '300', 'Maximal solver time (in sec)', 'integer', 5, 1, %ID% + 1),
(%ID% + 12, 'Value.RandomWalkProb', '0.02', 'Randon Walk Probability', 'double', 6, 1, %ID% + 1),
(%ID% + 13, 'Value.WeightConflicts', '1000.0', 'Conflict Weight', 'double', 0, 1, %ID% + 2),
(%ID% + 14, 'Weight.TeachingPreferences', '10.0', 'Teaching Preference Weight', 'double', 1, 1, %ID% + 2),
(%ID% + 15, 'Weight.AttributePreferences', '1000.0', 'Attribute Preference Weight', 'double', 2, 1, %ID% + 2),
(%ID% + 16, 'Weight.CoursePreferences', '1.0', 'Course Preference Weight', 'double', 3, 1, %ID% + 2),
(%ID% + 17, 'Weight.TimePreferences', '1.0', 'Time Preference Weight', 'double', 4, 1, %ID% + 2),
(%ID% + 18, 'Weight.InstructorPreferences', '1.0', 'Instructor Preference Weight', 'double', 5, 1, %ID% + 2),
(%ID% + 19, 'Weight.BackToBack', '1.0', 'Back-to-Back Weight', 'double', 6, 1, %ID% + 2),
(%ID% + 20, 'BackToBack.DifferentRoomWeight', '0.8', 'Back-to-Back Different Room', 'double', 7, 1, %ID% + 2),
(%ID% + 21, 'BackToBack.DifferentTypeWeight', '0.6', 'Back-to-Back Different Type', 'double', 8, 1, %ID% + 2),
(%ID% + 22, 'Weight.DifferentLecture', '1000.0', 'Different Lecture Weight', 'double', 9, 1, %ID% + 2),
(%ID% + 23, 'Weight.SameInstructor', '10.0', 'Same Instructor Weight', 'double', 10, 1, %ID% + 2),
(%ID% + 24, 'Weight.SameLink', '100.0', 'Same Link Weight', 'double', 11, 1, %ID% + 2),
(%ID% + 25, 'Weight.TimeOverlaps', '1000.0', 'Allowed Time Overlap Weight', 'double', 12, 1, %ID% + 2),
(%ID% + 26, 'Weight.OriginalInstructor', '100.0', 'Original Instructor Weight (MPP)', 'double', 13, 1, %ID% + 2),
(%ID% + 27, 'Termination.Class', 'org.cpsolver.ifs.termination.GeneralTerminationCondition', 'Termination Class', 'text', 0, 0, %ID% + 3),
(%ID% + 28, 'Comparator.Class', 'org.cpsolver.ifs.solution.GeneralSolutionComparator', 'Comparator Class', 'text', 1, 0, %ID% + 3),
(%ID% + 29, 'Value.Class', 'org.cpsolver.ifs.heuristics.GeneralValueSelection', 'Value Selection Class', 'text', 2, 0, %ID% + 3),
(%ID% + 30, 'Variable.Class', 'org.cpsolver.ifs.heuristics.GeneralVariableSelection', 'Variable Selection Class', 'text', 3, 0, %ID% + 3),
(%ID% + 31, 'Neighbour.Class', 'org.cpsolver.ifs.algorithms.SimpleSearch', 'Neighbour Selection Class', 'text', 4, 0, %ID% + 3)
</mysql>
<mysql>
insert into %SCHEMA%.solver_predef_setting
(uniqueid, name, description, appearance) values
(%ID% + 32, 'InstrSchd.Default', 'Default', 4)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<plsql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'InstrSchd.Basic', 'Instructor Scheduling: Basic', '', -1, 3)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x ) where g.name='InstrSchd.Basic'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'InstrSchd.General', 'Instructor Scheduling: General', '', -1, 3)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x ) where g.name='InstrSchd.General'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'InstrSchd.Weight', 'Instructor Scheduling: Weights', '', -1, 3)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x ) where g.name='InstrSchd.Weight'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_group (uniqueid, name, description, condition, ord, param_type) values
(%SCHEMA%.solver_parameter_group_seq.nextval, 'InstrSchd.Implementation', 'Instructor Scheduling: Implementation', '', -1, 3)
</plsql>
<plsql>
update %SCHEMA%.solver_parameter_group g set g.ord = ( select max(x.ord)+1 from %SCHEMA%.solver_parameter_group x ) where g.name='InstrSchd.Implementation'
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Basic.Mode' as name,
'Initial' as default_value,
'Solver Mode' as description,
'enum(Initial,MPP)' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Basic')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Basic.WhenFinished' as name,
'No Action' as default_value,
'When Finished' as description,
'enum(No Action,Save,Save as New,Save and Unload,Save as New and Unload)' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Basic')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.CBS' as name,
'true' as default_value,
'Use conflict-based statistics' as description,
'boolean' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.CommonItypes' as name,
'lec' as default_value,
'Common Instructional Types (comma separated)' as description,
'text' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.IgnoreOtherInstructors' as name,
'false' as default_value,
'Ignore Other Instructors' as description,
'boolean' as type,
2 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'General.SaveBestUnassigned' as name,
'-1' as default_value,
'Minimal number of unassigned variables to save best solution found (-1 always save)' as description,
'integer' as type,
3 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Termination.StopWhenComplete' as name,
'false' as default_value,
'Stop computation when a complete solution is found' as description,
'boolean' as type,
4 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Termination.TimeOut' as name,
'300' as default_value,
'Maximal solver time (in sec)' as description,
'integer' as type,
5 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Value.RandomWalkProb' as name,
'0.02' as default_value,
'Randon Walk Probability' as description,
'double' as type,
6 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.General')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Value.WeightConflicts' as name,
'1000.0' as default_value,
'Conflict Weight' as description,
'double' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.TeachingPreferences' as name,
'10.0' as default_value,
'Teaching Preference Weight' as description,
'double' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.AttributePreferences' as name,
'1000.0' as default_value,
'Attribute Preference Weight' as description,
'double' as type,
2 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.CoursePreferences' as name,
'1.0' as default_value,
'Course Preference Weight' as description,
'double' as type,
3 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.TimePreferences' as name,
'1.0' as default_value,
'Time Preference Weight' as description,
'double' as type,
4 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.InstructorPreferences' as name,
'1.0' as default_value,
'Instructor Preference Weight' as description,
'double' as type,
5 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.BackToBack' as name,
'1.0' as default_value,
'Back-to-Back Weight' as description,
'double' as type,
6 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'BackToBack.DifferentRoomWeight' as name,
'0.8' as default_value,
'Back-to-Back Different Room' as description,
'double' as type,
7 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'BackToBack.DifferentTypeWeight' as name,
'0.6' as default_value,
'Back-to-Back Different Type' as description,
'double' as type,
8 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.DifferentLecture' as name,
'1000.0' as default_value,
'Different Lecture Weight' as description,
'double' as type,
9 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.SameInstructor' as name,
'10.0' as default_value,
'Same Instructor Weight' as description,
'double' as type,
0 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.SameLink' as name,
'100.0' as default_value,
'Same Link Weight' as description,
'double' as type,
1 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.TimeOverlaps' as name,
'1000.0' as default_value,
'Allowed Time Overlap Weight' as description,
'double' as type,
2 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Weight.OriginalInstructor' as name,
'100.0' as default_value,
'Original Instructor Weight (MPP)' as description,
'double' as type,
3 as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Weight')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Termination.Class' as name,
'org.cpsolver.ifs.termination.GeneralTerminationCondition' as default_value,
'Termination Class' as description,
'text' as type,
0 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Implementation')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Comparator.Class' as name,
'org.cpsolver.ifs.solution.GeneralSolutionComparator' as default_value,
'Comparator Class' as description,
'text' as type,
1 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Implementation')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Value.Class' as name,
'org.cpsolver.ifs.heuristics.GeneralValueSelection' as default_value,
'Value Selection Class' as description,
'text' as type,
2 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Implementation')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Variable.Class' as name,
'org.cpsolver.ifs.heuristics.GeneralVariableSelection' as default_value,
'Variable Selection Class' as description,
'text' as type,
3 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Implementation')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Neighbour.Class' as name,
'org.cpsolver.ifs.algorithms.SimpleSearch' as default_value,
'Neighbour Selection Class' as description,
'text' as type,
4 as ord,
0 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'InstrSchd.Implementation')
</plsql>
<plsql>
insert into %SCHEMA%.solver_predef_setting (uniqueid, name, description, appearance) values
(%SCHEMA%.solver_predef_setting_seq.nextval, 'InstrSchd.Default', 'Default', 4)
</plsql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorScheduling'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTimetabling'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorSchedulingSolver'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Solver'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorSchedulingSolverLog'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'SolverLog'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorSchedulingSolutionExportXml'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'SolverSolutionExportXml'
</sql>
</update>
<update version="165" date="7-Jul-2016" comment="Column Size Adjustments">
<mysql>alter table %SCHEMA%.subject_area modify subject_area_abbreviation varchar(40)</mysql>
<mysql>alter table %SCHEMA%.pos_major modify code varchar(40)</mysql>
<mysql>alter table %SCHEMA%.pos_minor modify code varchar(40)</mysql>
<mysql>alter table %SCHEMA%.course_offering modify course_nbr varchar(40)</mysql>
<mysql>alter table %SCHEMA%.course_offering modify title varchar(200)</mysql>
<mysql>alter table %SCHEMA%.curriculum modify abbv varchar(40) not null</mysql>
<mysql>alter table %SCHEMA%.curriculum modify name varchar(100) not null</mysql>
<mysql>alter table %SCHEMA%.academic_area modify academic_area_abbreviation varchar(40)</mysql>
<mysql>alter table %SCHEMA%.academic_classification modify code varchar(40)</mysql>
<mysql>alter table %SCHEMA%.pos_major modify name varchar(100)</mysql>
<mysql>alter table %SCHEMA%.pos_minor modify name varchar(100)</mysql>
<mysql>alter table %SCHEMA%.academic_classification modify name varchar(100)</mysql>
<mysql>alter table %SCHEMA%.building modify abbreviation varchar(20)</mysql>
<mysql>alter table %SCHEMA%.room modify room_number varchar(40)</mysql>
<mysql>alter table %SCHEMA%.non_university_location modify name varchar(40)</mysql>
<mysql>alter table %SCHEMA%.external_building modify abbreviation varchar(20)</mysql>
<mysql>alter table %SCHEMA%.external_room modify room_number varchar(40)</mysql>
<plsql>alter table %SCHEMA%.subject_area modify subject_area_abbreviation varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pos_major modify code varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pos_minor modify code varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.course_offering modify course_nbr varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.course_offering modify title varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.curriculum modify abbv varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.curriculum modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.academic_area modify academic_area_abbreviation varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.academic_classification modify code varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pos_major modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.pos_minor modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.academic_classification modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.building modify abbreviation varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.room modify room_number varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.non_university_location modify name varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.external_building modify abbreviation varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.external_room modify room_number varchar2(40 char)</plsql>
</update>
<update version="166" date="11-Jul-2016" comment="Teaching Responsibilities">
<plsql>
create table %SCHEMA%.teaching_responsibility (
uniqueid number(20,0) constraint nn_responsibility_uniqueid not null,
reference varchar2(20 char) constraint nn_responsibility_reference not null,
label varchar2(60 char) constraint nn_responsibility_label not null,
coordinator number(1,0) constraint nn_responsibility_coordinator not null,
instructor number(1,0) constraint nn_responsibility_instructor not null,
abbreviation varchar2(40 char)
)
</plsql>
<plsql>alter table %SCHEMA%.teaching_responsibility add constraint pk_teaching_responsibility primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.teaching_responsibility (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
coordinator int(1) not null,
instructor int(1) not null,
abbreviation varchar(40)
) engine = INNODB
</mysql>
<plsql>alter table %SCHEMA%.class_instructor add assign_index number(10,0)</plsql>
<mysql>alter table %SCHEMA%.class_instructor add assign_index bigint(10) default null</mysql>
<plsql>alter table %SCHEMA%.class_instructor add responsibility_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.class_instructor add responsibility_id decimal(20,0) default null</mysql>
<sql>
alter table %SCHEMA%.class_instructor
add constraint fk_instr_responsibility foreign key (responsibility_id)
references %SCHEMA%.teaching_responsibility (uniqueid) on delete set null
</sql>
<plsql>alter table %SCHEMA%.offering_coordinator add responsibility_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.offering_coordinator add responsibility_id decimal(20,0) default null</mysql>
<sql>
alter table %SCHEMA%.offering_coordinator
add constraint fk_coord_responsibility foreign key (responsibility_id)
references %SCHEMA%.teaching_responsibility (uniqueid) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'TeachingResponsibilities'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PreferenceLevels'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'TeachingResponsibilityEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PreferenceLevelEdit'
</sql>
</update>
<update version="167" date="16-Aug-2016" comment="Teaching Requests">
<mysql>
create table %SCHEMA%.teaching_request (
uniqueid decimal(20,0) primary key not null,
offering_id decimal(20,0) not null,
nbr_instructors decimal(10,0) not null,
teaching_load float not null,
same_course_pref decimal(20,0) null,
same_common_pref decimal(20,0) null,
responsibility_id decimal(20,0) null,
assign_coordinator int(1) not null
) engine = INNODB
</mysql>
<mysql>
create table %SCHEMA%.teachreq_class (
uniqueid decimal(20,0) primary key not null,
percent_share int(3) not null,
is_lead int(1) not null,
can_overlap int(1) not null,
request_id decimal(20,0) not null,
class_id decimal(20,0) not null,
assign_instructor int(1) not null,
common int(1) not null
) engine = INNODB
</mysql>
<mysql>
create table %SCHEMA%.teachreq_instructor (
request_id decimal(20,0) not null,
instructor_id decimal(20,0) not null,
primary key(request_id, instructor_id)
) engine = INNODB
</mysql>
<mysql>alter table %SCHEMA%.offering_coordinator add request_id decimal(20,0) default null</mysql>
<mysql>alter table %SCHEMA%.class_instructor add request_id decimal(20,0) default null</mysql>
<plsql>
create table %SCHEMA%.teaching_request (
uniqueid number(20,0) constraint nn_teachreq_uniqueid not null,
offering_id number(20,0) constraint nn_teachreq_offering not null,
nbr_instructors number(10,0) constraint nn_teachreq_nbrinstr not null,
teaching_load float constraint nn_teachreq_load not null,
same_course_pref number(20,0),
same_common_pref number(20,0),
responsibility_id number(20,0),
assign_coordinator number(1) constraint nn_teachreq_assign not null
)
</plsql>
<plsql>alter table %SCHEMA%.teaching_request add constraint pk_teaching_request primary key (uniqueid)</plsql>
<plsql>
create table %SCHEMA%.teachreq_class (
uniqueid number(20,0) constraint nn_clsteachreq_uniqueid not null,
percent_share number(3,0) constraint nn_clsteachreq_share not null,
is_lead number(1) constraint nn_clsteachreq_lead not null,
can_overlap number(1) constraint nn_clsteachreq_overlap not null,
request_id number(20,0) constraint nn_clsteachreq_request not null,
class_id number(20,0) constraint nn_clsteachreq_class not null,
assign_instructor number(1) constraint nn_clsteachreq_assign not null,
common number(1) constraint nn_clsteachreq_common not null
)
</plsql>
<plsql>alter table %SCHEMA%.teachreq_class add constraint pk_teachreq_class primary key (uniqueid)</plsql>
<plsql>
create table %SCHEMA%.teachreq_instructor (
request_id number(20,0) constraint nn_instrteachreq_request not null,
instructor_id number(20,0) constraint nn_instrteachreq_instr not null
)
</plsql>
<plsql>alter table %SCHEMA%.teachreq_instructor add constraint pk_teachreq_instructor primary key (request_id, instructor_id)</plsql>
<plsql>alter table %SCHEMA%.offering_coordinator add request_id number(20,0)</plsql>
<plsql>alter table %SCHEMA%.class_instructor add request_id number(20,0)</plsql>
<sql>
alter table %SCHEMA%.teaching_request add constraint fk_teachreq_offering foreign key (offering_id)
references %SCHEMA%.instructional_offering(uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.teaching_request add constraint fk_teachreq_same_course foreign key (same_course_pref)
references %SCHEMA%.preference_level(uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.teaching_request add constraint fk_teachreq_same_common foreign key (same_common_pref)
references %SCHEMA%.preference_level(uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.teachreq_instructor add constraint fk_teachreq_instructor foreign key (instructor_id)
references %SCHEMA%.departmental_instructor(uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.teachreq_instructor add constraint fk_teachreq_request foreign key (request_id)
references %SCHEMA%.teaching_request(uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.teaching_request add constraint fk_teachreq_responsibility foreign key (responsibility_id)
references %SCHEMA%.teaching_responsibility(uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.teachreq_class add constraint fk_teachreq_crequest foreign key (request_id)
references %SCHEMA%.teaching_request(uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.teachreq_class add constraint fk_teachreq_class foreign key (class_id)
references %SCHEMA%.class_(uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.offering_coordinator add constraint fk_coord_request foreign key (request_id)
references %SCHEMA%.teaching_request (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.class_instructor add constraint fk_instr_request foreign key (request_id)
references %SCHEMA%.teaching_request (uniqueid) on delete set null
</sql>
<mysql>alter table %SCHEMA%.scheduling_subpart drop teaching_load</mysql>
<mysql>alter table %SCHEMA%.scheduling_subpart drop nbr_instructors</mysql>
<mysql>alter table %SCHEMA%.class_ drop teaching_load</mysql>
<mysql>alter table %SCHEMA%.class_ drop nbr_instructors</mysql>
<mysql>alter table %SCHEMA%.class_instructor drop tentative</mysql>
<mysql>alter table %SCHEMA%.class_instructor drop assign_index</mysql>
<plsql>alter table %SCHEMA%.scheduling_subpart drop column teaching_load</plsql>
<plsql>alter table %SCHEMA%.scheduling_subpart drop column nbr_instructors</plsql>
<plsql>alter table %SCHEMA%.class_ drop column teaching_load</plsql>
<plsql>alter table %SCHEMA%.class_ drop column nbr_instructors</plsql>
<plsql>alter table %SCHEMA%.class_instructor drop column tentative</plsql>
<plsql>alter table %SCHEMA%.class_instructor drop column assign_index</plsql>
</update>
<update version="168" date="11-Oct-2016" comment="Room Feature Description">
<mysql>alter table %SCHEMA%.room_group modify description varchar(1000)</mysql>
<mysql>alter table %SCHEMA%.room_feature add description varchar(1000)</mysql>
<plsql>alter table %SCHEMA%.room_group modify description varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.room_feature add description varchar2(1000 char)</plsql>
</update>
<update version="169" date="31-Oct-2016" comment="External Department Status">
<plsql>
create table %SCHEMA%.ext_dept_status (
ext_dept_id number(20,0) constraint nn_dept_status_ext not null,
department_id number(20,0) constraint nn_dept_status_dep not null,
status_type number(20,0) constraint nn_dept_status_type not null
)
</plsql>
<plsql>alter table %SCHEMA%.ext_dept_status add constraint pk_ext_dept_status primary key (ext_dept_id, department_id)</plsql>
<mysql>
create table %SCHEMA%.ext_dept_status (
ext_dept_id decimal(20,0) not null,
department_id decimal(20,0) not null,
status_type decimal(20,0) not null,
primary key(ext_dept_id, department_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.ext_dept_status add constraint fk_dept_status_ext foreign key (ext_dept_id)
references %SCHEMA%.department (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.ext_dept_status add constraint fk_dept_status_dep foreign key (department_id)
references %SCHEMA%.department (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.ext_dept_status add constraint fk_dept_status_type foreign key (status_type)
references %SCHEMA%.dept_status_type (uniqueid) on delete cascade
</sql>
</update>
<update version="170" date="23-Nov-2016" comment="Student Notes">
<plsql onFail="done">
create table %SCHEMA%.student_note (
uniqueid number(20) constraint nn_student_note_uniqueid not null,
student_id number(20) constraint nn_student_note_student not null,
text_note varchar2(1000 char),
time_stamp date constraint nn_student_note_ts not null,
user_id varchar2(40 char)
)
</plsql>
<plsql>
alter table %SCHEMA%.student_note add constraint pk_student_note_uniqueid primary key (uniqueid)
</plsql>
<mysql onFail="done">
create table %SCHEMA%.student_note (
uniqueid decimal(20,0) primary key not null,
student_id decimal(20,0) not null,
text_note varchar(1000),
time_stamp datetime not null,
user_id varchar(40)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.student_note
add constraint fk_student_note_student foreign key (student_id)
references %SCHEMA%.student (uniqueid) on delete cascade
</sql>
</update>
<update version="171" date="23-Nov-2016" comment="Point in Time Data">
<plsql>
create sequence %SCHEMA%.point_in_time_seq
minvalue 1
maxvalue 99999999999999999999
start with 1
increment by 1
cache 20
</plsql>
<mysql>
create table %SCHEMA%.point_in_time_data (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
timestamp date not null,
name varchar(100) not null,
note varchar(1000),
saved_successfully int(1) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.point_in_time_data (
uniqueid number(20,0) primary key not null,
session_id number(20,0) not null,
timestamp timestamp not null,
name varchar2(100) not null,
note varchar2(1000),
saved_successfully number(1, 0) not null
)
</plsql>
<sql>
alter table %SCHEMA%.point_in_time_data add constraint fk_pitd_to_s foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<mysql>
create table %SCHEMA%.pit_instr_offering (
uniqueid decimal(20,0) primary key not null,
point_in_time_data_id decimal(20,0) not null,
instr_offering_id decimal(20,0),
instr_offering_perm_id bigint(10),
demand int(4),
offr_limit int(10),
uid_rolled_fwd_from decimal(20,0),
external_uid varchar(40)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_instr_offering (
uniqueid number(20,0) primary key not null,
point_in_time_data_id number(20,0) not null,
instr_offering_id number(20,0),
instr_offering_perm_id number(10, 0),
demand number(4, 0),
offr_limit number(10, 0),
uid_rolled_fwd_from number(20,0),
external_uid varchar2(40)
)
</plsql>
<sql>
alter table %SCHEMA%.pit_instr_offering add constraint fk_pit_io_to_pitd foreign key (point_in_time_data_id)
references %SCHEMA%.point_in_time_data (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_instr_offering add constraint fk_pit_io_to_io foreign key (instr_offering_id)
references %SCHEMA%.instructional_offering (uniqueid) on delete set null
</sql>
<mysql>
create table %SCHEMA%.pit_course_offering (
uniqueid decimal(20,0) primary key not null,
course_offering_id decimal(20,0),
subject_area_id decimal(20,0),
pit_instr_offr_id decimal(20,0) not null,
course_nbr varchar(40),
is_control int(1) default null,
perm_id varchar(20) default null,
proj_demand bigint(10) default null,
title varchar(200) default null,
nbr_expected_stdents bigint(10) default '0',
external_uid varchar(40),
uid_rolled_fwd_from decimal(20,0),
lastlike_demand bigint(10) default '0',
course_type_id decimal(20,0) default null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_course_offering (
uniqueid number(20,0) primary key not null,
course_offering_id number(20,0),
subject_area_id number(20,0),
pit_instr_offr_id number(20,0) not null,
course_nbr varchar2(40),
is_control number(1, 0) default null,
perm_id varchar2(20) default null,
proj_demand number(10, 0) default null,
title varchar2(200) default null,
nbr_expected_stdents number(10, 0) default '0',
external_uid varchar2(40),
uid_rolled_fwd_from number(20,0),
lastlike_demand number(10, 0) default '0',
course_type_id number(20,0) default null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_course_offering add constraint fk_pit_co_to_pit_io foreign key (pit_instr_offr_id)
references %SCHEMA%.pit_instr_offering (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_course_offering add constraint fk_pit_co_to_sa foreign key (subject_area_id)
references %SCHEMA%.subject_area (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_course_offering add constraint fk_pit_co_to_co foreign key (course_offering_id)
references %SCHEMA%.course_offering (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.pit_course_offering add constraint fk_pit_co_to_ct foreign key (course_type_id)
references %SCHEMA%.course_type (uniqueid) on delete set null
</sql>
<mysql>
create table %SCHEMA%.pit_instr_offer_config (
uniqueid decimal(20,0) primary key not null,
instr_offering_config_id decimal(20,0),
pit_instr_offr_id decimal(20,0) not null,
unlimited_enrollment int(1) default null,
name varchar(10) default null,
uid_rolled_fwd_from decimal(20,0) default null,
duration_type_id decimal(20,0) default null,
instr_method_id decimal(20,0) default null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_instr_offer_config (
uniqueid number(20,0) primary key not null,
instr_offering_config_id number(20,0),
pit_instr_offr_id number(20,0) not null,
unlimited_enrollment number(1, 0) default null,
name varchar2(10) default null,
uid_rolled_fwd_from number(20,0) default null,
duration_type_id number(20,0) default null,
instr_method_id number(20,0) default null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_instr_offer_config add constraint fk_pit_ioc_to_pit_io foreign key (pit_instr_offr_id)
references %SCHEMA%.pit_instr_offering (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_instr_offer_config add constraint fk_pit_ioc_to_ioc foreign key (instr_offering_config_id)
references %SCHEMA%.instr_offering_config (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.pit_instr_offer_config add constraint fk_pit_ioc_to_dt foreign key (duration_type_id)
references %SCHEMA%.duration_type (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.pit_instr_offer_config add constraint fk_pit_ioc_to_im foreign key (instr_method_id)
references %SCHEMA%.instructional_method (uniqueid) on delete set null
</sql>
<mysql>
create table %SCHEMA%.pit_sched_subpart (
uniqueid decimal(20,0) primary key not null,
scheduling_subpart_id decimal(20,0),
pit_parent_id decimal(20,0) default null,
pit_config_id decimal(20,0) not null,
min_per_wk int(4) default null,
itype int(2) default null,
subpart_suffix varchar(5) default null,
credit_type decimal(20,0) default null,
credit_unit_type decimal(20,0) default null,
credit double default null,
student_allow_overlap int(1) default '0',
uid_rolled_fwd_from decimal(20,0) default null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_sched_subpart (
uniqueid number(20,0) primary key not null,
scheduling_subpart_id number(20,0),
pit_parent_id number(20,0) default null,
pit_config_id number(20,0) not null,
min_per_wk number(4, 0) default null,
itype number(2, 0) default null,
subpart_suffix varchar2(5) default null,
credit_type number(20,0) default null,
credit_unit_type number(20,0) default null,
credit float default null,
student_allow_overlap number(1, 0) default '0',
uid_rolled_fwd_from number(20,0) default null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_sched_subpart add constraint fk_pit_ss_to_pit_ioc foreign key (pit_config_id)
references %SCHEMA%.pit_instr_offer_config (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_sched_subpart add constraint fk_pit_ss_to_ss foreign key (scheduling_subpart_id)
references %SCHEMA%.scheduling_subpart (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.pit_sched_subpart add constraint fk_pit_ss_to_parent_pit_ss foreign key (pit_parent_id)
references %SCHEMA%.pit_sched_subpart (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_sched_subpart add constraint fk_pit_ss_to_itype foreign key (itype)
references %SCHEMA%.itype_desc (itype) on delete cascade
</sql>
<mysql>
create table %SCHEMA%.pit_class (
uniqueid decimal(20,0) primary key not null,
class_id decimal(20,0),
pit_subpart_id decimal(20,0) not null,
pit_parent_id decimal(20,0) default null,
class_limit int(10),
nbr_rooms int(4) default null,
date_pattern_id decimal(20,0) default null,
time_pattern_id decimal(20,0) default null,
managing_dept decimal(20,0) default null,
class_suffix varchar(10) default null,
enabled_for_stu_sched int(1) default '1',
section_number int(5) default null,
uid_rolled_fwd_from decimal(20,0) default null,
external_uid varchar(40) default null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_class (
uniqueid number(20,0) primary key not null,
class_id number(20,0),
pit_subpart_id number(20,0) not null,
pit_parent_id number(20,0) default null,
class_limit number(10, 0),
nbr_rooms number(4, 0) default null,
date_pattern_id number(20,0) default null,
time_pattern_id number(20,0) default null,
managing_dept number(20,0) default null,
class_suffix varchar2(10) default null,
enabled_for_stu_sched number(1, 0) default '1',
section_number number(5, 0) default null,
uid_rolled_fwd_from number(20,0) default null,
external_uid varchar2(40) default null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_class add constraint fk_pit_c_to_pit_ss foreign key (pit_subpart_id)
references %SCHEMA%.pit_sched_subpart (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_class add constraint fk_pit_c_to_c foreign key (class_id)
references %SCHEMA%.class_ (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.pit_class add constraint fk_pit_c_to_parent_pit_c foreign key (pit_parent_id)
references %SCHEMA%.pit_class (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_class add constraint fk_pit_c_to_dp foreign key (date_pattern_id)
references %SCHEMA%.date_pattern (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_class add constraint fk_pit_c_to_tp foreign key (time_pattern_id)
references %SCHEMA%.time_pattern (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_class add constraint fk_pit_c_to_d foreign key (managing_dept)
references %SCHEMA%.department (uniqueid) on delete cascade
</sql>
<mysql>
create table %SCHEMA%.pit_student (
uniqueid decimal(20,0) primary key not null,
point_in_time_data_id decimal(20,0) not null,
student_id decimal(20,0),
external_uid varchar(40) default null,
first_name varchar(100) default null,
middle_name varchar(100) default null,
last_name varchar(100) default null,
email varchar(200) default null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_student (
uniqueid number(20,0) primary key not null,
point_in_time_data_id number(20,0) not null,
student_id number(20,0),
external_uid varchar2(40) default null,
first_name varchar2(100) default null,
middle_name varchar2(100) default null,
last_name varchar2(100) default null,
email varchar2(200) default null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_student add constraint fk_pit_stu_to_pitd foreign key (point_in_time_data_id)
references %SCHEMA%.point_in_time_data (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_student add constraint fk_pit_stu_to_stu foreign key (student_id)
references %SCHEMA%.student (uniqueid) on delete set null
</sql>
<mysql>
create table %SCHEMA%.pit_student_class_enrl (
uniqueid decimal(20,0) primary key not null,
pit_student_id decimal(20,0) not null,
pit_class_id decimal(20,0) not null,
pit_course_offering_id decimal(20,0) not null,
timestamp date,
changed_by varchar(40) default null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_student_class_enrl (
uniqueid number(20,0) primary key not null,
pit_student_id number(20,0) not null,
pit_class_id number(20,0) not null,
pit_course_offering_id number(20,0) not null,
timestamp timestamp,
changed_by varchar2(40) default null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_student_class_enrl add constraint fk_pit_sce_to_pit_stu foreign key (pit_student_id)
references %SCHEMA%.pit_student (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_student_class_enrl add constraint fk_pit_sce_to_pit_c foreign key (pit_class_id)
references %SCHEMA%.pit_class (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_student_class_enrl add constraint fk_pit_sce_to_pit_co foreign key (pit_course_offering_id)
references %SCHEMA%.pit_course_offering (uniqueid) on delete cascade
</sql>
<mysql>
create table %SCHEMA%.pit_stu_aa_major_clasf (
uniqueid decimal(20,0) primary key not null,
pit_student_id decimal(20,0) not null,
acad_clasf_id decimal(20,0) not null,
acad_area_id decimal(20,0) not null,
major_id decimal(20,0) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_stu_aa_major_clasf (
uniqueid number(20,0) primary key not null,
pit_student_id number(20,0) not null,
acad_clasf_id number(20,0) not null,
acad_area_id number(20,0) not null,
major_id number(20,0) not null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_stu_aa_major_clasf add constraint fk_pit_stuamc_to_pit_stu foreign key (pit_student_id)
references %SCHEMA%.pit_student (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_stu_aa_major_clasf add constraint fk_pit_stuamc_to_ac foreign key (acad_clasf_id)
references %SCHEMA%.academic_classification (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_stu_aa_major_clasf add constraint fk_pit_stuamc_to_aa foreign key (acad_area_id)
references %SCHEMA%.academic_area (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_stu_aa_major_clasf add constraint fk_pit_stuamc_to_pm foreign key (major_id)
references %SCHEMA%.pos_major (uniqueid) on delete cascade
</sql>
<mysql>
create table %SCHEMA%.pit_stu_aa_minor_clasf (
uniqueid decimal(20,0) primary key not null,
pit_student_id decimal(20,0) not null,
acad_clasf_id decimal(20,0) not null,
acad_area_id decimal(20,0) not null,
minor_id decimal(20,0) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_stu_aa_minor_clasf (
uniqueid number(20,0) primary key not null,
pit_student_id number(20,0) not null,
acad_clasf_id number(20,0) not null,
acad_area_id number(20,0) not null,
minor_id number(20,0) not null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_stu_aa_minor_clasf add constraint fk_pit_stuamnc_to_pit_stu foreign key (pit_student_id)
references %SCHEMA%.pit_student (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_stu_aa_minor_clasf add constraint fk_pit_stuamnc_to_ac foreign key (acad_clasf_id)
references %SCHEMA%.academic_classification (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_stu_aa_minor_clasf add constraint fk_pit_stuamnc_to_aa foreign key (acad_area_id)
references %SCHEMA%.academic_area (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_stu_aa_minor_clasf add constraint fk_pit_stuamnc_to_pmn foreign key (minor_id)
references %SCHEMA%.pos_minor (uniqueid) on delete cascade
</sql>
<mysql>
create table %SCHEMA%.pit_dept_instructor (
uniqueid decimal(20,0) primary key not null,
point_in_time_data_id decimal(20,0) not null,
dept_instructor_id decimal(20,0),
external_uid varchar(40) default null,
career_acct varchar(20) default null,
lname varchar(100) default null,
fname varchar(100) default null,
mname varchar(100) default null,
pos_code_type decimal(20,0) default null,
department_id decimal(20,0) default null,
email varchar(200) default null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_dept_instructor (
uniqueid number(20,0) primary key not null,
point_in_time_data_id number(20,0) not null,
dept_instructor_id number(20,0),
external_uid varchar2(40) default null,
career_acct varchar2(20) default null,
lname varchar2(100) default null,
fname varchar2(100) default null,
mname varchar2(100) default null,
pos_code_type number(20,0) default null,
department_id number(20,0) default null,
email varchar2(200) default null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_dept_instructor add constraint fk_pit_di_to_pitd foreign key (point_in_time_data_id)
references %SCHEMA%.point_in_time_data (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_dept_instructor add constraint fk_pit_di_to_di foreign key (dept_instructor_id)
references %SCHEMA%.departmental_instructor (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.pit_dept_instructor add constraint fk_pit_di_to_d foreign key (department_id)
references %SCHEMA%.department (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_dept_instructor add constraint fk_pit_di_to_pt foreign key (pos_code_type)
references %SCHEMA%.position_type (uniqueid) on delete set null
</sql>
<mysql>
create table %SCHEMA%.pit_class_instructor (
uniqueid decimal(20,0) primary key not null,
pit_class_id decimal(20,0) not null,
pit_dept_instr_id decimal(20,0) not null,
percent_share int(3) default null,
normalized_pct_share int(3) default null,
responsibility_id decimal(20,0) default null,
is_lead int(1) default null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_class_instructor (
uniqueid number(20,0) primary key not null,
pit_class_id number(20,0) not null,
pit_dept_instr_id number(20,0) not null,
percent_share number(3, 0) default null,
normalized_pct_share number(3, 0) default null,
responsibility_id number(20,0) default null,
is_lead number(1, 0) default null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_class_instructor add constraint fk_pit_ci_to_pit_di foreign key (pit_dept_instr_id)
references %SCHEMA%.pit_dept_instructor (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_class_instructor add constraint fk_pit_ci_to_pit_c foreign key (pit_class_id)
references %SCHEMA%.pit_class (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_class_instructor add constraint fk_pit_ci_to_tr foreign key (responsibility_id)
references %SCHEMA%.teaching_responsibility (uniqueid) on delete cascade
</sql>
<mysql>
create table %SCHEMA%.pit_class_event (
uniqueid decimal(20,0) primary key not null,
pit_class_id decimal(20,0) not null,
event_name varchar(100)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_class_event (
uniqueid number(20,0) primary key not null,
pit_class_id number(20,0) not null,
event_name varchar2(100)
)
</plsql>
<sql>
alter table %SCHEMA%.pit_class_event add constraint fk_pit_ce_to_pit_c foreign key (pit_class_id)
references %SCHEMA%.pit_class (uniqueid) on delete cascade
</sql>
<mysql>
create table %SCHEMA%.pit_class_meeting (
uniqueid decimal(20,0) primary key not null,
pit_class_event_id decimal(20,0) not null,
meeting_date date not null,
start_period bigint(10) not null,
start_offset bigint(10),
stop_period bigint(10) not null,
stop_offset bigint(10),
location_perm_id decimal(20,0),
time_pattern_min_per_mtg bigint(10),
calculated_min_per_mtg bigint(10)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_class_meeting (
uniqueid number(20,0) primary key not null,
pit_class_event_id number(20,0) not null,
meeting_date timestamp not null,
start_period number(10, 0) not null,
start_offset number(10, 0),
stop_period number(10, 0) not null,
stop_offset number(10, 0),
location_perm_id number(20,0),
time_pattern_min_per_mtg number(10, 0),
calculated_min_per_mtg number(10, 0)
)
</plsql>
<sql>
alter table %SCHEMA%.pit_class_meeting add constraint fk_pit_cm_to_pit_ce foreign key (pit_class_event_id)
references %SCHEMA%.pit_class_event (uniqueid) on delete cascade
</sql>
<mysql>
create table %SCHEMA%.pit_class_mtg_util_period (
uniqueid decimal(20,0) primary key not null,
pit_class_meeting_id decimal(20,0) not null,
time_slot bigint(10) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_class_mtg_util_period (
uniqueid number(20,0) primary key not null,
pit_class_meeting_id number(20,0) not null,
time_slot number(10, 0) not null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_class_mtg_util_period add constraint fk_pit_cmup_to_pit_cm foreign key (pit_class_meeting_id)
references %SCHEMA%.pit_class_meeting (uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'PointInTimeData'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'HQLReports'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'PointInTimeDataEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'DataExchange'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'PointInTimeDataReports'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'HQLReports'
</sql>
</update>
<update version="172" date="1-Feb-2017" comment="Teachning Responsibility Options">
<mysql>alter table %SCHEMA%.teaching_responsibility add options int(10) not null default 0</mysql>
<plsql>alter table %SCHEMA%.teaching_responsibility add options number(10,0) default 0</plsql>
<plsql>alter table %SCHEMA%.teaching_responsibility add constraint nn_responsibility_options check (options is not null)</plsql>
</update>
<update version="173" date="8-Feb-2017" comment="Student Group Expected Size">
<mysql>alter table %SCHEMA%.student_group add expected_size int(10)</mysql>
<plsql>alter table %SCHEMA%.student_group add expected_size number(10,0)</plsql>
</update>
<update version="174" date="10-Feb-2017" comment="Duplicate Offering Coordinators">
<mysql>alter table %SCHEMA%.offering_coordinator add uniqueid decimal(20,0)</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>update %SCHEMA%.offering_coordinator o join (
select @uid\:=@uid+1 uid, offering_id, instructor_id from %SCHEMA%.offering_coordinator cross join (select @uid\:=%ID%) x
) as r on (o.offering_id = r.offering_id and o.instructor_id = r.instructor_id) set o.uniqueid = r.uid
</mysql>
<mysql into="ID">select ifnull(1 + max(uniqueid), %ID%) from %SCHEMA%.offering_coordinator</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi = 1 + (%ID% div 32767)</mysql>
<mysql>alter table %SCHEMA%.offering_coordinator modify uniqueid decimal(20,0) not null</mysql>
<mysql>alter table %SCHEMA%.offering_coordinator drop foreign key fk_offering_coord_instructor</mysql>
<mysql>alter table %SCHEMA%.offering_coordinator drop foreign key fk_offering_coord_offering</mysql>
<mysql>alter table %SCHEMA%.offering_coordinator drop primary key</mysql>
<mysql>alter table %SCHEMA%.offering_coordinator add primary key (uniqueid)</mysql>
<mysql>
alter table %SCHEMA%.offering_coordinator add constraint fk_offering_coord_offering foreign key (offering_id)
references %SCHEMA%.instructional_offering (uniqueid) on delete cascade
</mysql>
<mysql>
alter table %SCHEMA%.offering_coordinator add constraint fk_offering_coord_instructor foreign key (instructor_id)
references %SCHEMA%.departmental_instructor (uniqueid) on delete cascade
</mysql>
<mysql>alter table %SCHEMA%.offering_coordinator add percent_share int(3)</mysql>
<mysql>update %SCHEMA%.offering_coordinator set percent_share = 0</mysql>
<mysql>alter table %SCHEMA%.offering_coordinator modify percent_share int(3) not null</mysql>
<mysql>alter table %SCHEMA%.teaching_request add percent_share int(3)</mysql>
<mysql>update %SCHEMA%.teaching_request set percent_share = 0</mysql>
<mysql>alter table %SCHEMA%.teaching_request modify percent_share int(3) not null</mysql>
<plsql>alter table %SCHEMA%.offering_coordinator add uniqueid number(20)</plsql>
<plsql>update %SCHEMA%.offering_coordinator set uniqueid = pref_group_seq.nextval</plsql>
<plsql>alter table %SCHEMA%.offering_coordinator add constraint nn_offering_coord_id check (uniqueid is not null)</plsql>
<plsql>alter table %SCHEMA%.offering_coordinator drop primary key drop index</plsql>
<plsql>alter table %SCHEMA%.offering_coordinator add constraint pk_offering_coordinator primary key (uniqueid)</plsql>
<plsql>alter table %SCHEMA%.offering_coordinator add percent_share number(3,0)</plsql>
<plsql>update %SCHEMA%.offering_coordinator set percent_share = 0</plsql>
<plsql>alter table %SCHEMA%.offering_coordinator add constraint nn_offering_coord_share check (percent_share is not null)</plsql>
<plsql>alter table %SCHEMA%.teaching_request add percent_share number(3,0)</plsql>
<plsql>update %SCHEMA%.teaching_request set percent_share = 0</plsql>
<plsql>alter table %SCHEMA%.teaching_request add constraint nn_teachreq_share check (percent_share is not null)</plsql>
</update>
<update version="175" date="22-Feb-2017" comment="Additional Columns for the Online Student Scheduling Log">
<mysql>alter table %SCHEMA%.sectioning_log add cpu_time bigint(20)</mysql>
<mysql>alter table %SCHEMA%.sectioning_log add wall_time bigint(20)</mysql>
<mysql>alter table %SCHEMA%.sectioning_log add message varchar(255)</mysql>
<mysql>alter table %SCHEMA%.sectioning_log add api_get_time bigint(20)</mysql>
<mysql>alter table %SCHEMA%.sectioning_log add api_post_time bigint(20)</mysql>
<mysql>alter table %SCHEMA%.sectioning_log add api_exception varchar(255)</mysql>
<plsql>alter table %SCHEMA%.sectioning_log add cpu_time number(20)</plsql>
<plsql>alter table %SCHEMA%.sectioning_log add wall_time number(20)</plsql>
<plsql>alter table %SCHEMA%.sectioning_log add message varchar2(255 char)</plsql>
<plsql>alter table %SCHEMA%.sectioning_log add api_get_time number(20)</plsql>
<plsql>alter table %SCHEMA%.sectioning_log add api_post_time number(20)</plsql>
<plsql>alter table %SCHEMA%.sectioning_log add api_exception varchar2(255 char)</plsql>
</update>
<update version="176" date="23-Feb-2017" comment="Point In Time Data CHAR">
<plsql>alter table %SCHEMA%.point_in_time_data modify name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.point_in_time_data modify note varchar2(1000 char)</plsql>
<plsql>alter table %SCHEMA%.pit_instr_offering modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pit_course_offering modify course_nbr varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pit_course_offering modify perm_id varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.pit_course_offering modify title varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.pit_course_offering modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pit_instr_offer_config modify name varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.pit_sched_subpart modify subpart_suffix varchar2(5 char)</plsql>
<plsql>alter table %SCHEMA%.pit_class modify class_suffix varchar2(10 char)</plsql>
<plsql>alter table %SCHEMA%.pit_class modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pit_student modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pit_student modify first_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.pit_student modify middle_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.pit_student modify last_name varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.pit_student modify email varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.pit_student_class_enrl modify changed_by varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pit_dept_instructor modify external_uid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.pit_dept_instructor modify career_acct varchar2(20 char)</plsql>
<plsql>alter table %SCHEMA%.pit_dept_instructor modify lname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.pit_dept_instructor modify fname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.pit_dept_instructor modify mname varchar2(100 char)</plsql>
<plsql>alter table %SCHEMA%.pit_dept_instructor modify email varchar2(200 char)</plsql>
<plsql>alter table %SCHEMA%.pit_class_event modify event_name varchar2(100 char)</plsql>
</update>
<update version="177" date="3-Mar-2017" comment="Offering Notes">
<mysql>alter table %SCHEMA%.instructional_offering add notes varchar(2000)</mysql>
<plsql>alter table %SCHEMA%.instructional_offering add notes varchar2(2000 char)</plsql>
</update>
<update version="178" date="13-Mar-2017" comment="Point In Time Offering Coordinator">
<mysql>
create table %SCHEMA%.pit_offering_coord (
uniqueid decimal(20,0) primary key not null,
pit_offering_id decimal(20,0) not null,
pit_dept_instr_id decimal(20,0) not null,
responsibility_id decimal(20,0) default null,
percent_share int(3) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.pit_offering_coord (
uniqueid number(20,0) primary key not null,
pit_offering_id number(20,0) not null,
pit_dept_instr_id number(20,0) not null,
responsibility_id number(20,0) default null,
percent_share number(3,0) not null
)
</plsql>
<sql>
alter table %SCHEMA%.pit_offering_coord add constraint fk_pit_ofr_coord_pit_offr foreign key (pit_offering_id)
references %SCHEMA%.pit_instr_offering (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_offering_coord add constraint fk_pit_ofr_coord_pit_dept_inst foreign key (pit_dept_instr_id)
references %SCHEMA%.pit_dept_instructor (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.pit_offering_coord add constraint fk_pit_coord_resp foreign key (responsibility_id)
references %SCHEMA%.teaching_responsibility (uniqueid) on delete set null
</sql>
</update>
<update version="179" date="17-Mar-2017" comment="Student Academic Area-Classification-Major Tables">
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.pos_major (uniqueid, code, name, external_uid, session_id)
select @uid\:=@uid+1, '-', 'No Major', a.uniqueid, a.session_id
from %SCHEMA%.academic_area a cross join (select @uid\:=%ID%) x
where a.uniqueid in (select sa.acad_area_id from %SCHEMA%.student_acad_area sa where (select count(*) from %SCHEMA%.student_major m where m.student_id = sa.student_id) = 0)
</mysql>
<mysql into="ID">select greatest(ifnull(1 + max(uniqueid), %ID%), %ID%) from %SCHEMA%.pos_major</mysql>
<mysql>
insert into %SCHEMA%.pos_acad_area_major (major_id, academic_area_id)
select m.uniqueid, m.external_uid from %SCHEMA%.pos_major m
where m.code = '-' and m.name = 'No Major' and m.external_uid in (select a.uniqueid from %SCHEMA%.academic_area a)
</mysql>
<mysql>
insert into %SCHEMA%.student_major(student_id, major_id)
select distinct s.uniqueid, m.uniqueid
from %SCHEMA%.student_acad_area a, %SCHEMA%.student s, %SCHEMA%.pos_major m
where s.uniqueid = a.student_id and (select count(*) from %SCHEMA%.student_major m where m.student_id = s.uniqueid) = 0
and m.external_uid = a.acad_area_id and m.code = '-'
</mysql>
<mysql>
update %SCHEMA%.pos_major m set m.external_uid = '-' where m.code = '-' and m.name = 'No Major' and m.external_uid in (select a.uniqueid from %SCHEMA%.academic_area a)
</mysql>
<plsql>
insert into %SCHEMA%.pos_major (uniqueid, code, name, external_uid, session_id)
select %SCHEMA%.pos_major_seq.nextval, '-', 'No Major', a.uniqueid, a.session_id
from %SCHEMA%.academic_area a
where a.uniqueid in (select sa.acad_area_id from %SCHEMA%.student_acad_area sa where (select count(*) from %SCHEMA%.student_major m where m.student_id = sa.student_id) = 0)
</plsql>
<plsql>
insert into %SCHEMA%.pos_acad_area_major (major_id, academic_area_id)
select m.uniqueid, m.external_uid from %SCHEMA%.pos_major m
where m.code = '-' and m.name = 'No Major' and m.external_uid in (select a.uniqueid from %SCHEMA%.academic_area a)
</plsql>
<plsql>
insert into %SCHEMA%.student_major(student_id, major_id)
select distinct s.uniqueid, m.uniqueid
from %SCHEMA%.student_acad_area a, %SCHEMA%.student s, %SCHEMA%.pos_major m
where s.uniqueid = a.student_id and (select count(*) from %SCHEMA%.student_major m where m.student_id = s.uniqueid) = 0
and m.external_uid = a.acad_area_id and m.code = '-'
</plsql>
<plsql>
update %SCHEMA%.pos_major m set m.external_uid = '-' where m.code = '-' and m.name = 'No Major' and m.external_uid in (select a.uniqueid from %SCHEMA%.academic_area a)
</plsql>
<plsql>
create table %SCHEMA%.student_area_clasf_major (
uniqueid number(20,0) constraint nn_student_acmaj_id not null,
student_id number(20,0) constraint nn_student_acmaj_student not null,
acad_area_id number(20,0) constraint nn_student_acmaj_area not null,
acad_clasf_id number(20,0) constraint nn_student_acmaj_clasf not null,
major_id number(20,0) constraint nn_student_acmaj_major not null
)
</plsql>
<plsql>alter table %SCHEMA%.student_area_clasf_major add constraint pk_student_area_clasf_major primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.student_area_clasf_major (
uniqueid decimal(20,0) primary key not null,
student_id decimal(20,0) not null,
acad_area_id decimal(20,0) not null,
acad_clasf_id decimal(20,0) not null,
major_id decimal(20,0) not null
) engine = INNODB
</mysql>
<plsql>create unique index %SCHEMA%.uk_student_area_clasf_major on %SCHEMA%.student_area_clasf_major(student_id, acad_area_id, acad_clasf_id, major_id)</plsql>
<mysql>create unique index uk_student_area_clasf_major on %SCHEMA%.student_area_clasf_major(student_id, acad_area_id, acad_clasf_id, major_id)</mysql>
<sql>
alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_student foreign key (student_id)
references %SCHEMA%.student (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_area foreign key (acad_area_id)
references %SCHEMA%.academic_area (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_clasf foreign key (acad_clasf_id)
references %SCHEMA%.academic_classification (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_major foreign key (major_id)
references %SCHEMA%.pos_major (uniqueid) on delete cascade
</sql>
<mysql>
insert into %SCHEMA%.student_area_clasf_major (uniqueid, student_id, acad_area_id, acad_clasf_id, major_id)
select @uid\:=@uid+1 unique_id, a.student_id, a.acad_area_id, a.acad_clasf_id, m.major_id
from %SCHEMA%.student_acad_area a, %SCHEMA%.student_major m, %SCHEMA%.pos_acad_area_major am cross join (select @uid\:=%ID%) x
where m.student_id = a.student_id and am.academic_area_id = a.acad_area_id and am.major_id = m.major_id
</mysql>
<mysql into="ID">select ifnull(1 + max(uniqueid), %ID%) from %SCHEMA%.student_area_clasf_major</mysql>
<plsql>
insert into %SCHEMA%.student_area_clasf_major (uniqueid, student_id, acad_area_id, acad_clasf_id, major_id)
select pref_group_seq.nextval, a.student_id, a.acad_area_id, a.acad_clasf_id, m.major_id
from %SCHEMA%.student_acad_area a, %SCHEMA%.student_major m, %SCHEMA%.pos_acad_area_major am
where m.student_id = a.student_id and am.academic_area_id = a.acad_area_id and am.major_id = m.major_id
</plsql>
<plsql>
create table %SCHEMA%.student_area_clasf_minor (
uniqueid number(20,0) constraint nn_student_acmin_id not null,
student_id number(20,0) constraint nn_student_acmin_student not null,
acad_area_id number(20,0) constraint nn_student_acmin_area not null,
acad_clasf_id number(20,0) constraint nn_student_acmin_clasf not null,
minor_id number(20,0) constraint nn_student_acmin_minor not null
)
</plsql>
<plsql>alter table %SCHEMA%.student_area_clasf_minor add constraint pk_student_area_clasf_minor primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.student_area_clasf_minor (
uniqueid decimal(20,0) primary key not null,
student_id decimal(20,0) not null,
acad_area_id decimal(20,0) not null,
acad_clasf_id decimal(20,0) not null,
minor_id decimal(20,0) not null
) engine = INNODB
</mysql>
<plsql>create unique index %SCHEMA%.uk_student_area_clasf_minor on %SCHEMA%.student_area_clasf_minor(student_id, acad_area_id, acad_clasf_id, minor_id)</plsql>
<mysql>create unique index uk_student_area_clasf_minor on %SCHEMA%.student_area_clasf_minor(student_id, acad_area_id, acad_clasf_id, minor_id)</mysql>
<sql>
alter table %SCHEMA%.student_area_clasf_minor add constraint fk_student_acmin_student foreign key (student_id)
references %SCHEMA%.student (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.student_area_clasf_minor add constraint fk_student_acmin_area foreign key (acad_area_id)
references %SCHEMA%.academic_area (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.student_area_clasf_minor add constraint fk_student_acmin_clasf foreign key (acad_clasf_id)
references %SCHEMA%.academic_classification (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.student_area_clasf_minor add constraint fk_student_acmin_minor foreign key (minor_id)
references %SCHEMA%.pos_minor (uniqueid) on delete cascade
</sql>
<mysql>
insert into %SCHEMA%.student_area_clasf_minor (uniqueid, student_id, acad_area_id, acad_clasf_id, minor_id)
select @uid\:=@uid+1 unique_id, a.student_id, a.acad_area_id, a.acad_clasf_id, m.minor_id
from %SCHEMA%.student_acad_area a, %SCHEMA%.student_minor m, %SCHEMA%.pos_acad_area_minor am cross join (select @uid\:=%ID%) x
where m.student_id = a.student_id and am.academic_area_id = a.acad_area_id and am.minor_id = m.minor_id
</mysql>
<plsql>
insert into %SCHEMA%.student_area_clasf_minor (uniqueid, student_id, acad_area_id, acad_clasf_id, minor_id)
select pref_group_seq.nextval, a.student_id, a.acad_area_id, a.acad_clasf_id, m.minor_id
from %SCHEMA%.student_acad_area a, %SCHEMA%.student_minor m, %SCHEMA%.pos_acad_area_minor am
where m.student_id = a.student_id and am.academic_area_id = a.acad_area_id and am.minor_id = m.minor_id
</plsql>
<mysql into="ID">select ifnull(1 + max(uniqueid), %ID%) from %SCHEMA%.student_area_clasf_minor</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi = 1 + (%ID% div 32767)</mysql>
</update>
<update version="180" date="31" comment="Student Sectioning Solver Parameter">
<sql><![CDATA[
update %SCHEMA%.solver_parameter_def set
name = 'General.StudentSectioning',
default_value='Default',
description = 'Student Sectioning',
type = 'enum(Default,Deterministic,Branch & Bound,Local Search,B&B Groups)'
where name = 'General.DeterministicStudentSectioning'
]]></sql>
<sql>update %SCHEMA%.solver_parameter set value='Default'
where solver_param_def_id = (select uniqueid from solver_parameter_def where name = 'General.StudentSectioning')
and value = 'false'</sql>
<sql>update %SCHEMA%.solver_parameter set value='Deterministic'
where solver_param_def_id = (select uniqueid from solver_parameter_def where name = 'General.StudentSectioning')
and value = 'true'</sql>
</update>
<update version="181" date="18-Apr-2017" comment="Limit and Projection Snapshot Data">
<mysql>
alter table %SCHEMA%.class_ add snapshot_limit bigint(10) default null
</mysql>
<plsql>
alter table %SCHEMA%.class_ add snapshot_limit number(10, 0) default null
</plsql>
<mysql>
alter table %SCHEMA%.class_ add snapshot_limit_date datetime default null
</mysql>
<plsql>
alter table %SCHEMA%.class_ add snapshot_limit_date timestamp default null
</plsql>
<mysql>
alter table %SCHEMA%.instructional_offering add snapshot_limit bigint(10) default null
</mysql>
<plsql>
alter table %SCHEMA%.instructional_offering add snapshot_limit number(10, 0) default null
</plsql>
<mysql>
alter table %SCHEMA%.instructional_offering add snapshot_limit_date datetime default null
</mysql>
<plsql>
alter table %SCHEMA%.instructional_offering add snapshot_limit_date timestamp default null
</plsql>
<mysql>
alter table %SCHEMA%.course_offering add snapshot_proj_demand bigint(19) default null
</mysql>
<plsql>
alter table %SCHEMA%.course_offering add snapshot_proj_demand number(19, 0) default null
</plsql>
<mysql>
alter table %SCHEMA%.course_offering add snapshot_prj_dmd_date datetime default null
</mysql>
<plsql>
alter table %SCHEMA%.course_offering add snapshot_prj_dmd_date timestamp default null
</plsql>
<mysql>
alter table %SCHEMA%.curriculum_rule add snapshot_proj float default null
</mysql>
<plsql>
alter table %SCHEMA%.curriculum_rule add snapshot_proj float default null
</plsql>
<mysql>
alter table %SCHEMA%.curriculum_rule add snapshot_proj_date datetime default null
</mysql>
<plsql>
alter table %SCHEMA%.curriculum_rule add snapshot_proj_date timestamp default null
</plsql>
<mysql>
alter table %SCHEMA%.curriculum_clasf add snapshot_nr_students bigint(10) default null
</mysql>
<plsql>
alter table %SCHEMA%.curriculum_clasf add snapshot_nr_students number(10, 0) default null
</plsql>
<mysql>
alter table %SCHEMA%.curriculum_clasf add snapshot_nr_stu_date datetime default null
</mysql>
<plsql>
alter table %SCHEMA%.curriculum_clasf add snapshot_nr_stu_date timestamp default null
</plsql>
<mysql>
alter table %SCHEMA%.curriculum_course add snapshot_pr_share float default null
</mysql>
<plsql>
alter table %SCHEMA%.curriculum_course add snapshot_pr_share float default null
</plsql>
<mysql>
alter table %SCHEMA%.curriculum_course add snapshot_pr_shr_date datetime default null
</mysql>
<plsql>
alter table %SCHEMA%.curriculum_course add snapshot_pr_shr_date timestamp default null
</plsql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'LimitAndProjectionSnapshot'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PointInTimeData'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'LimitAndProjectionSnapshotSave'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PointInTimeDataEdit'
</sql>
</update>
<update version="182" date="6-May-2017" comment="Meeting Contacts">
<plsql>
create table %SCHEMA%.meeting_contact (
meeting_id number(20,0) constraint nn_meeting_contact_mtg not null,
contact_id number(20,0) constraint nn_meeting_contact_cont not null
)
</plsql>
<plsql>alter table %SCHEMA%.meeting_contact add constraint pk_meeting_contact primary key (meeting_id, contact_id)</plsql>
<mysql>
create table %SCHEMA%.meeting_contact (
meeting_id decimal(20,0) not null,
contact_id decimal(20,0) not null,
primary key (meeting_id, contact_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.meeting_contact add constraint fk_meeting_contact_mtg foreign key (meeting_id)
references %SCHEMA%.meeting (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.meeting_contact add constraint fk_meeting_contact_cont foreign key (contact_id)
references %SCHEMA%.event_contact (uniqueid) on delete cascade
</sql>
</update>
<update version="183" date="1-Jun-2017" comment="User Data External Id Fix">
<plsql>alter table %SCHEMA%.user_data modify external_uid varchar2(40 char)</plsql>
<mysql>alter table %SCHEMA%.user_data modify external_uid varchar(40) not null</mysql>
</update>
<update version="184" date="28-Jun-2017" comment="Longer configuration name and class suffix">
<plsql>alter table %SCHEMA%.instr_offering_config modify name varchar2(20 char)</plsql>
<mysql>alter table %SCHEMA%.instr_offering_config modify name varchar(20)</mysql>
<plsql>alter table %SCHEMA%.class_ modify class_suffix varchar2(20 char)</plsql>
<mysql>alter table %SCHEMA%.class_ modify class_suffix varchar(20)</mysql>
</update>
<update version="185" date="7-Jul-2017" comment="Student Sectioning Solver Save">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSectioningSolverSave'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StudentSectioningSolver'
</sql>
</update>
<update version="186" date="24-Jul-2017" comment="Event Service Providers">
<plsql>
create table %SCHEMA%.service_provider (
uniqueid number(20,0) constraint nn_service_provider_id not null,
reference varchar2(20 char) constraint nn_service_provider_ref not null,
label varchar2(60 char) constraint nn_service_provider_label not null,
note varchar2(1000 char),
email varchar2(200 char),
options number(10,0) default 0 constraint nn_service_provider_opt not null
)
</plsql>
<plsql>alter table %SCHEMA%.service_provider add constraint pk_service_provider primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.service_provider (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
note varchar(1000),
email varchar(200),
options int(10) not null default 0
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.event_service_provider (
event_id number(20,0) constraint nn_evt_service_event not null,
provider_id number(20,0) constraint nn_evt_service_provider not null
)
</plsql>
<plsql>alter table %SCHEMA%.event_service_provider add constraint pk_event_service_provider primary key (event_id, provider_id)</plsql>
<mysql>
create table %SCHEMA%.event_service_provider (
event_id decimal(20,0) not null,
provider_id decimal(20,0) not null,
primary key (event_id, provider_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.event_service_provider add constraint fk_evt_service_event foreign key (event_id)
references %SCHEMA%.event (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.event_service_provider add constraint fk_evt_service_provider foreign key (provider_id)
references %SCHEMA%.service_provider (uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventServiceProviders'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'SponsoringOrganizations'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventServiceProviderEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'SponsoringOrganizationEdit'
</sql>
</update>
<update version="187" date="26-Jul-2017" comment="Event Management Session Status">
<mysql><![CDATA[
update %SCHEMA%.dept_status_type set status = status + 2097152 where apply = 1 and reference not in ('initial', 'finished') and (status & 262144 = 0)
]]></mysql>
<plsql>update %SCHEMA%.dept_status_type set status = status + 2097152 where apply = 1 and reference not in ('initial', 'finished') and bitand(status,262144) = 0</plsql>
</update>
<update version="188" date="1-Aug-2017" comment="Event Service Provider">
<sql>alter table %SCHEMA%.service_provider drop column options</sql>
<plsql>alter table %SCHEMA%.service_provider add session_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.service_provider add session_id decimal(20,0)</mysql>
<plsql>alter table %SCHEMA%.service_provider add department_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.service_provider add department_id decimal(20,0)</mysql>
<plsql>alter table %SCHEMA%.service_provider add all_rooms number(1) default 1</plsql>
<mysql>alter table %SCHEMA%.service_provider add all_rooms int(1) default 1</mysql>
<plsql>alter table %SCHEMA%.service_provider add visible number(1) default 1</plsql>
<mysql>alter table %SCHEMA%.service_provider add visible int(1) default 1</mysql>
<sql>
alter table %SCHEMA%.service_provider add constraint fk_service_provider_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.service_provider add constraint fk_service_provider_dept foreign key (department_id)
references %SCHEMA%.department (uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventServiceProviderEditGlobal'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StandardEventNotesGlobalEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventServiceProviderEditSession'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'SponsoringOrganizationEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'EventServiceProviderEditDepartment'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'EventMeetingApprove'
</sql>
<sql>delete from %SCHEMA%.rights where value = 'EventServiceProviderEdit'</sql>
<plsql>
create table %SCHEMA%.room_service_provider (
location_id number(20,0) constraint nn_room_service_location not null,
provider_id number(20,0) constraint nn_room_service_provider not null
)
</plsql>
<plsql>alter table %SCHEMA%.room_service_provider add constraint pk_room_service_provider primary key (location_id, provider_id)</plsql>
<mysql>
create table %SCHEMA%.room_service_provider (
location_id decimal(20,0) not null,
provider_id decimal(20,0) not null,
primary key (location_id, provider_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.room_service_provider add constraint fk_room_service_loc foreign key (location_id)
references %SCHEMA%.room (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.room_service_provider add constraint fk_room_service_provider foreign key (provider_id)
references %SCHEMA%.service_provider (uniqueid) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.location_service_provider (
location_id number(20,0) constraint nn_loc_service_location not null,
provider_id number(20,0) constraint nn_loc_service_provider not null
)
</plsql>
<plsql>alter table %SCHEMA%.location_service_provider add constraint pk_location_service_provider primary key (location_id, provider_id)</plsql>
<mysql>
create table %SCHEMA%.location_service_provider (
location_id decimal(20,0) not null,
provider_id decimal(20,0) not null,
primary key (location_id, provider_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.location_service_provider add constraint fk_location_service_loc foreign key (location_id)
references %SCHEMA%.non_university_location (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.location_service_provider add constraint fk_location_service_provider foreign key (provider_id)
references %SCHEMA%.service_provider (uniqueid) on delete cascade
</sql>
</update>
<update version="189" date="26-Sep-2017" comment="Larger Event Note">
<plsql>alter table %SCHEMA%.event_note modify text_note varchar2(2000 char)</plsql>
<mysql>alter table %SCHEMA%.event_note modify text_note varchar(2000)</mysql>
</update>
<update version="190" date="25-Oct-2017" comment="Longer Date Pattern Name">
<plsql>alter table %SCHEMA%.date_pattern modify name varchar2(100 char)</plsql>
<mysql>alter table %SCHEMA%.date_pattern modify name varchar(100)</mysql>
</update>
<update version="191" date="9-Nov-2017" comment="Registration Student Status Type">
<mysql><![CDATA[update %SCHEMA%.sectioning_status set status = status + 256 where (status & 64 = 64) and (status & 256 = 0)]]></mysql>
<plsql>update %SCHEMA%.sectioning_status set status = status + 256 where bitand(status, 64) = 64 and bitand(status, 256) = 0</plsql>
</update>
<update version="192" date="28-Nov-2017" comment="Staff campus">
<plsql>alter table %SCHEMA%.staff add campus varchar2(20 char)</plsql>
<mysql>alter table %SCHEMA%.staff add campus varchar(20) null</mysql>
</update>
<update version="193" date="8-Jan-2018" comment="Student Advisors">
<mysql>
create table %SCHEMA%.advisor (
uniqueid decimal(20,0) primary key not null,
external_uid varchar(40) not null,
first_name varchar(100),
middle_name varchar(100),
last_name varchar(100),
acad_title varchar(50),
email varchar(200),
session_id decimal(20,0) not null,
role_id decimal(20,0) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.advisor (
uniqueid number(20,0) constraint nn_advisor_uniqueid not null,
external_uid varchar2(40 char) constraint nn_advisor_external_uid not null,
first_name varchar2(100 char),
middle_name varchar2(100 char),
last_name varchar2(100 char),
acad_title varchar2(50 char),
email varchar2(200 char),
session_id number(20,0) constraint nn_advisor_session not null,
role_id number(20,0) constraint nn_advisor_role not null
)
</plsql>
<plsql>alter table %SCHEMA%.advisor add constraint pk_advisor primary key (uniqueid)</plsql>
<sql>
alter table %SCHEMA%.advisor add constraint fk_advisor_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.advisor add constraint fk_advisor_role foreign key (role_id)
references %SCHEMA%.roles (role_id) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.student_advisor (
student_id number(20,0) constraint nn_std_adv_student not null,
advisor_id number(20,0) constraint nn_std_adv_advisor not null
)
</plsql>
<plsql>alter table %SCHEMA%.student_advisor add constraint pk_student_advisor primary key (student_id, advisor_id)</plsql>
<mysql>
create table %SCHEMA%.student_advisor (
student_id decimal(20,0) not null,
advisor_id decimal(20,0) not null,
primary key (student_id, advisor_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.student_advisor add constraint fk_std_adv_student foreign key (student_id)
references %SCHEMA%.student (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.student_advisor add constraint fk_std_adv_advisor foreign key (advisor_id)
references %SCHEMA%.advisor (uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentAdvisorEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StudentGroupEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentAdvisors'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StudentGroups'
</sql>
<plsql>create index %SCHEMA%.idx_advisor on %SCHEMA%.advisor(external_uid, role_id)</plsql>
<mysql>create index idx_advisor on %SCHEMA%.advisor(external_uid, role_id)</mysql>
</update>
<update version="194" date="24-Jan-2018" comment="Longer configuration name and class suffix in Point In Time Data">
<plsql>alter table %SCHEMA%.pit_instr_offer_config modify name varchar2(20 char)</plsql>
<mysql>alter table %SCHEMA%.pit_instr_offer_config modify name varchar(20)</mysql>
<plsql>alter table %SCHEMA%.pit_class modify class_suffix varchar2(20 char)</plsql>
<mysql>alter table %SCHEMA%.pit_class modify class_suffix varchar(20)</mysql>
</update>
<update version="195" date="26-Jan-2018" comment="Student Scheduling Permissions">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingAdvisorCanModifyMyStudents'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StudentSchedulingAdvisor'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingAdvisorCanModifyAllStudents'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StudentSchedulingAdvisor'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingCanRegister'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('StudentSchedulingAdmin','StudentSchedulingAdvisor')
</sql>
<sql onFail="next">
insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingCanRegister' as value from %SCHEMA%.roles where reference = 'Student')
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingCanEnroll'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value in ('StudentSchedulingAdmin','StudentSchedulingAdvisor')
</sql>
<sql onFail="next">
insert into %SCHEMA%.rights (select role_id, 'StudentSchedulingCanEnroll' as value from %SCHEMA%.roles where reference = 'Student')
</sql>
<mysql><![CDATA[update %SCHEMA%.sectioning_status set status = status + 3584 where (status & 256 = 256) and (status & 3584 = 0)]]></mysql>
<plsql>update %SCHEMA%.sectioning_status set status = status + 3584 where bitand(status, 256) = 256 and bitand(status, 3584) = 0</plsql>
</update>
<update version="196" date="27-Jan-2018" comment="Longer class suffix">
<plsql>alter table %SCHEMA%.class_ modify class_suffix varchar2(40 char)</plsql>
<mysql>alter table %SCHEMA%.class_ modify class_suffix varchar(40)</mysql>
<plsql>alter table %SCHEMA%.pit_class modify class_suffix varchar2(40 char)</plsql>
<mysql>alter table %SCHEMA%.pit_class modify class_suffix varchar(40)</mysql>
</update>
<update version="197" date="2-Feb-2018" comment="Default Date Pattern foreign key">
<mysql>alter table %SCHEMA%.sessions drop foreign key fk_session_datepatt</mysql>
<plsql>alter table %SCHEMA%.sessions drop constraint fk_session_datepatt</plsql>
<sql>alter table %SCHEMA%.sessions add constraint fk_session_datepatt foreign key (def_datepatt_id)
references %SCHEMA%.date_pattern (uniqueid) on delete set null
</sql>
<mysql>alter table %SCHEMA%.sessions drop foreign key fk_sessions_status_type</mysql>
<plsql>alter table %SCHEMA%.sessions drop constraint fk_sessions_status_type</plsql>
<sql>alter table %SCHEMA%.sessions add constraint fk_sessions_status_type foreign key (status_type)
references %SCHEMA%.dept_status_type (uniqueid) on delete set null
</sql>
</update>
<update version="198" date="5-Feb-2018" comment="Course Request additional fields">
<plsql>alter table %SCHEMA%.course_request add req_status number(10)</plsql>
<plsql>alter table %SCHEMA%.course_request add req_extid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.course_request add req_ts date</plsql>
<mysql>alter table %SCHEMA%.course_request add req_status bigint(10)</mysql>
<mysql>alter table %SCHEMA%.course_request add req_extid varchar(40)</mysql>
<mysql>alter table %SCHEMA%.course_request add req_ts datetime</mysql>
<plsql>create index %SCHEMA%.idx_course_req_extid on %SCHEMA%.course_request(req_extid)</plsql>
<mysql>create index idx_course_req_extid on %SCHEMA%.course_request(req_extid)</mysql>
</update>
<update version="199" date="12-Feb-2018" comment="Student additional fields">
<sql>alter table %SCHEMA%.student add max_credit float</sql>
<sql>alter table %SCHEMA%.student add req_credit float</sql>
<plsql>alter table %SCHEMA%.student add req_status number(10)</plsql>
<plsql>alter table %SCHEMA%.student add req_extid varchar2(40 char)</plsql>
<plsql>alter table %SCHEMA%.student add req_ts date</plsql>
<mysql>alter table %SCHEMA%.student add req_status bigint(10)</mysql>
<mysql>alter table %SCHEMA%.student add req_extid varchar(40)</mysql>
<mysql>alter table %SCHEMA%.student add req_ts datetime</mysql>
</update>
<update version="200" date="14-Feb-2018" comment="Student group type">
<plsql>
create table %SCHEMA%.std_group_type (
uniqueid number(20,0) constraint nn_std_group_type_uniqueid not null,
reference varchar2(20 char) constraint nn_std_group_type_reference not null,
label varchar2(60 char) constraint nn_std_group_type_label not null,
together number(1,0) constraint nn_std_group_type_together not null
)
</plsql>
<plsql>alter table %SCHEMA%.std_group_type add constraint pk_std_group_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.std_group_type (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
together int(1) not null
) engine = INNODB
</mysql>
<plsql>alter table %SCHEMA%.student_group add type_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.student_group add type_id decimal(20,0) default null</mysql>
<sql>
alter table %SCHEMA%.student_group
add constraint fk_std_group_type foreign key (type_id)
references %SCHEMA%.std_group_type (uniqueid) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentGroupTypes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PreferenceLevels'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentGroupTypeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PreferenceLevelEdit'
</sql>
</update>
<update version="201" date="14-Mar-2018" comment="Student group type allow disabled">
<plsql>alter table %SCHEMA%.std_group_type add allow_disabled number(5, 0) default 0</plsql>
<plsql>alter table %SCHEMA%.std_group_type add constraint nn_std_group_type_disabled check (allow_disabled is not null)</plsql>
<mysql>alter table %SCHEMA%.std_group_type add allow_disabled int(5) not null default 0</mysql>
</update>
<update version="202" date="26-Mar-2018" comment="Student status effective period">
<mysql>alter table %SCHEMA%.sectioning_status add fallback_id decimal(20,0) default null</mysql>
<plsql>alter table %SCHEMA%.sectioning_status add fallback_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.sectioning_status add start_date date default null</mysql>
<plsql>alter table %SCHEMA%.sectioning_status add start_date date</plsql>
<mysql>alter table %SCHEMA%.sectioning_status add stop_date date default null</mysql>
<plsql>alter table %SCHEMA%.sectioning_status add stop_date date</plsql>
<mysql>alter table %SCHEMA%.sectioning_status add start_slot bigint(10) default null</mysql>
<plsql>alter table %SCHEMA%.sectioning_status add start_slot number(10,0)</plsql>
<mysql>alter table %SCHEMA%.sectioning_status add stop_slot bigint(10) default null</mysql>
<plsql>alter table %SCHEMA%.sectioning_status add stop_slot number(10,0)</plsql>
<sql>
alter table %SCHEMA%.sectioning_status add constraint fk_sct_status_fallback foreign key (fallback_id)
references %SCHEMA%.sectioning_status (uniqueid) on delete set null
</sql>
</update>
<update version="203" date="9-Apr-2018" comment="Student group type advisors">
<plsql>alter table %SCHEMA%.std_group_type add advisor number(1) default 0</plsql>
<plsql>alter table %SCHEMA%.std_group_type add constraint nn_std_group_type_advisor check (advisor is not null)</plsql>
<mysql>alter table %SCHEMA%.std_group_type add advisor int(1) not null default 0</mysql>
</update>
<update version="204" date="10-Apr-2018" comment="Saved HQL Parameters">
<mysql>
create table %SCHEMA%.hql_parameter (
hql_id decimal(20,0) not null,
name varchar(128) not null,
label varchar(256) null,
type varchar(2048) not null,
default_value varchar(2048) null,
primary key (hql_id, name)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.hql_parameter (
hql_id number(20,0) constraint nn_hql_param_id not null,
name varchar2(128 char) constraint nn_hql_param_name not null,
label varchar2(256 char),
type varchar2(2048 char) constraint nn_hql_param_type not null,
default_value varchar2(2048 char)
)
</plsql>
<plsql>alter table %SCHEMA%.hql_parameter add constraint pk_hql_parameter primary key (hql_id, name)</plsql>
<sql>alter table %SCHEMA%.hql_parameter add constraint fk_hql_parameter foreign key (hql_id) references %SCHEMA%.saved_hql(uniqueid) on delete cascade</sql>
</update>
<update version="205" date="12-Apr-2018" comment="Longer Solver Parameter Type">
<plsql>alter table %SCHEMA%.solver_parameter_def modify type varchar2(1000 char)</plsql>
<mysql>alter table %SCHEMA%.solver_parameter_def modify type varchar(1000)</mysql>
</update>
<update version="206" date="19-Apr-2018" comment="Spec Reg and Validation Student Status">
<mysql><![CDATA[update %SCHEMA%.sectioning_status set status = status + 16384 where (status & 1) = 1 and (status & 16384) = 0]]></mysql>
<mysql><![CDATA[update %SCHEMA%.sectioning_status set status = status + 8192 where (status & 256) = 256 and (status & 8192) = 0]]></mysql>
<plsql>update %SCHEMA%.sectioning_status set status = status + 16384 where bitand(status, 1) = 1 and bitand(status, 16384) = 0</plsql>
<plsql>update %SCHEMA%.sectioning_status set status = status + 8192 where bitand(status, 256) = 256 and bitand(status, 8192) = 0</plsql>
</update>
<update version="207" date="16-May-2018" comment="Automation">
<mysql>
create table %SCHEMA%.task (
uniqueid decimal(20,0) primary key not null,
name varchar(128) not null,
session_id decimal(20,0) not null,
script_id decimal(20,0) not null,
owner_id decimal(20,0) not null,
email varchar(1000) null,
input_file longblob null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.task (
uniqueid number(20,0) constraint nn_task_uniqueid not null,
name varchar2(128 char) constraint nn_task_name not null,
session_id number(20,0) constraint nn_task_session not null,
script_id number(20,0) constraint nn_task_script not null,
owner_id number(20,0) constraint nn_task_owner not null,
email varchar2(1000 char),
input_file blob
)
</plsql>
<plsql>alter table %SCHEMA%.task add constraint pk_task primary key (uniqueid)</plsql>
<sql>alter table %SCHEMA%.task add constraint fk_task_sesssion foreign key (session_id) references %SCHEMA%.sessions (uniqueid) on delete cascade</sql>
<sql>alter table %SCHEMA%.task add constraint fk_task_script foreign key (script_id) references %SCHEMA%.script (uniqueid) on delete cascade</sql>
<sql>alter table %SCHEMA%.task add constraint fk_task_owner foreign key (owner_id) references %SCHEMA%.timetable_manager (uniqueid) on delete cascade</sql>
<mysql>
create table %SCHEMA%.task_parameter (
task_id decimal(20,0) not null,
name varchar(128) not null,
value varchar(2048),
primary key (task_id, name)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.task_parameter (
task_id number(20,0) constraint nn_taskparm_id not null,
name varchar2(128 char) constraint nn_taskparm_name not null,
value varchar2(2048 char)
)
</plsql>
<plsql>alter table %SCHEMA%.task_parameter add constraint pk_task_parameter primary key (task_id, name)</plsql>
<sql>alter table %SCHEMA%.task_parameter add constraint fk_taskparam_task foreign key (task_id) references %SCHEMA%.task (uniqueid) on delete cascade</sql>
<mysql>
create table %SCHEMA%.task_execution (
uniqueid decimal(20,0) primary key not null,
task_id decimal(20,0) not null,
exec_date bigint(10) not null,
exec_period bigint(10) not null,
status bigint(10) not null,
created_date datetime not null,
scheduled_date datetime not null,
queued_date datetime null,
started_date datetime null,
finished_date datetime null,
log_file longtext binary null,
output_file longblob null,
output_name varchar(260) null,
output_content varchar(260) null,
status_message varchar(200) null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.task_execution (
uniqueid number(20,0) constraint nn_taskexe_uniqueid not null,
task_id number(20,0) constraint nn_taskexe_task not null,
exec_date number(10) constraint nn_taskexe_date not null,
exec_period number(10) constraint nn_taskexe_period not null,
status number(10) constraint nn_taskexe_status not null,
created_date timestamp constraint nn_taskexe_created not null,
scheduled_date timestamp constraint nn_taskexe_scheduled not null,
queued_date timestamp,
started_date timestamp,
finished_date timestamp,
log_file clob,
output_file blob,
output_name varchar2(260 char),
output_content varchar2(260 char),
status_message varchar2(200 char)
)
</plsql>
<plsql>alter table %SCHEMA%.task_execution add constraint pk_task_execution primary key (uniqueid)</plsql>
<sql>alter table %SCHEMA%.task_execution add constraint fk_taskexec_task foreign key (task_id) references %SCHEMA%.task (uniqueid) on delete cascade</sql>
<mysql>create index idx_taskexe_schdstatus on %SCHEMA%.task_execution(status, scheduled_date)</mysql>
<plsql>create index %SCHEMA%.idx_taskexe_schdstatus on %SCHEMA%.task_execution(status, scheduled_date)</plsql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'Tasks'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Scripts'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'TaskDetail'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Scripts'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'TaskEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'ScriptEdit'
</sql>
</update>
<update version="208" date="29-May-2018" comment="Grouping">
<plsql>
alter table %SCHEMA%.distribution_pref rename column grouping to dist_grouping
</plsql>
<mysql>
alter table %SCHEMA%.distribution_pref change column `grouping` dist_grouping bigint(10) null
</mysql>
</update>
<update version="209" date="18-Jun-2018" comment="Longer student status message">
<plsql>alter table %SCHEMA%.sectioning_status modify message varchar2(500 char)</plsql>
<mysql>alter table %SCHEMA%.sectioning_status modify message varchar(500)</mysql>
</update>
<update version="210" date="16-Aug-2018" comment="Student Sectioning Session Status">
<plsql>alter table %SCHEMA%.sectioning_status add session_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.sectioning_status add session_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.sectioning_status add constraint fk_sct_status_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
</update>
<update version="211" date="20-Aug-2018" comment="Disabled Overrides">
<plsql>
create table %SCHEMA%.override_type (
uniqueid number(20,0) constraint nn_override_type_id not null,
reference varchar2(20 char) constraint nn_override_type_ref not null,
label varchar2(60 char) constraint nn_override_type_label not null
)
</plsql>
<plsql>alter table %SCHEMA%.override_type add constraint pk_override_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.override_type (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.disabled_override (
course_id number(20,0) constraint nn_disb_override_course not null,
type_id number(20,0) constraint nn_disb_override_type not null
)
</plsql>
<plsql>alter table %SCHEMA%.disabled_override add constraint pk_disabled_overrides primary key (course_id, type_id)</plsql>
<mysql>
create table %SCHEMA%.disabled_override (
course_id decimal(20,0) not null,
type_id decimal(20,0) not null,
primary key (course_id, type_id)
) engine = INNODB
</mysql>
<sql>
alter table %SCHEMA%.disabled_override add constraint fk_disb_override_course foreign key (course_id)
references %SCHEMA%.course_offering (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.disabled_override add constraint fk_disb_override_type foreign key (type_id)
references %SCHEMA%.override_type (uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'OverrideTypes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'OverrideTypeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'CourseTypeEdit'
</sql>
</update>
<update version="212" date="5-Oct-2018" comment="Published student scheduling solutions">
<plsql>
create table %SCHEMA%.sct_solution_log (
uniqueid number(20,0) constraint nn_sct_sol_log_id not null,
session_id number(20,0) constraint nn_sct_sol_log_session not null,
owner_id number(20,0) constraint nn_sct_sol_log_mgr not null,
time_stamp date constraint nn_sct_sol_log_ts not null,
data blob constraint nn_sct_sol_log_data not null,
info varchar2(2000 char) not null
)
</plsql>
<plsql>alter table %SCHEMA%.sct_solution_log add constraint pk_sct_solution_log primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.sct_solution_log (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
owner_id decimal(20,0) not null,
time_stamp datetime not null,
data longblob not null,
info varchar(2000) not null
) engine = INNODB
</mysql>
<sql>alter table %SCHEMA%.sct_solution_log add constraint fk_sct_sol_log_session foreign key (session_id) references %SCHEMA%.sessions (uniqueid) on delete cascade</sql>
<sql>alter table %SCHEMA%.sct_solution_log add constraint fk_sct_sol_log_owner foreign key (owner_id) references %SCHEMA%.timetable_manager (uniqueid) on delete cascade</sql>
</update>
<update version="213" date="21-Nov-2018" comment="Student Schedule Quality">
<mysql into="GGEN">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSct'</mysql>
<mysql into="OGEN">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GGEN%</mysql>
<mysql into="GSW">select uniqueid from %SCHEMA%.solver_parameter_group where name='StudentSctWeights'</mysql>
<mysql into="OSW">select max(ord) from %SCHEMA%.solver_parameter_def where solver_param_group_id=%GSW%</mysql>
<mysql into="ID">select 32767 * next_hi from %SCHEMA%.hibernate_unique_key</mysql>
<mysql>
insert into %SCHEMA%.solver_parameter_def
(uniqueid, name, default_value, description, type, ord, visible, solver_param_group_id) values
(%ID% + 0, 'Distances.ShortDistanceAccommodationReference', 'SD', 'Need short distances accommodation reference', 'text', %OGEN% + 1, 1, %GGEN%),
(%ID% + 1, 'StudentLunch.StartSlot', '132', 'Student Lunch Breeak: first time slot', 'integer', %OGEN% + 2, 1, %GGEN%),
(%ID% + 2, 'StudentLunch.EndStart', '156', 'Student Lunch Breeak: last time slot', 'integer', %OGEN% + 3, 1, %GGEN%),
(%ID% + 3, 'StudentLunch.Length', '6', 'Student Lunch Breeak: time for lunch (number of slots)', 'integer', %OGEN% + 4, 1, %GGEN%),
(%ID% + 4, 'TravelTime.MaxTravelGap', '12', 'Travel Time: max travel gap (number of slots)', 'integer', %OGEN% + 5, 1, %GGEN%),
(%ID% + 5, 'WorkDay.WorkDayLimit', '72', 'Work Day: initial allowance (number of slots)', 'integer', %OGEN% + 6, 1, %GGEN%),
(%ID% + 6, 'WorkDay.EarlySlot', '102', 'Work Day: early morning time slot', 'integer', %OGEN% + 7, 1, %GGEN%),
(%ID% + 7, 'WorkDay.LateSlot', '210', 'Work Day: late evening time slot', 'integer', %OGEN% + 8, 1, %GGEN%),
(%ID% + 8, 'StudentWeights.BackToBackDistance', '6', 'Work Day: max back-to-back distance (number of slots)', 'integer', %OGEN% + 9, 1, %GGEN%),
(%ID% + 9, 'StudentWeights.ShortDistanceConflict', '0.2000', 'Distance conflict (students needed short distances)', 'double', %OSW% + 1, 1, %GSW%),
(%ID% + 10, 'StudentWeights.LunchBreakFactor', '0.0050', 'Lunch break conflict', 'double', %OSW% + 2, 1, %GSW%),
(%ID% + 11, 'StudentWeights.TravelTimeFactor', '0.0010', 'Travel time conflict (multiplied by distance in minutes)', 'double', %OSW% + 3, 1, %GSW%),
(%ID% + 12, 'StudentWeights.BackToBackFactor', '-0.0010', 'Back-to-back conflict (negative value: prefer no gaps)', 'double', %OSW% + 4, 1, %GSW%),
(%ID% + 13, 'StudentWeights.WorkDayFactor', '0.0100', 'Work-day conflict (multiplied by the number of hours over the allowance)', 'double', %OSW% + 5, 1, %GSW%),
(%ID% + 14, 'StudentWeights.TooEarlyFactor', '0.0500', 'Too early conflict', 'double', %OSW% + 6, 1, %GSW%),
(%ID% + 15, 'StudentWeights.TooLateFactor', '0.0250', 'Too late conflict', 'double', %OSW% + 7, 1, %GSW%)
</mysql>
<mysql>update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1</mysql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'Distances.ShortDistanceAccommodationReference' as name,
'SD' as default_value,
'Need short distances accommodation reference' as description,
'text' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentLunch.StartSlot' as name,
'132' as default_value,
'Student Lunch Breeak: first time slot' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentLunch.EndStart' as name,
'156' as default_value,
'Student Lunch Breeak: last time slot' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentLunch.Length' as name,
'6' as default_value,
'Student Lunch Breeak: time for lunch (number of slots)' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'TravelTime.MaxTravelGap' as name,
'12' as default_value,
'Travel Time: max travel gap (number of slots)' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'WorkDay.WorkDayLimit' as name,
'72' as default_value,
'Work Day: initial allowance (number of slots)' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'WorkDay.EarlySlot' as name,
'102' as default_value,
'Work Day: early morning time slot' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'WorkDay.LateSlot' as name,
'210' as default_value,
'Work Day: late evening time slot' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.BackToBackDistance' as name,
'6' as default_value,
'Work Day: max back-to-back distance (number of slots)' as description,
'integer' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSct') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSct')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.ShortDistanceConflict' as name,
'0.2000' as default_value,
'Distance conflict (students needed short distances)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.LunchBreakFactor' as name,
'0.0050' as default_value,
'Lunch break conflict' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.TravelTimeFactor' as name,
'0.0010' as default_value,
'Travel time conflict (multiplied by distance in minutes)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.BackToBackFactor' as name,
'-0.0010' as default_value,
'Back-to-back conflict (negative value: prefer no gaps)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.WorkDayFactor' as name,
'0.0100' as default_value,
'Work-day conflict (multiplied by the number of hours over the allowance)' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.TooEarlyFactor' as name,
'0.0500' as default_value,
'Too early conflict' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<plsql>
insert into %SCHEMA%.solver_parameter_def (select
%SCHEMA%.solver_parameter_def_seq.nextval as uniqueid,
'StudentWeights.TooLateFactor' as name,
'0.0250' as default_value,
'Too late conflict' as description,
'double' as type,
(select count(*) from %SCHEMA%.solver_parameter_def d, %SCHEMA%.solver_parameter_group g where d.solver_param_group_id = g.uniqueid and g.name = 'StudentSctWeights') as ord,
1 as visible,
uniqueid as solver_param_group_id from %SCHEMA%.solver_parameter_group where name = 'StudentSctWeights')
</plsql>
<sql>update %SCHEMA%.solver_parameter_def set
default_value = '0.0500'
where name = 'StudentWeights.DistanceConflict' and default_value = '0.0100'
</sql>
<sql>update %SCHEMA%.solver_parameter_def set
default_value = '1.0000'
where name = 'StudentWeights.TimeOverlapFactor' and default_value = '0.5000'
</sql>
<sql>update %SCHEMA%.solver_parameter_def set
default_value = '0.3750'
where name = 'StudentWeights.SelectionFactor' and default_value='0.125'
</sql>
</update>
<update version="214" date="17-Dec-2018" comment="Student Min Credit Critical Requests">
<sql>alter table %SCHEMA%.student add min_credit float</sql>
<plsql>alter table %SCHEMA%.course_demand add critical number(1) default 0</plsql>
<mysql>alter table %SCHEMA%.course_demand add critical int(1) default 0</mysql>
</update>
<update version="215" date="14-Jan-2019" comment="Default Instructional Method">
<plsql>alter table %SCHEMA%.sessions add instr_method_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.sessions add instr_method_id decimal(20,0)</mysql>
<sql>
alter table %SCHEMA%.sessions add constraint fk_session_insmtd foreign key (instr_method_id)
references %SCHEMA%.instructional_method (uniqueid) on delete set null
</sql>
</update>
<update version="216" date="18-Feb-2019" comment="Student Sectioning Preferences">
<plsql>
create table %SCHEMA%.sect_pref (
uniqueid number(20,0) constraint nn_sect_pref_id not null,
preference_type number(10,0) constraint nn_sect_pref_type not null,
request_id number(20,0) constraint nn_sect_pref_request not null,
required number(1) constraint nn_sect_pref_requred not null,
class_id number(20,0),
instr_mthd_id number(20,0)
)
</plsql>
<plsql>alter table %SCHEMA%.sect_pref add constraint pk_sect_pref primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.sect_pref (
uniqueid decimal(20,0) primary key not null,
preference_type decimal(10,0) not null,
request_id decimal(20,0) not null,
required int(1) not null,
class_id decimal(20,0),
instr_mthd_id decimal(20,0)
) engine = INNODB
</mysql>
<sql>alter table %SCHEMA%.sect_pref add constraint fk_sct_pref_request foreign key (request_id) references %SCHEMA%.course_request (uniqueid) on delete cascade</sql>
<sql>alter table %SCHEMA%.sect_pref add constraint fk_sct_pref_class foreign key (class_id) references %SCHEMA%.class_ (uniqueid) on delete cascade</sql>
<sql>alter table %SCHEMA%.sect_pref add constraint fk_sct_pref_im foreign key (instr_mthd_id) references %SCHEMA%.instructional_method (uniqueid) on delete cascade</sql>
</update>
<update version="217" date="11-Mar-2019" comment="Special Registration Intent">
<plsql>alter table %SCHEMA%.course_request add req_intent number(10)</plsql>
<mysql>alter table %SCHEMA%.course_request add req_intent bigint(10)</mysql>
</update>
<update version="218" date="20-Mar-2019" comment="Longer published solution info">
<plsql>alter table %SCHEMA%.sct_solution_log modify info varchar2(4000 char)</plsql>
<mysql>alter table %SCHEMA%.sct_solution_log modify info varchar(4000) not null</mysql>
</update>
<update version="219" date="28-Mar-2019" comment="Student Sectioning Preference Label">
<mysql>alter table %SCHEMA%.sect_pref add label varchar(60) binary null</mysql>
<plsql>alter table %SCHEMA%.sect_pref add label varchar2(60 char)</plsql>
<mysql>create index idx_sect_pref_label on %SCHEMA%.sect_pref(label, required)</mysql>
<plsql>create index %SCHEMA%.idx_sect_pref_label on %SCHEMA%.sect_pref(label, required)</plsql>
</update>
<update version="220" date="13-May-2019" comment="Room Map Tiles Cache">
<mysql>
create table %SCHEMA%.map_tiles (
z decimal(10,0) not null,
x decimal(10,0) not null,
y decimal(10,0) not null,
data longblob not null,
time_stamp datetime not null,
primary key (z, x, y)
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.map_tiles (
z number(10,0) constraint nn_map_tiles_z not null,
x number(10,0) constraint nn_map_tiles_x not null,
y number(10,0) constraint nn_map_tiles_y not null,
data blob constraint nn_map_tiles_data not null,
time_stamp timestamp constraint nn_map_tiles_ts not null
)
</plsql>
<plsql>alter table %SCHEMA%.map_tiles add constraint pk_map_tiles primary key (z, x, y)</plsql>
</update>
<update version="221" date="5-Aug-2019" comment="Contact Us Categories">
<plsql>
create table %SCHEMA%.contact_category (
uniqueid number(20,0) constraint nn_concat_id not null,
reference varchar2(20 char) constraint nn_concat_ref not null,
label varchar2(60 char) constraint nn_concat_label not null,
message varchar2(2048 char),
has_role number(1,0) constraint nn_concat_has_role not null,
email varchar2(1000 char)
)
</plsql>
<plsql>alter table %SCHEMA%.contact_category add constraint pk_contact_category primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.contact_category (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
message varchar(2048),
has_role int(1) not null,
email varchar(1000)
) engine = INNODB
</mysql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql><![CDATA[
insert into %SCHEMA%.contact_category
(uniqueid, reference, label, message, has_role) values
(%ID% , '01-QUESTION', 'Ask a question', null, 0),
(%ID%+1, '02-ERROR', 'Report an error', null, 0),
(%ID%+2, '03-SUGGESTION', 'Make a suggestion', null, 0),
(%ID%+3, '04-REQ-TIMEPAT', 'Request addition of a time pattern', '1. Specify the list of classes or scheduling subparts on which the requested time pattern need to be set (e.g., AB 100 Lec 1, AB 100 Lec 2) : \r\n\r\n2. Specify the time pattern (number of meetings and number of minutes per meeting, e.g., 2x75) : \r\n\r\n3. Specify the available days (e.g., MW, WF, MF, TTh) : \r\n\r\n4. Specify the available starting times (e.g., 7:30am, 8:30am, 9:30am, ... 4:30pm) : \r\n', 1),
(%ID%+4, '05-REQ-EXTIME', 'Request addition of an exact time', '1. Specify the list of classes on which the requested time pattern need to be set (e.g., AB 100 Lec 1, AB 100 Lec 2) : \r\n\r\n2. Specify the time (e.g., MWF 8:15am - 10:20am) : \r\n', 1),
(%ID%+5, '06-REQ-DATEPAT', 'Request addition of a date pattern', '1. Specify the list of classes or scheduling subparts on which the requested date pattern need to be set (e.g., AB 100 Lec 1, AB 100 Lec 2) : \r\n\r\n2. Specify the list weeks for the date pattern (e.g., Weeks 2-8; alternatively, you can specify start and end date) : \r\n', 1),
(%ID%+6, '07-REQ-CHOWN', 'Request a change of owner on class and/or scheduling subpart', '1. Specify the list of classes or scheduling subparts on which the requested date pattern need to be set (e.g., AB 100 Lec 1, AB 100 Lec 2) : \r\n\r\n2. Specify the new owner (e.g., LLR) : \r\n', 1),
(%ID%+7, '08-REQ-CROSSLIST', 'Request a course cross-listing', '1. Specify the controlling course (e.g., AB 100) : \r\n\r\n2. Specify courses that should be cross-listed with the controlling course (e.g., CDFS 100) : \r\n', 1),
(%ID%+8, '09-REQ-ROOMSHR', 'Request a room to be shared', '1. Specify the room that needs to be shared (e.g., GRIS 100) : \r\n\r\n2. Specify the departments between which the room needs to be shared (e.g., 1282-Aeronautics & Astronautics and 1287-Industrial Engineering) : \r\n\r\n3. Specify the times when the room is to be allocated for one of the departments or when the room is not available (e.g., MWF for Aero, TTh for I E, not available after 3:00pm) : \r\n', 1),
(%ID%+9, '10-REQ-ADMIN', 'Request any other administrative change', null, 1),
(%ID%+10, '11-NOT-LLRDONE', 'LLR/LAB data entry is done', '1. Specify the managing department (e.g., LLR or LAB) : \r\n', 1),
(%ID%+11, '12-OTHER', 'Other', null, 1)
]]></mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ContactCategories'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PreferenceLevels'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ContactCategoryEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'PreferenceLevelEdit'
</sql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '01-QUESTION', 'Ask a question', null, 0)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '02-ERROR', 'Report an error', null, 0)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '03-SUGGESTION', 'Make a suggestion', null, 0)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '04-REQ-TIMEPAT', 'Request addition of a time pattern', '1. Specify the list of classes or scheduling subparts on which the requested time pattern need to be set (e.g., AB 100 Lec 1, AB 100 Lec 2) : '||u'\000D\000A\000D\000A'||'2. Specify the time pattern (number of meetings and number of minutes per meeting, e.g., 2x75) : '||u'\000D\000A\000D\000A'||'3. Specify the available days (e.g., MW, WF, MF, TTh) : '||u'\000D\000A\000D\000A'||'4. Specify the available starting times (e.g., 7:30am, 8:30am, 9:30am, ... 4:30pm) : '||u'\000D\000A', 1)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '05-REQ-EXTIME', 'Request addition of an exact time', '1. Specify the list of classes on which the requested time pattern need to be set (e.g., AB 100 Lec 1, AB 100 Lec 2) : '||u'\000D\000A\000D\000A'||'2. Specify the time (e.g., MWF 8:15am - 10:20am) : '||u'\000D\000A', 1)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '06-REQ-DATEPAT', 'Request addition of a date pattern', '1. Specify the list of classes or scheduling subparts on which the requested date pattern need to be set (e.g., AB 100 Lec 1, AB 100 Lec 2) : '||u'\000D\000A\000D\000A'||'2. Specify the list weeks for the date pattern (e.g., Weeks 2-8; alternatively, you can specify start and end date) : '||u'\000D\000A', 1)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '07-REQ-CHOWN', 'Request a change of owner on class and/or scheduling subpart', '1. Specify the list of classes or scheduling subparts on which the requested date pattern need to be set (e.g., AB 100 Lec 1, AB 100 Lec 2) : '||u'\000D\000A\000D\000A'||'2. Specify the new owner (e.g., LLR) : '||u'\000D\000A', 1)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '08-REQ-CROSSLIST', 'Request a course cross-listing', '1. Specify the controlling course (e.g., AB 100) : '||u'\000D\000A\000D\000A'||'2. Specify courses that should be cross-listed with the controlling course (e.g., CDFS 100) : '||u'\000D\000A', 1)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '09-REQ-ROOMSHR', 'Request a room to be shared', '1. Specify the room that needs to be shared (e.g., GRIS 100) : '||u'\000D\000A\000D\000A'||'2. Specify the departments between which the room needs to be shared (e.g., 1282-Aeronautics '||u'\0026'||' Astronautics and 1287-Industrial Engineering) : '||u'\000D\000A\000D\000A'||'3. Specify the times when the room is to be allocated for one of the departments or when the room is not available (e.g., MWF for Aero, TTh for I E, not available after 3:00pm) : '||u'\000D\000A', 1)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '10-REQ-ADMIN', 'Request any other administrative change', null, 1)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '11-NOT-LLRDONE', 'LLR/LAB data entry is done', '1. Specify the managing department (e.g., LLR or LAB) : '||u'\000D\000A', 1)</plsql>
<plsql>insert into %SCHEMA%.contact_category (uniqueid, reference, label, message, has_role) values
(%SCHEMA%.ref_table_seq.nextval, '12-OTHER', 'Other', null, 1)</plsql>
</update>
<update version="222" date="13-Aug-2019" comment="Course Request Critical Override">
<plsql>alter table %SCHEMA%.course_demand add critical_override number(1)</plsql>
<mysql>alter table %SCHEMA%.course_demand add critical_override int(1) null</mysql>
</update>
<update version="223" date="18-Oct-2019" comment="Reservations Start Date">
<plsql>alter table %SCHEMA%.reservation add start_date date</plsql>
<mysql>alter table %SCHEMA%.reservation add start_date date null</mysql>
</update>
<update version="224" date="21-Nov-2019" comment="Published Solutions Notes and Config">
<plsql>alter table %SCHEMA%.sct_solution_log add note varchar2(2000 char)</plsql>
<plsql>alter table %SCHEMA%.sct_solution_log add config varchar2(1000 char)</plsql>
<mysql>alter table %SCHEMA%.sct_solution_log add note varchar(2000) null</mysql>
<mysql>alter table %SCHEMA%.sct_solution_log add config varchar(1000) null</mysql>
<pgsql>alter table %SCHEMA%.sct_solution_log add note varchar(2000)</pgsql>
<pgsql>alter table %SCHEMA%.sct_solution_log add config varchar(1000)</pgsql>
</update>
<update version="225" date="10-Dec-2019" comment="Learning Management System (LMS) Integration Partner Information">
<plsql>
create table %SCHEMA%.learn_mgmt_sys_info (
uniqueid number(20,0) constraint nn_lms_info_id not null,
session_id number(20,0) constraint nn_lms_info_session_id not null,
reference varchar2(20 char) constraint nn_lms_info_ref not null,
label varchar2(60 char) constraint nn_lms_info_label not null,
external_uid varchar2(40 char),
default_lms number(1,0) constraint nn_lms_info_default_lms not null
)
</plsql>
<plsql>alter table %SCHEMA%.learn_mgmt_sys_info add constraint pk_lms_info primary key (uniqueid)</plsql>
<plsql>
alter table %SCHEMA%.learn_mgmt_sys_info add constraint fk_lms_code_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</plsql>
<plsql>create unique index %SCHEMA%.uk_lms_info on %SCHEMA%.learn_mgmt_sys_info(session_id, reference)</plsql>
<mysql>
create table %SCHEMA%.learn_mgmt_sys_info (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
reference varchar(20) not null,
label varchar(60) not null,
external_uid varchar(40),
default_lms int(1) not null
) engine = INNODB
</mysql>
<mysql>
alter table %SCHEMA%.learn_mgmt_sys_info add constraint fk_lms_code_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</mysql>
<mysql>create unique index uk_lms_info on %SCHEMA%.learn_mgmt_sys_info(session_id, reference)</mysql>
<pgsql>
create table %SCHEMA%.learn_mgmt_sys_info (
uniqueid bigint NOT NULL,
session_id bigint NOT NULL,
reference varchar(20) NOT NULL,
label varchar(60) NOT NULL,
external_uid varchar(40),
default_lms boolean NOT NULL
)
</pgsql>
<pgsql>alter table only %SCHEMA%.learn_mgmt_sys_info add constraint pk_lms_info primary key (uniqueid)</pgsql>
<pgsql>
create index idx_fk_time_pattern_session ON %SCHEMA%.learn_mgmt_sys_info USING btree (session_id)
</pgsql>
<pgsql>
alter table only %SCHEMA%.learn_mgmt_sys_info
add constraint fk_lms_code_session foreign key (session_id) references %SCHEMA%.sessions (uniqueid) on delete cascade
</pgsql>
<pgsql>create unique index uk_lms_info on %SCHEMA%.learn_mgmt_sys_info using btree (session_id, reference)</pgsql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'LearningManagementSystemInfos'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Departments'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'LearningManagementSystemInfoEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'DepartmentEdit'
</sql>
<plsql>
alter table %SCHEMA%.class_ add lms_info_id number(20,0)
</plsql>
<plsql>
alter table %SCHEMA%.class_ add constraint fk_class_lms_info foreign key (lms_info_id)
references %SCHEMA%.learn_mgmt_sys_info (uniqueid) on delete set null
</plsql>
<mysql>
alter table %SCHEMA%.class_ add lms_info_id decimal(20,0)
</mysql>
<mysql>
alter table %SCHEMA%.class_ add constraint fk_class_lms_info foreign key (lms_info_id)
references %SCHEMA%.learn_mgmt_sys_info (uniqueid) on delete set null
</mysql>
<pgsql>
alter table %SCHEMA%.class_ add lms_info_id bigint
</pgsql>
<pgsql>
create index idx_fk_class_lms_info ON %SCHEMA%.class_ USING btree (lms_info_id);
</pgsql>
<pgsql>
alter table only %SCHEMA%.class_ add constraint fk_class_lms_info foreign key (lms_info_id)
references %SCHEMA%.learn_mgmt_sys_info (uniqueid) on delete set null
</pgsql>
</update>
<update version="226" date="17-Dec-2019" comment="Reservations Inclusive Flag">
<plsql>alter table %SCHEMA%.reservation add inclusive number(1)</plsql>
<mysql>alter table %SCHEMA%.reservation add inclusive int(1) null</mysql>
<pgsql>alter table %SCHEMA%.reservation add inclusive boolean</pgsql>
</update>
<update version="227" date="21-Jan-2020" comment="Advisor Course Requests">
<plsql>
create table %SCHEMA%.advisor_crsreq (
uniqueid number(20,0) constraint nn_advisor_crsreq_id not null,
student_id number(20,0) constraint nn_advisor_crsreq_student not null,
priority number(10) constraint nn_advisor_crsreq_priority not null,
substitute number(1) constraint nn_advisor_crsreq_substitute not null,
alternative number(10) constraint nn_advisor_crsreq_alternative not null,
time_stamp timestamp constraint nn_advisor_crsreq_timestamp not null,
changed_by varchar2(40 char),
credit varchar2(10 char),
course varchar2(1024 char),
course_offering_id number(20,0),
notes varchar2(2048 char),
free_time_id number(20,0)
)
</plsql>
<plsql>alter table %SCHEMA%.advisor_crsreq add constraint pk_advisor_crsreq primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.advisor_crsreq (
uniqueid decimal(20,0) primary key not null,
student_id decimal(20,0) not null,
priority bigint(10) not null,
substitute int(1) not null,
alternative bigint(10) not null,
time_stamp datetime not null,
changed_by varchar(40),
credit varchar(10),
course varchar(1024),
course_offering_id decimal(20,0),
notes varchar(2048),
free_time_id decimal(20,0)
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.advisor_crsreq (
uniqueid bigint not null,
student_id bigint not null,
priority bigint not null,
substitute boolean not null,
alternative bigint not null,
time_stamp timestamp with time zone not null,
changed_by varchar(40),
credit varchar(10),
course varchar(1024),
course_offering_id bigint,
notes varchar(2048),
free_time_id bigint
)
</pgsql>
<pgsql>alter table %SCHEMA%.advisor_crsreq add constraint pk_advisor_crsreq primary key (uniqueid)</pgsql>
<sql>
alter table %SCHEMA%.advisor_crsreq add constraint fk_advisor_crsreq_student foreign key (student_id)
references %SCHEMA%.student (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.advisor_crsreq add constraint fk_advisor_crsreq_course foreign key (course_offering_id)
references %SCHEMA%.course_offering (uniqueid) on delete set null
</sql>
<sql>
alter table %SCHEMA%.advisor_crsreq add constraint fk_advisor_crsreq_free foreign key (free_time_id)
references %SCHEMA%.free_time (uniqueid) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.advisor_sect_pref (
uniqueid number(20,0) constraint nn_adv_sect_pref_id not null,
preference_type number(10,0) constraint nn_adv_sect_pref_type not null,
request_id number(20,0) constraint nn_adv_sect_pref_request not null,
required number(1) constraint nn_adv_sect_pref_requred not null,
class_id number(20,0),
instr_mthd_id number(20,0),
label varchar2(60 char)
)
</plsql>
<plsql>alter table %SCHEMA%.advisor_sect_pref add constraint pk_advisor_sect_pref primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.advisor_sect_pref (
uniqueid decimal(20,0) primary key not null,
preference_type decimal(10,0) not null,
request_id decimal(20,0) not null,
required int(1) not null,
class_id decimal(20,0),
instr_mthd_id decimal(20,0),
label varchar(60)
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.advisor_sect_pref (
uniqueid bigint not null,
preference_type bigint not null,
request_id bigint not null,
required boolean not null,
class_id bigint,
instr_mthd_id bigint,
label varchar(60)
)
</pgsql>
<pgsql>alter table %SCHEMA%.advisor_sect_pref add constraint pk_advisor_sect_pref primary key (uniqueid)</pgsql>
<sql>alter table %SCHEMA%.advisor_sect_pref add constraint fk_adv_pref_request foreign key (request_id) references %SCHEMA%.advisor_crsreq (uniqueid) on delete cascade</sql>
<sql>alter table %SCHEMA%.advisor_sect_pref add constraint fk_adv_pref_class foreign key (class_id) references %SCHEMA%.class_ (uniqueid) on delete cascade</sql>
<sql>alter table %SCHEMA%.advisor_sect_pref add constraint fk_adv_pref_im foreign key (instr_mthd_id) references %SCHEMA%.instructional_method (uniqueid) on delete cascade</sql>
</update>
<update version="228" date="3-Feb-2020" comment="Advisor Critical Course Requests">
<plsql>alter table %SCHEMA%.advisor_crsreq add critical number(1)</plsql>
<mysql>alter table %SCHEMA%.advisor_crsreq add critical int(1) null</mysql>
<pgsql>alter table %SCHEMA%.advisor_crsreq add critical boolean null</pgsql>
</update>
<update version="229" date="26-Feb-2020" comment="Important Course Demands">
<plsql>alter table %SCHEMA%.course_demand modify critical number(10) default 0</plsql>
<mysql>alter table %SCHEMA%.course_demand modify critical int(10) default 0</mysql>
<pgsql>alter table %SCHEMA%.course_demand alter critical drop default</pgsql>
<pgsql>alter table %SCHEMA%.course_demand alter critical type integer using case when critical then 1 else 0 end</pgsql>
<pgsql>alter table %SCHEMA%.course_demand alter critical set default 0</pgsql>
<plsql>alter table %SCHEMA%.course_demand modify critical_override number(10)</plsql>
<mysql>alter table %SCHEMA%.course_demand modify critical_override int(10)</mysql>
<pgsql>alter table %SCHEMA%.course_demand alter critical_override type integer using case when critical_override then 1 when not critical_override then 0 else null end</pgsql>
<plsql>alter table %SCHEMA%.advisor_crsreq modify critical number(10)</plsql>
<mysql>alter table %SCHEMA%.advisor_crsreq modify critical int(10)</mysql>
<pgsql>alter table %SCHEMA%.advisor_crsreq alter critical type integer using case when critical then 1 when not critical then 0 else null end</pgsql>
</update>
<update version="230" date="29-May-2020" comment="Instructor Unavailable Days">
<plsql>alter table %SCHEMA%.departmental_instructor add unavailable_days varchar2(366 char)</plsql>
<mysql>alter table %SCHEMA%.departmental_instructor add unavailable_days varchar(366) null</mysql>
<pgsql>alter table %SCHEMA%.departmental_instructor add unavailable_days varchar(366) null</pgsql>
<plsql>alter table %SCHEMA%.departmental_instructor add unavailable_offset number(10)</plsql>
<mysql>alter table %SCHEMA%.departmental_instructor add unavailable_offset int(10) null</mysql>
<pgsql>alter table %SCHEMA%.departmental_instructor add unavailable_offset integer null</pgsql>
</update>
<update version="231" date="08-Oct-2020" comment="Longer published solution info">
<plsql>alter table %SCHEMA%.sct_solution_log add info2 clob</plsql>
<plsql>update %SCHEMA%.sct_solution_log set info2 = info</plsql>
<plsql>alter table %SCHEMA%.sct_solution_log drop column info</plsql>
<plsql>alter table %SCHEMA%.sct_solution_log rename column info2 to info</plsql>
<mysql>alter table %SCHEMA%.sct_solution_log modify info varchar(10000) not null</mysql>
<pgsql>alter table %SCHEMA%.sct_solution_log alter column info type varchar(10000)</pgsql>
</update>
<update version="232" date="08-Oct-2020" comment="Student PIN">
<plsql>alter table %SCHEMA%.student add pin varchar2(40 char)</plsql>
<mysql>alter table %SCHEMA%.student add pin varchar(40)</mysql>
<pgsql>alter table %SCHEMA%.student add pin varchar(40)</pgsql>
<plsql>alter table %SCHEMA%.student add pin_released number(1)</plsql>
<mysql>alter table %SCHEMA%.student add pin_released int(1)</mysql>
<pgsql>alter table %SCHEMA%.student add pin_released boolean</pgsql>
</update>
<update version="233" date="22-Oct-2020" comment="ACR Waitlist">
<plsql>alter table %SCHEMA%.advisor_crsreq add waitlist number(1)</plsql>
<mysql>alter table %SCHEMA%.advisor_crsreq add waitlist int(1)</mysql>
<pgsql>alter table %SCHEMA%.advisor_crsreq add waitlist boolean</pgsql>
</update>
<update version="234" date="12-Jan-2021" comment="Curriculum Reservation Changes">
<plsql>
create table %SCHEMA%.reservation_minor (
reservation_id number(20,0) constraint nn_res_minor_id not null,
minor_id number(20,0) constraint nn_res_minor_minor not null
)
</plsql>
<plsql>alter table %SCHEMA%.reservation_minor add constraint pk_reservation_minor primary key (reservation_id, minor_id)</plsql>
<mysql>
create table %SCHEMA%.reservation_minor (
reservation_id decimal(20,0) not null,
minor_id decimal(20,0) not null,
primary key (reservation_id, minor_id)
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.reservation_minor (
reservation_id bigint not null,
minor_id bigint not null
)
</pgsql>
<pgsql>alter table %SCHEMA%.reservation_minor add constraint pk_reservation_minor primary key (reservation_id, minor_id)</pgsql>
<sql>
alter table %SCHEMA%.reservation_minor add constraint fk_res_minors_minor foreign key (minor_id)
references %SCHEMA%.pos_minor (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_minor add constraint fk_res_minors_reservation foreign key (reservation_id)
references %SCHEMA%.reservation (uniqueid) on delete cascade
</sql>
<plsql>
create table %SCHEMA%.reservation_acad_area (
reservation_id number(20,0) constraint nn_res_acad_area_id not null,
area_id number(20,0) constraint nn_res_acad_area_area not null
)
</plsql>
<plsql>alter table %SCHEMA%.reservation_acad_area add constraint pk_reservation_acad_area primary key (reservation_id, area_id)</plsql>
<mysql>
create table %SCHEMA%.reservation_acad_area (
reservation_id decimal(20,0) not null,
area_id decimal(20,0) not null,
primary key (reservation_id, area_id)
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.reservation_acad_area (
reservation_id bigint not null,
area_id bigint not null
)
</pgsql>
<pgsql>alter table %SCHEMA%.reservation_acad_area add constraint pk_reservation_acad_area primary key (reservation_id, area_id)</pgsql>
<sql>
alter table %SCHEMA%.reservation_acad_area add constraint fk_res_acad_areas_area foreign key (area_id)
references %SCHEMA%.academic_area (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_acad_area add constraint fk_res_acad_areas_reservation foreign key (reservation_id)
references %SCHEMA%.reservation (uniqueid) on delete cascade
</sql>
<sql>
insert into %SCHEMA%.reservation_acad_area
select uniqueid, area_id from %SCHEMA%.reservation where area_id is not null
</sql>
<plsql>alter table %SCHEMA%.reservation drop constraint fk_reservation_area</plsql>
<mysql>alter table %SCHEMA%.reservation drop foreign key fk_reservation_area</mysql>
<pgsql>alter table %SCHEMA%.reservation drop constraint fk_reservation_area</pgsql>
<sql>alter table %SCHEMA%.reservation drop column area_id</sql>
</update>
<update version="235" date="26-Jan-2021" comment="Major Concentrations">
<plsql>
create table %SCHEMA%.pos_major_conc (
uniqueid number(20,0) constraint nn_pos_conc_id not null,
major_id number(20,0) constraint nn_pos_conc_major not null,
external_uid varchar2(40 char),
code varchar2(40 char) constraint nn_pos_conc_code not null,
name varchar2(100 char) constraint nn_pos_conc_name not null
)
</plsql>
<plsql>alter table %SCHEMA%.pos_major_conc add constraint pk_pos_major_conc primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.pos_major_conc (
uniqueid decimal(20,0) primary key not null,
major_id decimal(20,0) not null,
external_uid varchar(40),
code varchar(40) not null,
name varchar(100) not null
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.pos_major_conc (
uniqueid bigint not null,
major_id bigint not null,
external_uid varchar(40),
code varchar(40) not null,
name varchar(100) not null
)
</pgsql>
<pgsql>alter table %SCHEMA%.pos_major_conc add constraint pk_pos_major_conc primary key (uniqueid)</pgsql>
<sql>
alter table %SCHEMA%.pos_major_conc add constraint fk_pos_conc_major foreign key (major_id)
references %SCHEMA%.pos_major (uniqueid) on delete cascade
</sql>
<plsql>alter table %SCHEMA%.student_area_clasf_major add concentration_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add concentration_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.student_area_clasf_major add concentration_id bigint</pgsql>
<sql>
alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_conc foreign key (concentration_id)
references %SCHEMA%.pos_major_conc (uniqueid) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'Concentrations'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Majors'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ConcentrationEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'MajorEdit'
</sql>
<plsql>
create table %SCHEMA%.reservation_major_conc (
reservation_id number(20,0) constraint nn_res_conc_id not null,
concentration_id number(20,0) constraint nn_res_conc_conc not null
)
</plsql>
<plsql>alter table %SCHEMA%.reservation_major_conc add constraint pk_reservation_major_conc primary key (reservation_id, concentration_id)</plsql>
<mysql>
create table %SCHEMA%.reservation_major_conc (
reservation_id decimal(20,0) not null,
concentration_id decimal(20,0) not null,
primary key (reservation_id, concentration_id)
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.reservation_major_conc (
reservation_id bigint not null,
concentration_id bigint not null
)
</pgsql>
<pgsql>alter table %SCHEMA%.reservation_major_conc add constraint pk_reservation_major_conc primary key (reservation_id, concentration_id)</pgsql>
<sql>
alter table %SCHEMA%.reservation_major_conc add constraint fk_res_mj_conc_conc foreign key (concentration_id)
references %SCHEMA%.pos_major_conc (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.reservation_major_conc add constraint fk_res_mj_conc_res foreign key (reservation_id)
references %SCHEMA%.reservation (uniqueid) on delete cascade
</sql>
</update>
<update version="236" date="29-Jan-2021" comment="StudentSchedulingCanLookupAllCourses permission">
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingCanLookupAllCourses'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StudentSchedulingAdvisor'
</sql>
</update>
<update version="237" date="8-Feb-2021" comment="Student Area Classification Major Weight">
<plsql>alter table %SCHEMA%.student_area_clasf_major add weight double precision default 1.0</plsql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add weight double default 1.0</mysql>
<pgsql>alter table %SCHEMA%.student_area_clasf_major add weight double precision default 1.0</pgsql>
<plsql>alter table %SCHEMA%.pit_stu_aa_major_clasf add concentration_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.pit_stu_aa_major_clasf add concentration_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.pit_stu_aa_major_clasf add concentration_id bigint</pgsql>
<plsql>alter table %SCHEMA%.pit_stu_aa_major_clasf add weight double precision default 1.0</plsql>
<mysql>alter table %SCHEMA%.pit_stu_aa_major_clasf add weight double default 1.0</mysql>
<pgsql>alter table %SCHEMA%.pit_stu_aa_major_clasf add weight double precision default 1.0</pgsql>
<sql>
alter table %SCHEMA%.pit_stu_aa_major_clasf add constraint fk_pit_stuamc_to_cc foreign key (concentration_id)
references %SCHEMA%.pos_major_conc (uniqueid) on delete cascade
</sql>
</update>
<update version="238" date="22-Feb-2021" comment="Student Area Classification Major Unique Index">
<mysql>alter table %SCHEMA%.student_area_clasf_major drop foreign key fk_student_acmaj_student</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major drop foreign key fk_student_acmaj_area</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major drop foreign key fk_student_acmaj_clasf</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major drop foreign key fk_student_acmaj_major</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major drop foreign key fk_student_acmaj_conc</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major drop index uk_student_area_clasf_major</mysql>
<mysql>create unique index uk_student_area_clasf_major on %SCHEMA%.student_area_clasf_major(student_id, acad_area_id, acad_clasf_id, major_id, concentration_id)</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_student foreign key (student_id) references %SCHEMA%.student (uniqueid) on delete cascade</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_area foreign key (acad_area_id) references %SCHEMA%.academic_area (uniqueid) on delete cascade</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_clasf foreign key (acad_clasf_id) references %SCHEMA%.academic_classification (uniqueid) on delete cascade</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_major foreign key (major_id) references %SCHEMA%.pos_major (uniqueid) on delete cascade</mysql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_conc foreign key (concentration_id) references %SCHEMA%.pos_major_conc (uniqueid) on delete set null</mysql>
<plsql>drop index %SCHEMA%.uk_student_area_clasf_major</plsql>
<plsql>create unique index %SCHEMA%.uk_student_area_clasf_major on %SCHEMA%.student_area_clasf_major(student_id, acad_area_id, acad_clasf_id, major_id, concentration_id)</plsql>
<pgsql into="IDX">select indexname from pg_indexes where tablename = 'student_area_clasf_major' and indexname like '%uk_student_area_clasf_major'</pgsql>
<pgsql>drop index %IDX%</pgsql>
<pgsql>create unique index uk_student_area_clasf_major on %SCHEMA%.student_area_clasf_major(student_id, acad_area_id, acad_clasf_id, major_id, concentration_id)</pgsql>
</update>
<update version="239" date="8-Mar-2021" comment="Student Degree">
<plsql>
create table %SCHEMA%.degree (
uniqueid number(20,0) constraint nn_degree_id not null,
session_id number(20,0) constraint nn_degree_session_id not null,
reference varchar2(20 char) constraint nn_degree_reference not null,
label varchar2(60 char) constraint nn_degree_label not null,
external_uid varchar2(40 char)
)
</plsql>
<plsql>alter table %SCHEMA%.degree add constraint pk_degree primary key (uniqueid)</plsql>
<plsql>create unique index %SCHEMA%.uk_degree on %SCHEMA%.degree(session_id, reference)</plsql>
<mysql>
create table %SCHEMA%.degree (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
reference varchar(20) not null,
label varchar(60) not null,
external_uid varchar(40)
) engine = INNODB
</mysql>
<mysql>create unique index uk_degree on %SCHEMA%.degree(session_id, reference)</mysql>
<pgsql>
create table %SCHEMA%.degree (
uniqueid bigint not null,
session_id bigint not null,
reference varchar(20) not null,
label varchar(60) not null,
external_uid varchar(40)
)
</pgsql>
<pgsql>alter table %SCHEMA%.degree add constraint pk_degree primary key (uniqueid)</pgsql>
<pgsql>create unique index uk_degree on %SCHEMA%.degree using btree (session_id, reference)</pgsql>
<sql>
alter table %SCHEMA%.degree add constraint fk_degree_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<plsql>alter table %SCHEMA%.student_area_clasf_major add degree_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add degree_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.student_area_clasf_major add degree_id bigint</pgsql>
<sql>
alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_deg foreign key (degree_id)
references %SCHEMA%.degree (uniqueid) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'Degrees'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Majors'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'DegreeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'MajorEdit'
</sql>
</update>
<update version="240" date="12-Aug-2021" comment="Last Like Demand Increase Course Number Size">
<plsql>alter table %SCHEMA%.lastlike_course_demand modify course_nbr varchar2(40 char)</plsql>
<mysql>alter table %SCHEMA%.lastlike_course_demand modify course_nbr varchar(40)</mysql>
<pgsql>alter table %SCHEMA%.lastlike_course_demand alter column course_nbr type varchar(40)</pgsql>
</update>
<update version="241" date="6-Apr-2021" comment="Offering Waitlist Toggle">
<plsql>alter table %SCHEMA%.instructional_offering add waitlist number(1)</plsql>
<mysql>alter table %SCHEMA%.instructional_offering add waitlist int(1)</mysql>
<pgsql>alter table %SCHEMA%.instructional_offering add waitlist boolean</pgsql>
</update>
<update version="242" date="28-Apr-2021" comment="Course Demand No-Subtitutes">
<plsql>alter table %SCHEMA%.course_demand add nosub number(1)</plsql>
<mysql>alter table %SCHEMA%.course_demand add nosub int(1)</mysql>
<pgsql>alter table %SCHEMA%.course_demand add nosub boolean</pgsql>
<plsql>alter table %SCHEMA%.advisor_crsreq add nosub number(1)</plsql>
<mysql>alter table %SCHEMA%.advisor_crsreq add nosub int(1)</mysql>
<pgsql>alter table %SCHEMA%.advisor_crsreq add nosub boolean</pgsql>
<sql>update %SCHEMA%.course_demand set nosub = waitlist</sql>
<sql>update %SCHEMA%.advisor_crsreq set nosub = waitlist</sql>
</update>
<update version="243" date="17-May-2021" comment="Course Demand Wait-List Time Stamp">
<plsql>alter table %SCHEMA%.course_demand add waitlist_ts timestamp</plsql>
<mysql>alter table %SCHEMA%.course_demand add waitlist_ts datetime</mysql>
<pgsql>alter table %SCHEMA%.course_demand add waitlist_ts timestamp with time zone</pgsql>
<plsql>update %SCHEMA%.course_demand set waitlist_ts = timestamp where waitlist = 1</plsql>
<mysql>update %SCHEMA%.course_demand set waitlist_ts = timestamp where waitlist = 1</mysql>
<pgsql>update %SCHEMA%.course_demand set waitlist_ts = timestamp where waitlist = true</pgsql>
</update>
<update version="244" date="10-Sep-2021" comment="Max Credit Override Intent">
<plsql>alter table %SCHEMA%.student add req_intent number(10)</plsql>
<mysql>alter table %SCHEMA%.student add req_intent bigint(10)</mysql>
<pgsql>alter table %SCHEMA%.student add req_intent integer null</pgsql>
</update>
<update version="245" date="15-Dec-2021" comment="Student Program">
<plsql>
create table %SCHEMA%.program (
uniqueid number(20,0) constraint nn_program_id not null,
session_id number(20,0) constraint nn_program_session_id not null,
reference varchar2(20 char) constraint nn_program_reference not null,
label varchar2(60 char) constraint nn_program_label not null,
external_uid varchar2(40 char)
)
</plsql>
<plsql>alter table %SCHEMA%.program add constraint pk_program primary key (uniqueid)</plsql>
<plsql>create unique index %SCHEMA%.uk_program on %SCHEMA%.program(session_id, reference)</plsql>
<mysql>
create table %SCHEMA%.program (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
reference varchar(20) not null,
label varchar(60) not null,
external_uid varchar(40)
) engine = INNODB
</mysql>
<mysql>create unique index uk_program on %SCHEMA%.program(session_id, reference)</mysql>
<pgsql>
create table %SCHEMA%.program (
uniqueid bigint not null,
session_id bigint not null,
reference varchar(20) not null,
label varchar(60) not null,
external_uid varchar(40)
)
</pgsql>
<pgsql>alter table %SCHEMA%.program add constraint pk_program primary key (uniqueid)</pgsql>
<pgsql>create unique index uk_program on %SCHEMA%.program using btree (session_id, reference)</pgsql>
<sql>
alter table %SCHEMA%.program add constraint fk_program_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<plsql>alter table %SCHEMA%.student_area_clasf_major add program_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add program_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.student_area_clasf_major add program_id bigint</pgsql>
<sql>
alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_prog foreign key (program_id)
references %SCHEMA%.program (uniqueid) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'Programs'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Majors'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'ProgramEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'MajorEdit'
</sql>
</update>
<update version="246" date="18-Jan-2022" comment="Wait-List Logging">
<sql>delete from %SCHEMA%.waitlist</sql>
<mysql>alter table %SCHEMA%.waitlist add changed_by varchar(40) null</mysql>
<plsql>alter table %SCHEMA%.waitlist add changed_by varchar2(40 char)</plsql>
<pgsql>alter table %SCHEMA%.waitlist add changed_by varchar(40)</pgsql>
<plsql>alter table %SCHEMA%.waitlist add waitlisted number(1) default 0</plsql>
<plsql>alter table %SCHEMA%.waitlist add constraint nn_waitlist_wl check (waitlisted is not null)</plsql>
<mysql>alter table %SCHEMA%.waitlist add waitlisted int(1) not null default 0</mysql>
<pgsql>alter table %SCHEMA%.waitlist add waitlisted boolean not null default false</pgsql>
<plsql>alter table %SCHEMA%.waitlist add enrolled_course_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.waitlist add enrolled_course_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.waitlist add enrolled_course_id bigint</pgsql>
<sql>
alter table %SCHEMA%.waitlist add constraint fk_waitlist_enrolled_course foreign key (enrolled_course_id)
references %SCHEMA%.course_offering (uniqueid) on delete set null
</sql>
<plsql>alter table %SCHEMA%.waitlist add demand_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.waitlist add demand_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.waitlist add demand_id bigint</pgsql>
<sql>
alter table %SCHEMA%.waitlist add constraint fk_waitlist_course_demand foreign key (demand_id)
references %SCHEMA%.course_demand (uniqueid) on delete set null
</sql>
<mysql>alter table %SCHEMA%.waitlist add request varchar(255) null</mysql>
<plsql>alter table %SCHEMA%.waitlist add request varchar2(255 char)</plsql>
<pgsql>alter table %SCHEMA%.waitlist add request varchar(255)</pgsql>
<mysql>alter table %SCHEMA%.waitlist add enrollment varchar(255) null</mysql>
<plsql>alter table %SCHEMA%.waitlist add enrollment varchar2(255 char)</plsql>
<pgsql>alter table %SCHEMA%.waitlist add enrollment varchar(255)</pgsql>
<plsql>alter table %SCHEMA%.waitlist add waitlist_ts timestamp</plsql>
<mysql>alter table %SCHEMA%.waitlist add waitlist_ts datetime</mysql>
<pgsql>alter table %SCHEMA%.waitlist add waitlist_ts timestamp with time zone</pgsql>
</update>
<update version="247" date="21-Jan-2022" comment="Student Campus">
<plsql>
create table %SCHEMA%.campus (
uniqueid number(20,0) constraint nn_campus_id not null,
session_id number(20,0) constraint nn_campus_session_id not null,
reference varchar2(20 char) constraint nn_campus_reference not null,
label varchar2(60 char) constraint nn_campus_label not null,
external_uid varchar2(40 char)
)
</plsql>
<plsql>alter table %SCHEMA%.campus add constraint pk_campus primary key (uniqueid)</plsql>
<plsql>create unique index %SCHEMA%.uk_campus on %SCHEMA%.campus(session_id, reference)</plsql>
<mysql>
create table %SCHEMA%.campus (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
reference varchar(20) not null,
label varchar(60) not null,
external_uid varchar(40)
) engine = INNODB
</mysql>
<mysql>create unique index uk_campus on %SCHEMA%.campus(session_id, reference)</mysql>
<pgsql>
create table %SCHEMA%.campus (
uniqueid bigint not null,
session_id bigint not null,
reference varchar(20) not null,
label varchar(60) not null,
external_uid varchar(40)
)
</pgsql>
<pgsql>alter table %SCHEMA%.campus add constraint pk_campus primary key (uniqueid)</pgsql>
<pgsql>create unique index uk_campus on %SCHEMA%.campus using btree (session_id, reference)</pgsql>
<sql>
alter table %SCHEMA%.campus add constraint fk_campus_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<plsql>alter table %SCHEMA%.student_area_clasf_major add campus_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.student_area_clasf_major add campus_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.student_area_clasf_major add campus_id bigint</pgsql>
<sql>
alter table %SCHEMA%.student_area_clasf_major add constraint fk_student_acmaj_campus foreign key (campus_id)
references %SCHEMA%.campus (uniqueid) on delete set null
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'Campuses'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Majors'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'CampusEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'MajorEdit'
</sql>
</update>
<update version="248" date="16-Feb-2021" comment="Add Funding Department">
<plsql>alter table %SCHEMA%.department add external_funding_dept number(1)</plsql>
<mysql>alter table %SCHEMA%.department add external_funding_dept int(1)</mysql>
<pgsql>alter table %SCHEMA%.department add external_funding_dept boolean</pgsql>
<plsql>
alter table %SCHEMA%.subject_area add funding_dept_id number(20,0)
</plsql>
<plsql>
alter table %SCHEMA%.subject_area add constraint fk_sa_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</plsql>
<mysql>
alter table %SCHEMA%.subject_area add funding_dept_id decimal(20,0)
</mysql>
<mysql>
alter table %SCHEMA%.subject_area add constraint fk_sa_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</mysql>
<pgsql>
alter table %SCHEMA%.subject_area add funding_dept_id bigint
</pgsql>
<pgsql>
create index fk_sa_fund_dept ON %SCHEMA%.subject_area USING btree (funding_dept_id)
</pgsql>
<pgsql>
alter table only %SCHEMA%.subject_area add constraint fk_co_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</pgsql>
<plsql>
alter table %SCHEMA%.course_offering add funding_dept_id number(20,0)
</plsql>
<plsql>
alter table %SCHEMA%.course_offering add constraint fk_co_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</plsql>
<mysql>
alter table %SCHEMA%.course_offering add funding_dept_id decimal(20,0)
</mysql>
<mysql>
alter table %SCHEMA%.course_offering add constraint fk_co_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</mysql>
<pgsql>
alter table %SCHEMA%.course_offering add funding_dept_id bigint
</pgsql>
<pgsql>
create index fk_co_fund_dept ON %SCHEMA%.course_offering USING btree (funding_dept_id)
</pgsql>
<pgsql>
alter table only %SCHEMA%.course_offering add constraint fk_co_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</pgsql>
<plsql>
alter table %SCHEMA%.class_ add funding_dept_id number(20,0)
</plsql>
<plsql>
alter table %SCHEMA%.class_ add constraint fk_class_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</plsql>
<mysql>
alter table %SCHEMA%.class_ add funding_dept_id decimal(20,0)
</mysql>
<mysql>
alter table %SCHEMA%.class_ add constraint fk_class_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</mysql>
<pgsql>
alter table %SCHEMA%.class_ add funding_dept_id bigint
</pgsql>
<pgsql>
create index fk_class_fund_dept ON %SCHEMA%.class_ USING btree (funding_dept_id)
</pgsql>
<pgsql>
alter table only %SCHEMA%.class_ add constraint fk_class_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</pgsql>
<plsql>
alter table %SCHEMA%.pit_class add funding_dept_id number(20,0)
</plsql>
<plsql>
alter table %SCHEMA%.pit_class add constraint fk_pit_class_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</plsql>
<mysql>
alter table %SCHEMA%.pit_class add funding_dept_id decimal(20,0)
</mysql>
<mysql>
alter table %SCHEMA%.pit_class add constraint fk_pit_class_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</mysql>
<pgsql>
alter table %SCHEMA%.pit_class add funding_dept_id bigint
</pgsql>
<pgsql>
create index fk_pit_class_fund_dept ON %SCHEMA%.pit_class USING btree (funding_dept_id)
</pgsql>
<pgsql>
alter table only %SCHEMA%.pit_class add constraint fk_pit_class_fund_dept foreign key (funding_dept_id)
references %SCHEMA%.department (uniqueid) on delete set null
</pgsql>
</update>
<update version="249" date="3-Feb-2022" comment="Waitlist course swap">
<plsql>alter table %SCHEMA%.course_demand add wl_course_swap_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.course_demand add wl_course_swap_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.course_demand add wl_course_swap_id bigint</pgsql>
<sql>
alter table %SCHEMA%.course_demand add constraint fk_course_demand_course_swap foreign key (wl_course_swap_id)
references %SCHEMA%.course_offering (uniqueid) on delete set null
</sql>
</update>
<update version="250" date="16-Mar-2022" comment="Student Scheduling Preferences">
<plsql>alter table %SCHEMA%.student add class_start date</plsql>
<plsql>alter table %SCHEMA%.student add class_end date</plsql>
<mysql>alter table %SCHEMA%.student add class_start date null</mysql>
<mysql>alter table %SCHEMA%.student add class_end date null</mysql>
<pgsql>alter table %SCHEMA%.student add class_start date</pgsql>
<pgsql>alter table %SCHEMA%.student add class_end date</pgsql>
</update>
<update version="251" date="26-Apr-2022" comment="Waitlist log course swap">
<plsql>alter table %SCHEMA%.waitlist add swap_course_id number(20,0)</plsql>
<mysql>alter table %SCHEMA%.waitlist add swap_course_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.waitlist add swap_course_id bigint</pgsql>
<sql>
alter table %SCHEMA%.waitlist add constraint fk_waitlist_swap_course foreign key (swap_course_id)
references %SCHEMA%.course_offering (uniqueid) on delete set null
</sql>
</update>
<update version="252" date="26-May-2022" comment="Waitlist indexes">
<plsql onFail="next">create index %SCHEMA%.idx_course_demand_course_swap on %SCHEMA%.course_demand(wl_course_swap_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_sect_pref_im on %SCHEMA%.sect_pref(instr_mthd_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_sect_pref_class on %SCHEMA%.sect_pref(class_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_sect_pref_request on %SCHEMA%.sect_pref(request_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_waitlist_course_demand on %SCHEMA%.waitlist(demand_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_waitlist_enrolled_course on %SCHEMA%.waitlist(enrolled_course_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_waitlist_swap_course on %SCHEMA%.waitlist(swap_course_id)</plsql>
<pgsql onFail="next">create index idx_course_demand_course_swap ON %SCHEMA%.course_demand USING btree (wl_course_swap_id)</pgsql>
<pgsql onFail="next">create index idx_sect_pref_im ON %SCHEMA%.sect_pref USING btree (instr_mthd_id)</pgsql>
<pgsql onFail="next">create index idx_sect_pref_class ON %SCHEMA%.sect_pref USING btree (class_id)</pgsql>
<pgsql onFail="next">create index idx_sect_pref_request ON %SCHEMA%.sect_pref USING btree (request_id)</pgsql>
<pgsql onFail="next">create index idx_waitlist_course_demand ON %SCHEMA%.waitlist USING btree (demand_id)</pgsql>
<pgsql onFail="next">create index idx_waitlist_enrolled_course ON %SCHEMA%.waitlist USING btree (enrolled_course_id)</pgsql>
<pgsql onFail="next">create index idx_waitlist_swap_course ON %SCHEMA%.waitlist USING btree (swap_course_id)</pgsql>
</update>
<update version="253" date="21-Aug-2022" comment="Room Partitions">
<plsql>alter table %SCHEMA%.room add parent_room_id number(20)</plsql>
<mysql>alter table %SCHEMA%.room add parent_room_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.room add parent_room_id bigint</pgsql>
<sql>
alter table %SCHEMA%.room add constraint fk_room_parent foreign key (parent_room_id)
references %SCHEMA%.room (uniqueid) on delete set null
</sql>
</update>
<update version="254" date="13-Jan-2023" comment="Additional Indexes">
<plsql onFail="next">create index %SCHEMA%.idx_advisor_crsreq_student on %SCHEMA%.advisor_crsreq(student_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_student_acm_id on %SCHEMA%.student_area_clasf_major(student_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_sectioning_log_opstd on %SCHEMA%.sectioning_log(operation, student)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_student_ext on %SCHEMA%.student(session_id, external_uid, uniqueid)</plsql>
<mysql onFail="next">create index idx_sectioning_log_opstd on %SCHEMA%.sectioning_log(operation, student)</mysql>
<mysql onFail="next">create index idx_student_ext on %SCHEMA%.student(session_id, external_uid, uniqueid)</mysql>
<pgsql onFail="next">create index idx_advisor_crsreq_student on %SCHEMA%.advisor_crsreq USING btree (student_id)</pgsql>
<pgsql onFail="next">create index idx_student_acm_id on %SCHEMA%.student_area_clasf_major USING btree (student_id)</pgsql>
<pgsql onFail="next">create index idx_sectioning_log_opstd on %SCHEMA%.sectioning_log USING btree (operation, student)</pgsql>
<pgsql onFail="next">create index idx_student_ext on %SCHEMA%.student USING btree (session_id, external_uid, uniqueid)</pgsql>
<plsql onFail="next">create index %SCHEMA%.idx_student_enrl_course_std on %SCHEMA%.student_class_enrl(course_offering_id, student_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_meeting_date_room_stop on %SCHEMA%.meeting(meeting_date, location_perm_id, stop_period)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_course_offering_ctrlcourse on %SCHEMA%.course_offering(is_control, instr_offr_id, subject_area_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_room_session on %SCHEMA%.room(session_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_manager_ext on %SCHEMA%.timetable_manager(external_uid, uniqueid)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_meeting_date_room_apr on %SCHEMA%.meeting(meeting_date, location_perm_id, event_id, approval_status)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_course_offr_rolled_from on %SCHEMA%.course_offering(uid_rolled_fwd_from)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_event_contact_extid on %SCHEMA%.event_contact(external_id)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_meeting_all on %SCHEMA%.meeting(event_id, uniqueid, meeting_date, start_period, start_offset, stop_period, stop_offset, location_perm_id, class_can_override, approval_status, approval_date)</plsql>
<plsql onFail="next">create index %SCHEMA%.idx_session_initiative on %SCHEMA%.sessions(academic_initiative)</plsql>
<mysql onFail="next">create index idx_student_enrl_course_std on %SCHEMA%.student_class_enrl(course_offering_id, student_id)</mysql>
<mysql onFail="next">create index idx_meeting_date_room_stop on %SCHEMA%.meeting(meeting_date, location_perm_id, stop_period)</mysql>
<mysql onFail="next">create index idx_course_offering_ctrlcourse on %SCHEMA%.course_offering(is_control, instr_offr_id, subject_area_id)</mysql>
<mysql onFail="next">create index idx_manager_ext on %SCHEMA%.timetable_manager(external_uid, uniqueid)</mysql>
<mysql onFail="next">create index idx_meeting_date_room_apr on %SCHEMA%.meeting(meeting_date, location_perm_id, event_id, approval_status)</mysql>
<mysql onFail="next">create index idx_course_offering_rolled_from on %SCHEMA%.course_offering(uid_rolled_fwd_from)</mysql>
<mysql onFail="next">create index idx_event_contact_extid on %SCHEMA%.event_contact(external_id)</mysql>
<mysql onFail="next">create index idx_meeting_all on %SCHEMA%.meeting(event_id, uniqueid, meeting_date, start_period, start_offset, stop_period, stop_offset, location_perm_id, class_can_override, approval_status, approval_date)</mysql>
<mysql onFail="next">create index idx_session_initiative on %SCHEMA%.sessions(academic_initiative)</mysql>
<pgsql onFail="next">create index idx_student_enrl_course_std on %SCHEMA%.student_class_enrl using btree (course_offering_id, student_id)</pgsql>
<pgsql onFail="next">create index idx_meeting_date_room_stop on %SCHEMA%.meeting using btree (meeting_date, location_perm_id, stop_period)</pgsql>
<pgsql onFail="next">create index idx_course_offering_ctrlcourse on %SCHEMA%.course_offering using btree (is_control, instr_offr_id, subject_area_id)</pgsql>
<pgsql onFail="next">create index idx_room_session on %SCHEMA%.room using btree (session_id)</pgsql>
<pgsql onFail="next">create index idx_manager_ext on %SCHEMA%.timetable_manager using btree (external_uid, uniqueid)</pgsql>
<pgsql onFail="next">create index idx_meeting_date_room_apr on %SCHEMA%.meeting using btree (meeting_date, location_perm_id, event_id, approval_status)</pgsql>
<pgsql onFail="next">create index idx_course_offering_rolled_from on %SCHEMA%.course_offering using btree (uid_rolled_fwd_from)</pgsql>
<pgsql onFail="next">create index idx_event_contact_extid on %SCHEMA%.event_contact using btree (external_id)</pgsql>
<pgsql onFail="next">create index idx_meeting_all on %SCHEMA%.meeting using btree (event_id, uniqueid, meeting_date, start_period, start_offset, stop_period, stop_offset, location_perm_id, class_can_override, approval_status, approval_date)</pgsql>
<pgsql onFail="next">create index idx_session_initiative on %SCHEMA%.sessions using btree (academic_initiative)</pgsql>
</update>
<update version="255" date="13-Dec-2022" comment="Offering Waitlist Options">
<pgsql>alter table %SCHEMA%.instructional_offering alter waitlist type integer using case when waitlist then 1 else 0 end</pgsql>
<mysql><![CDATA[update %SCHEMA%.sectioning_status set status = status + 262144 where (status & 16 = 16) and (status & 262144 = 0)]]></mysql>
<plsql>update %SCHEMA%.sectioning_status set status = status + 262144 where bitand(status, 16) = 16 and bitand(status, 262144) = 0</plsql>
<pgsql><![CDATA[update %SCHEMA%.sectioning_status set status = status + 262144 where (status & 16 = 16) and (status & 262144 = 0)]]></pgsql>
</update>
<update version="256" date="4-Jan-2023" comment="Instructor Survey">
<!-- Instructor Survey Course Request Note Types -->
<plsql>
create table %SCHEMA%.instr_crsreq_note_type (
uniqueid number(20,0) constraint nn_instr_crsreq_ntype_id not null,
reference varchar2(20 char) constraint nn_instr_crsreq_ntype_ref not null,
label varchar2(60 char) constraint nn_instr_crsreq_ntype_lab not null,
length number(10) constraint nn_instr_crsreq_ntype_length not null,
sort_order number(10) constraint nn_instr_crsreq_ntype_sort not null
)
</plsql>
<plsql>alter table %SCHEMA%.instr_crsreq_note_type add constraint pk_instr_crsreq_note_type primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.instr_crsreq_note_type (
uniqueid decimal(20,0) primary key not null,
reference varchar(20) not null,
label varchar(60) not null,
length bigint(10) not null,
sort_order bigint(10) not null
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.instr_crsreq_note_type (
uniqueid bigint not null,
reference varchar(20) not null,
label varchar(60) not null,
length integer not null,
sort_order integer not null
)
</pgsql>
<pgsql>alter table %SCHEMA%.instr_crsreq_note_type add constraint pk_instr_crsreq_note_type primary key (uniqueid)</pgsql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorSurveyNoteTypes'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'Majors'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorSurveyNoteTypeEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'MajorEdit'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorSurvey'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'InstructorPreferences'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'InstructorSurveyAdmin'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'InstructorAdd'
</sql>
<plsql>insert into %SCHEMA%.instr_crsreq_note_type (uniqueid, reference, label, length, sort_order) values
(%SCHEMA%.ref_table_seq.nextval, 'Section(s)', 'Section Identification', 8, 0)</plsql>
<plsql>insert into %SCHEMA%.instr_crsreq_note_type (uniqueid, reference, label, length, sort_order) values
(%SCHEMA%.ref_table_seq.nextval, 'Notes', 'Instructor Requirements', 82, 1)</plsql>
<mysql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</mysql>
<mysql>
insert into %SCHEMA%.instr_crsreq_note_type
(uniqueid, reference, label, length, sort_order) values
(%ID%+0, 'Section(s)', 'Section Identification', 8, 0),
(%ID%+1, 'Notes', 'Instructor Requirements', 82, 1)
</mysql>
<mysql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</mysql>
<pgsql into="ID">
select 32767 * next_hi from %SCHEMA%.hibernate_unique_key
</pgsql>
<pgsql>
insert into %SCHEMA%.instr_crsreq_note_type
(uniqueid, reference, label, length, sort_order) values
(%ID%+0, 'Section(s)', 'Section Identification', 8, 0),
(%ID%+1, 'Notes', 'Instructor Requirements', 82, 1)
</pgsql>
<pgsql>
update %SCHEMA%.hibernate_unique_key set next_hi=next_hi+1
</pgsql>
<!-- Preference notes -->
<plsql>alter table %SCHEMA%.room_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.room_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.room_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.room_feature_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.room_feature_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.room_feature_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.building_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.building_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.building_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.time_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.time_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.time_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.date_pattern_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.date_pattern_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.date_pattern_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.distribution_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.distribution_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.distribution_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.room_group_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.room_group_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.room_group_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.exam_period_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.exam_period_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.exam_period_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.attribute_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.attribute_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.attribute_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.course_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.course_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.course_pref add note varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.instructor_pref add note varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.instructor_pref add note varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.instructor_pref add note varchar(2048)</pgsql>
<!-- Instructor Survey -->
<plsql>
create table %SCHEMA%.instructor_survey (
uniqueid number(20,0) constraint nn_instructor_survey_id not null,
session_id number(20,0) constraint nn_instructor_survey_sess not null,
external_uid varchar2(40 char) constraint nn_instructor_survey_ext not null,
email varchar2(200 char),
note varchar2(2048 char),
submitted timestamp
)
</plsql>
<plsql>alter table %SCHEMA%.instructor_survey add constraint pk_instructor_survey primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.instructor_survey (
uniqueid decimal(20,0) primary key not null,
session_id decimal(20,0) not null,
external_uid varchar(40) not null,
email varchar(200),
note varchar(2048),
submitted datetime
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.instructor_survey (
uniqueid bigint not null,
session_id bigint not null,
external_uid varchar(40) not null,
email varchar(200),
note varchar(2048),
submitted timestamp with time zone
)
</pgsql>
<pgsql>alter table %SCHEMA%.instructor_survey add constraint pk_instructor_survey primary key (uniqueid)</pgsql>
<sql>
alter table %SCHEMA%.instructor_survey add constraint fk_instr_surv_session foreign key (session_id)
references %SCHEMA%.sessions (uniqueid) on delete cascade
</sql>
<!-- Instructor Survey Course Requirements -->
<plsql>
create table %SCHEMA%.instr_crsreq (
uniqueid number(20,0) constraint nn_instr_crsreq_id not null,
survey_id number(20,0) constraint nn_instr_crsreq_survey not null,
course varchar2(1024 char),
course_offering_id number(20,0)
)
</plsql>
<plsql>alter table %SCHEMA%.instr_crsreq add constraint pk_instr_crsreq primary key (uniqueid)</plsql>
<mysql>
create table %SCHEMA%.instr_crsreq (
uniqueid decimal(20,0) primary key not null,
survey_id decimal(20,0) not null,
course varchar(1024),
course_offering_id decimal(20,0)
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.instr_crsreq (
uniqueid bigint not null,
survey_id bigint not null,
course varchar(1024),
course_offering_id bigint
)
</pgsql>
<pgsql>alter table %SCHEMA%.instr_crsreq add constraint pk_instr_crsreq primary key (uniqueid)</pgsql>
<sql>
alter table %SCHEMA%.instr_crsreq add constraint fk_instr_crsreq_survey foreign key (survey_id)
references %SCHEMA%.instructor_survey (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.instr_crsreq add constraint fk_instr_crsreq_course foreign key (course_offering_id)
references %SCHEMA%.course_offering (uniqueid) on delete set null
</sql>
<!-- Instructor Survey Course Requirement Notes -->
<plsql>
create table %SCHEMA%.instr_crsreq_note (
requirement_id number(20,0) constraint nn_instr_crsreq_note_req not null,
type_id number(20,0) constraint nn_instr_crsreq_note_req_type not null,
note varchar2(2048 char)
)
</plsql>
<plsql>alter table %SCHEMA%.instr_crsreq_note add constraint pk_instr_crsreq_note primary key (requirement_id, type_id)</plsql>
<mysql>
create table %SCHEMA%.instr_crsreq_note (
requirement_id decimal(20,0) not null,
type_id decimal(20,0) not null,
note varchar(2048),
primary key(requirement_id, type_id)
) engine = INNODB
</mysql>
<pgsql>
create table %SCHEMA%.instr_crsreq_note (
requirement_id bigint not null,
type_id bigint not null,
note varchar(2048)
)
</pgsql>
<pgsql>alter table %SCHEMA%.instr_crsreq_note add constraint pk_instr_crsreq_note primary key (requirement_id, type_id)</pgsql>
<sql>
alter table %SCHEMA%.instr_crsreq_note add constraint fk_instr_crsreq_note_req foreign key (requirement_id)
references %SCHEMA%.instr_crsreq (uniqueid) on delete cascade
</sql>
<sql>
alter table %SCHEMA%.instr_crsreq_note add constraint fk_instr_crsreq_note_type foreign key (type_id)
references %SCHEMA%.instr_crsreq_note_type (uniqueid) on delete cascade
</sql>
</update>
<update version="257" date="17-Jan-2023" comment="Instructor Survey Improvements">
<plsql>alter table %SCHEMA%.feature_type add survey number(1) default 1</plsql>
<mysql>alter table %SCHEMA%.feature_type add survey int(1) default 1</mysql>
<pgsql>alter table %SCHEMA%.feature_type add survey boolean default true</pgsql>
<plsql>alter table %SCHEMA%.instructor_survey add changed_by varchar2(40 char)</plsql>
<mysql>alter table %SCHEMA%.instructor_survey add changed_by varchar(40)</mysql>
<pgsql>alter table %SCHEMA%.instructor_survey add changed_by varchar(40)</pgsql>
<plsql>alter table %SCHEMA%.instructor_survey add changed_ts timestamp</plsql>
<mysql>alter table %SCHEMA%.instructor_survey add changed_ts datetime</mysql>
<pgsql>alter table %SCHEMA%.instructor_survey add changed_ts timestamp with time zone</pgsql>
<plsql>alter table %SCHEMA%.instructor_survey add applied_dept varchar2(50 char)</plsql>
<mysql>alter table %SCHEMA%.instructor_survey add applied_dept varchar(50)</mysql>
<pgsql>alter table %SCHEMA%.instructor_survey add applied_dept varchar(50)</pgsql>
<plsql>alter table %SCHEMA%.instructor_survey add applied_ts timestamp</plsql>
<mysql>alter table %SCHEMA%.instructor_survey add applied_ts datetime</mysql>
<pgsql>alter table %SCHEMA%.instructor_survey add applied_ts timestamp with time zone</pgsql>
</update>
<update version="258" date="30-Mar-2023" comment="Table Generator Hibernate Update">
<mysql>alter table %SCHEMA%.hibernate_unique_key add sequence_name varchar(100) not null primary key default 'default'</mysql>
<pgsql>alter table %SCHEMA%.hibernate_unique_key add sequence_name varchar(100) not null default 'default'</pgsql>
<pgsql>alter table %SCHEMA%.hibernate_unique_key add constraint pk_hibernate_unique_key primary key (sequence_name)</pgsql>
<plsql>alter table %SCHEMA%.instructional_offering modify instr_offering_perm_id number(20)</plsql>
<mysql>alter table %SCHEMA%.instructional_offering modify instr_offering_perm_id decimal(20,0)</mysql>
<pgsql>alter table %SCHEMA%.instructional_offering alter instr_offering_perm_id type bigint</pgsql>
</update>
<update version="259" date="12-Jun-2023" comment="Distribution Type Allow Instructor Survey">
<plsql>alter table %SCHEMA%.distribution_type add survey number(1)</plsql>
<mysql>alter table %SCHEMA%.distribution_type add survey int(1)</mysql>
<pgsql>alter table %SCHEMA%.distribution_type add survey boolean</pgsql>
</update>
<update version="260" date="10-Aug-2023" comment="Student Scheduling Rules">
<mysql>
create table %SCHEMA%.std_sched_rules (
uniqueid decimal(20,0) primary key not null,
ord decimal(10,0) not null,
name varchar(255) not null,
student_filter varchar(2048),
initiative varchar(1024),
term varchar(1024),
first_year decimal(10,0),
last_year decimal(10,0),
instr_method varchar(2048),
course_name varchar(2048),
apply_filter int(1) not null,
apply_online int(1) not null,
apply_batch int(1) not null,
admin_override int(1) not null,
advisor_override int(1) not null
) engine = INNODB
</mysql>
<plsql>
create table %SCHEMA%.std_sched_rules (
uniqueid number(20,0) constraint nn_sched_rules_uniqueid not null,
ord number(10,0) constraint nn_sched_rules_ord not null,
name varchar2(255 char) constraint nn_sched_rules_name not null,
student_filter varchar2(2048 char),
initiative varchar2(1024 char),
term varchar2(1024 char),
first_year number(10,0),
last_year number(10,0),
instr_method varchar2(2048 char),
course_name varchar2(2048 char),
apply_filter number(1) constraint nn_sched_rules_filter not null,
apply_online number(1) constraint nn_sched_rules_online not null,
apply_batch number(1) constraint nn_sched_rules_batch not null,
admin_override number(1) constraint nn_sched_rules_admin not null,
advisor_override number(1) constraint nn_sched_rules_advisor not null
)
</plsql>
<plsql>alter table %SCHEMA%.std_sched_rules add constraint pk_std_sched_rules primary key (uniqueid)</plsql>
<pgsql>
create table %SCHEMA%.std_sched_rules (
uniqueid bigint not null,
ord integer not null,
name varchar(255) not null,
student_filter varchar(2048),
initiative varchar(1024),
term varchar(1024),
first_year integer,
last_year integer,
instr_method varchar(2048),
course_name varchar(2048),
apply_filter boolean not null,
apply_online boolean not null,
apply_batch boolean not null,
admin_override boolean not null,
advisor_override boolean not null
)
</pgsql>
<pgsql>alter table %SCHEMA%.std_sched_rules add constraint pk_std_sched_rules primary key (uniqueid)</pgsql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingRules'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StudentSchedulingStatusTypes'
</sql>
<sql>
insert into %SCHEMA%.rights (role_id, value)
select distinct r.role_id, 'StudentSchedulingRuleEdit'
from %SCHEMA%.roles r, %SCHEMA%.rights g where g.role_id = r.role_id and g.value = 'StudentSchedulingStatusTypeEdit'
</sql>
</update>
<update version="261" date="17-Aug-2023" comment="Student Scheduling Rules Adjustments">
<plsql>alter table %SCHEMA%.std_sched_rules add course_type varchar2(2048 char)</plsql>
<mysql>alter table %SCHEMA%.std_sched_rules add course_type varchar(2048)</mysql>
<pgsql>alter table %SCHEMA%.std_sched_rules add course_type varchar(2048)</pgsql>
<plsql>alter table %SCHEMA%.std_sched_rules add disjunctive number(1) default 0</plsql>
<mysql>alter table %SCHEMA%.std_sched_rules add disjunctive int(1) default 0</mysql>
<pgsql>alter table %SCHEMA%.std_sched_rules add disjunctive boolean default false</pgsql>
</update>
<update version="262" date="18-Oct-2023" comment="Student Notification Types">
<plsql>alter table %SCHEMA%.sectioning_status add notifications number(10,0)</plsql>
<mysql>alter table %SCHEMA%.sectioning_status add notifications bigint(10)</mysql>
<pgsql>alter table %SCHEMA%.sectioning_status add notifications bigint</pgsql>
<sql>update %SCHEMA%.sectioning_status set notifications = 511</sql>
</update>
<update version="263" date="7-Nov-2023" comment="Session Notification Dates">
<mysql>alter table %SCHEMA%.sessions add notifications_begin date</mysql>
<mysql>alter table %SCHEMA%.sessions add notifications_end date</mysql>
<plsql>alter table %SCHEMA%.sessions add notifications_begin date</plsql>
<plsql>alter table %SCHEMA%.sessions add notifications_end date</plsql>
<pgsql>alter table %SCHEMA%.sessions add notifications_begin date</pgsql>
<pgsql>alter table %SCHEMA%.sessions add notifications_end date</pgsql>
</update>
<update version="264" date="8-Jan-2024" comment="Class Room Split Attendance">
<mysql>alter table %SCHEMA%.class_ add rooms_split_att int(1) default 0</mysql>
<plsql>alter table %SCHEMA%.class_ add rooms_split_att number(1) default 0</plsql>
<pgsql>alter table %SCHEMA%.class_ add rooms_split_att boolean default false</pgsql>
</update>
<update version="265" date="12-Jan-2024" comment="Room Preference Index">
<mysql>alter table %SCHEMA%.room_pref add room_idx bigint(10)</mysql>
<plsql>alter table %SCHEMA%.room_pref add room_idx number(10,0)</plsql>
<pgsql>alter table %SCHEMA%.room_pref add room_idx bigint</pgsql>
<mysql>alter table %SCHEMA%.room_feature_pref add room_idx bigint(10)</mysql>
<plsql>alter table %SCHEMA%.room_feature_pref add room_idx number(10,0)</plsql>
<pgsql>alter table %SCHEMA%.room_feature_pref add room_idx bigint</pgsql>
<mysql>alter table %SCHEMA%.building_pref add room_idx bigint(10)</mysql>
<plsql>alter table %SCHEMA%.building_pref add room_idx number(10,0)</plsql>
<pgsql>alter table %SCHEMA%.building_pref add room_idx bigint</pgsql>
<mysql>alter table %SCHEMA%.room_group_pref add room_idx bigint(10)</mysql>
<plsql>alter table %SCHEMA%.room_group_pref add room_idx number(10,0)</plsql>
<pgsql>alter table %SCHEMA%.room_group_pref add room_idx bigint</pgsql>
</update>
<update version="266" date="23-Jan-2024" comment="Universal Reservation Override">
<plsql>alter table %SCHEMA%.reservation add filter varchar2(512 char)</plsql>
<mysql>alter table %SCHEMA%.reservation add filter varchar(512)</mysql>
<pgsql>alter table %SCHEMA%.reservation add filter varchar(512)</pgsql>
</update>
<update version="267" date="26-Jan-2024" comment="Location Event Email">
<plsql>alter table %SCHEMA%.room add email varchar2(200)</plsql>
<mysql>alter table %SCHEMA%.room add email varchar(200)</mysql>
<pgsql>alter table %SCHEMA%.room add email varchar(200)</pgsql>
<plsql>alter table %SCHEMA%.non_university_location add email varchar2(200)</plsql>
<mysql>alter table %SCHEMA%.non_university_location add email varchar(200)</mysql>
<pgsql>alter table %SCHEMA%.non_university_location add email varchar(200)</pgsql>
<plsql>alter table %SCHEMA%.room_type_option add email varchar2(200)</plsql>
<mysql>alter table %SCHEMA%.room_type_option add email varchar(200)</mysql>
<pgsql>alter table %SCHEMA%.room_type_option add email varchar(200)</pgsql>
</update>
<update version="268" date="30-Jan-2024" comment="Access Control Statistics">
<mysql>
create table %SCHEMA%.access_stats (
uniqueid decimal(20,0) primary key not null,
time_stamp datetime not null,
host varchar(50) not null,
page varchar(50) not null,
nbr_access decimal(10,0) not null,
nbr_active decimal(10,0) not null,
nbr_waiting decimal(10,0) not null,
nbr_opened decimal(10,0) not null,
nbr_tracking decimal(10,0) not null,
nbr_active1m decimal(10,0) not null,
nbr_active2m decimal(10,0) not null,
nbr_active5m decimal(10,0) not null,
nbr_active10m decimal(10,0) not null,
nbr_active15m decimal(10,0) not null
) engine = INNODB
</mysql>
<mysql>create index idx_access_stats on %SCHEMA%.access_stats(time_stamp, page)</mysql>
<plsql>
create table %SCHEMA%.access_stats (
uniqueid number(20,0) constraint nn_access_stats_uniqueid not null,
time_stamp date constraint nn_access_stats_time_stamp not null,
host varchar2(50 char) constraint nn_access_stats_host not null,
page varchar2(50 char) constraint nn_access_stats_page not null,
nbr_access decimal(10,0) constraint nn_access_stats_access not null,
nbr_active decimal(10,0) constraint nn_access_stats_active not null,
nbr_waiting decimal(10,0) constraint nn_access_stats_waiting not null,
nbr_opened decimal(10,0) constraint nn_access_stats_opened not null,
nbr_tracking decimal(10,0) constraint nn_access_stats_tracking not null,
nbr_active1m decimal(10,0) constraint nn_access_stats_active1 not null,
nbr_active2m decimal(10,0) constraint nn_access_stats_active2 not null,
nbr_active5m decimal(10,0) constraint nn_access_stats_active5 not null,
nbr_active10m decimal(10,0) constraint nn_access_stats_active10 not null,
nbr_active15m decimal(10,0) constraint nn_access_stats_active15 not null
)
</plsql>
<plsql>alter table %SCHEMA%.access_stats add constraint pk_access_stats primary key (uniqueid)</plsql>
<plsql>create index %SCHEMA%.idx_access_stats on %SCHEMA%.access_stats(time_stamp, page)</plsql>
<pgsql>
create table %SCHEMA%.access_stats (
uniqueid bigint not null,
time_stamp with time zone not null,
host varchar(50) not null,
page varchar(50) not null,
nbr_access integer not null,
nbr_active integer not null,
nbr_waiting integer not null,
nbr_opened integer not null,
nbr_tracking integer not null,
nbr_active1m integer not null,
nbr_active2m integer not null,
nbr_active5m integer not null,
nbr_active10m integer not null,
nbr_active15m integer not null
)
</pgsql>
<pgsql>alter table %SCHEMA%.access_stats add constraint pk_access_stats primary key (uniqueid)</pgsql>
<pgsql>create index %SCHEMA%.idx_access_stats on %SCHEMA%.access_stats(time_stamp, page)</pgsql>
</update>
<update version="269" date="2-Feb-2024" comment="Access Control Statistics Update">
<mysql>alter table %SCHEMA%.access_stats add nbr_gotin decimal(10,0)</mysql>
<mysql>alter table %SCHEMA%.access_stats add nbr_left decimal(10,0)</mysql>
<mysql>alter table %SCHEMA%.access_stats add nbr_gaveup decimal(10,0)</mysql>
<mysql>alter table %SCHEMA%.access_stats add avg_access decimal(20,0)</mysql>
<mysql>alter table %SCHEMA%.access_stats add avg_wait decimal(20,0)</mysql>
<mysql>alter table %SCHEMA%.access_stats add avg_access_out decimal(20,0)</mysql>
<mysql>alter table %SCHEMA%.access_stats add avg_wait_in decimal(20,0)</mysql>
<plsql>alter table %SCHEMA%.access_stats add nbr_gotin decimal(10,0)</plsql>
<plsql>alter table %SCHEMA%.access_stats add nbr_left decimal(10,0)</plsql>
<plsql>alter table %SCHEMA%.access_stats add nbr_gaveup decimal(10,0)</plsql>
<plsql>alter table %SCHEMA%.access_stats add avg_access decimal(20,0)</plsql>
<plsql>alter table %SCHEMA%.access_stats add avg_wait decimal(20,0)</plsql>
<plsql>alter table %SCHEMA%.access_stats add avg_access_out decimal(20,0)</plsql>
<plsql>alter table %SCHEMA%.access_stats add avg_wait_in decimal(20,0)</plsql>
<pgsql>alter table %SCHEMA%.access_stats add nbr_gotin integer</pgsql>
<pgsql>alter table %SCHEMA%.access_stats add nbr_left integer</pgsql>
<pgsql>alter table %SCHEMA%.access_stats add nbr_gaveup integer</pgsql>
<pgsql>alter table %SCHEMA%.access_stats add avg_access bigint</pgsql>
<pgsql>alter table %SCHEMA%.access_stats add avg_wait bigint</pgsql>
<pgsql>alter table %SCHEMA%.access_stats add avg_access_out bigint</pgsql>
<pgsql>alter table %SCHEMA%.access_stats add avg_wait_in bigint</pgsql>
</update>
</dbupdate>