Blame | Last modification | View Log | RSS feed
CREATE PROCEDURE "RELEASE_MANAGER"."UPDATE_PACKAGE_STATES" ( NNrtag_id IN NUMBER,NNsession_num IN NUMBER ) IS/* ---------------------------------------------------------------------------Version: 3.0.0--------------------------------------------------------------------------- *//* ============= STATE RULES =================== *//*MNR MRR MN MR | pkg_state------------------------------------0 0 0 0 | OK0 0 0 1 | MAJOR0 0 1 0 | MINOR0 0 1 1 | MAJOR------------------------------------0 1 0 0 | MAJOR_READY0 1 0 1 | MAJOR0 1 1 0 | MAJOR0 1 1 1 | MAJOR------------------------------------1 0 0 0 | MINOR_READY1 0 0 1 | MAJOR1 0 1 0 | MINOR1 0 1 1 | MAJOR------------------------------------1 1 0 0 | MAJOR_READY1 1 0 1 | MAJOR1 1 1 0 | MAJOR1 1 1 1 | MAJOR------------------------------------*/BEGIN/*----------------------------------------------|| MINOR READY*/----------------------------------------------UPDATE release_contentSET pkg_state = 4WHERE rtag_id = NNrtag_idAND pv_id IN(SELECT DISTINCT pv_idFROM temp_env_statesWHERE session_num = NNsession_numAND level_num = 1AND tes_state = 2);/*----------------------------------------------|| MAJOR READY*/----------------------------------------------UPDATE release_contentSET pkg_state = 3WHERE rtag_id = NNrtag_idAND pv_id IN(SELECT DISTINCT pv_idFROM temp_env_statesWHERE session_num = NNsession_numAND level_num = 1AND tes_state IN (0,1));/*----------------------------------------------|| MINOR*/----------------------------------------------UPDATE release_contentSET pkg_state = 2WHERE rtag_id = NNrtag_idAND pv_id IN(SELECT DISTINCT pv_idFROM temp_env_statesWHERE session_num = NNsession_numAND level_num >= 2AND tes_state = 2MINUSSELECT pv_idFROM release_contentWHERE rtag_id = NNrtag_idAND pkg_state = 3);/*----------------------------------------------|| MAJOR*/----------------------------------------------UPDATE release_contentSET pkg_state = 1WHERE rtag_id = NNrtag_idAND pv_id IN(SELECT DISTINCT pv_idFROM temp_env_statesWHERE session_num = NNsession_numAND level_num >= 2AND tes_state IN (0,1)/* MAJOR EXCEPTION - When package has Major Ready and Minor */UNIONSELECT DISTINCT tes.pv_idFROM temp_env_states tes,release_content rcWHERE tes.session_num = NNsession_numAND tes.level_num >= 2AND tes.tes_state = 2AND rtag_id = NNrtag_idAND rc.pv_id = tes.pv_idAND rc.pkg_state = 3);/*----------------------------------------------|| OK*/----------------------------------------------UPDATE release_contentSET pkg_state = 0WHERE rtag_id = NNrtag_idAND pv_id IN(SELECT rc.pv_idFROM release_content rcWHERE rc.rtag_id = NNrtag_idAND NOT rc.pv_id IN(SELECT DISTINCT pv_idFROM temp_env_states WHERE session_num = NNsession_num));/*----------------------------------------------|| ADVISORY RIPPLE - NEW STUFF*/----------------------------------------------/* UPDATE release_contentSET pkg_state = 8WHERE rtag_id = NNrtag_idAND pv_id IN(SELECT DISTINCT pv_idFROM temp_env_statesWHERE session_num = NNsession_numAND level_num = 1AND tes_state = 3); *//*----------------------------------------------|| ADVISORY RIPPLE DEPENDANT*/----------------------------------------------/* UPDATE release_contentSET pkg_state = 9WHERE rtag_id = NNrtag_idAND pv_id IN(SELECT DISTINCT pv_idFROM temp_env_statesWHERE session_num = NNsession_numAND level_num >= 2AND tes_state = 3); */Update_Deprecation_State (NNrtag_id);END Update_Package_States;/