Subversion Repositories DevTools

Rev

Rev 7039 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4040 dpurdie 1
--------------------------------------------------------
7340 dpurdie 2
--  File created - Thursday-September-12-2019   
6999 dpurdie 3
--------------------------------------------------------
7340 dpurdie 4
DROP TYPE "RELEASE_MANAGER"."RELMGR_NUMBER_TAB_T";
5
DROP TYPE "RELEASE_MANAGER"."RELMGR_PKG_DESTROY_ERR_T";
6
DROP TYPE "RELEASE_MANAGER"."RELMGR_PKG_DESTROY_ERR_TAB_T";
7
DROP TYPE "RELEASE_MANAGER"."RELMGR_VARCHAR2_TAB_T";
8
DROP TYPE "RELEASE_MANAGER"."TDICTIONARY";
9
DROP SEQUENCE "RELEASE_MANAGER"."MICROSOFTSEQDTPROPERTIES";
10
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_ADDITIONAL_NOTES";
11
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_BLAT_MOD";
12
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_BLAT_SERVER_ID";
13
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_BMCON_ID";
14
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_BM_ID";
15
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_BSA_ID";
16
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_BUILD_INSTANCE";
17
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_BUILD_PLATFORMS";
18
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_CR_ID";
19
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_DAEMON_INSTRUCTION_ID";
20
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_GBE_ID";
21
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_GROUP_EMAIL_ID";
22
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_MSG_ID";
23
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_PKG_ID";
24
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_PROJ_ID";
25
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_PV_ID";
26
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_RCON_ID";
27
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_RELEASE_MOD";
28
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_RTAG_ID";
29
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_SCHEDULED_ID";
30
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_SDKTAG_ID";
31
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_SDK_ID";
32
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_SESSION_NUM";
33
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_TESTRUN_ID";
34
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_UNIT_TESTS";
35
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_USER_ID";
36
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_VCS_TYPE";
37
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_VIEW_ID";
38
DROP SEQUENCE "RELEASE_MANAGER"."SEQ_VTREE_ID";
39
DROP TABLE "RELEASE_MANAGER"."ABT_ACTION_LOG";
40
DROP TABLE "RELEASE_MANAGER"."ACTION_LOG";
41
DROP TABLE "RELEASE_MANAGER"."ACTION_TYPE";
42
DROP TABLE "RELEASE_MANAGER"."ADDITIONAL_NOTES";
43
DROP TABLE "RELEASE_MANAGER"."ADVISORY_RIPPLE";
44
DROP TABLE "RELEASE_MANAGER"."ARCHIVE_ACTION_LOG";
45
DROP TABLE "RELEASE_MANAGER"."ARCHIVE_DATA";
46
DROP TABLE "RELEASE_MANAGER"."AUTOBUILD_FAILURE";
47
DROP TABLE "RELEASE_MANAGER"."BLAT_PROJECTS";
48
DROP TABLE "RELEASE_MANAGER"."BLAT_RELEASES";
49
DROP TABLE "RELEASE_MANAGER"."BLAT_SERVERS";
50
DROP TABLE "RELEASE_MANAGER"."BUILD_ENVIRONMENTS";
51
DROP TABLE "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS";
52
DROP TABLE "RELEASE_MANAGER"."BUILD_INSTANCES";
53
DROP TABLE "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS";
54
DROP TABLE "RELEASE_MANAGER"."BUILD_MACHINES";
55
DROP TABLE "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG";
56
DROP TABLE "RELEASE_MANAGER"."BUILD_ORDER";
57
DROP TABLE "RELEASE_MANAGER"."BUILD_PLAN";
58
DROP TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS";
59
DROP TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG";
60
DROP TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2";
61
DROP TABLE "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG";
62
DROP TABLE "RELEASE_MANAGER"."BUILD_STANDARDS";
63
DROP TABLE "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM";
64
DROP TABLE "RELEASE_MANAGER"."CODE_REVIEWS";
65
DROP TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL";
66
DROP TABLE "RELEASE_MANAGER"."CQ_HISTORY";
67
DROP TABLE "RELEASE_MANAGER"."CQ_ISSUES";
68
DROP TABLE "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE";
69
DROP TABLE "RELEASE_MANAGER"."CQ_STATEDEF";
70
DROP TABLE "RELEASE_MANAGER"."CQ_USERS";
71
DROP TABLE "RELEASE_MANAGER"."DAEMON_ACTION_LOG";
72
DROP TABLE "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS";
73
DROP TABLE "RELEASE_MANAGER"."DASH_BOARD";
74
DROP TABLE "RELEASE_MANAGER"."DEPRECATED_PACKAGES";
75
DROP TABLE "RELEASE_MANAGER"."DO_NOT_RIPPLE";
76
DROP TABLE "RELEASE_MANAGER"."GBE_MACHTYPE";
77
DROP TABLE "RELEASE_MANAGER"."IGNORE_WARNINGS";
78
DROP TABLE "RELEASE_MANAGER"."JIRA_ISSUES";
79
DROP TABLE "RELEASE_MANAGER"."LICENCES";
80
DROP TABLE "RELEASE_MANAGER"."LICENCING";
81
DROP TABLE "RELEASE_MANAGER"."LXR_STATE";
82
DROP TABLE "RELEASE_MANAGER"."MEMBERS_GROUP";
83
DROP TABLE "RELEASE_MANAGER"."MESSAGE_BOARD";
84
DROP TABLE "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES";
85
DROP TABLE "RELEASE_MANAGER"."NOTE_MANAGER";
86
DROP TABLE "RELEASE_MANAGER"."NOTIFICATION_HISTORY";
87
DROP TABLE "RELEASE_MANAGER"."PACKAGES";
88
DROP TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_ENV";
89
DROP TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_INFO";
90
DROP TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES";
91
DROP TABLE "RELEASE_MANAGER"."PACKAGE_DOCUMENTS";
92
DROP TABLE "RELEASE_MANAGER"."PACKAGE_INTEREST";
93
DROP TABLE "RELEASE_MANAGER"."PACKAGE_METRICS";
94
DROP TABLE "RELEASE_MANAGER"."PACKAGE_PATCHES";
95
DROP TABLE "RELEASE_MANAGER"."PACKAGE_PROCESSES";
96
DROP TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS";
97
DROP TABLE "RELEASE_MANAGER"."PACKAGE_VERSION_PLATFORMS";
98
DROP TABLE "RELEASE_MANAGER"."PEGGED_VERSIONS";
99
DROP TABLE "RELEASE_MANAGER"."PLANNED";
100
DROP TABLE "RELEASE_MANAGER"."PLANNED_VERSIONS";
101
DROP TABLE "RELEASE_MANAGER"."PLATFORMS";
102
DROP TABLE "RELEASE_MANAGER"."PROCESSES";
103
DROP TABLE "RELEASE_MANAGER"."PRODUCT_COMPONENTS";
104
DROP TABLE "RELEASE_MANAGER"."PRODUCT_STATES";
105
DROP TABLE "RELEASE_MANAGER"."PROJECTS";
106
DROP TABLE "RELEASE_MANAGER"."PROJECT_ACTION_LOG";
107
DROP TABLE "RELEASE_MANAGER"."PROJECT_EXTENTIONS";
108
DROP TABLE "RELEASE_MANAGER"."RELEASE_COMPONENTS";
109
DROP TABLE "RELEASE_MANAGER"."RELEASE_CONFIG";
110
DROP TABLE "RELEASE_MANAGER"."RELEASE_CONTENT";
111
DROP TABLE "RELEASE_MANAGER"."RELEASE_LINKS";
112
DROP TABLE "RELEASE_MANAGER"."RELEASE_METRICS";
113
DROP TABLE "RELEASE_MANAGER"."RELEASE_MODIFIED";
114
DROP TABLE "RELEASE_MANAGER"."RELEASE_TAGS";
115
DROP TABLE "RELEASE_MANAGER"."RM_PACKAGE_ISSUES_DELETE_ME";
116
DROP TABLE "RELEASE_MANAGER"."RM_PKG_ISSUES";
117
DROP TABLE "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES";
118
DROP TABLE "RELEASE_MANAGER"."RUN_LEVEL";
119
DROP TABLE "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE";
120
DROP TABLE "RELEASE_MANAGER"."SDK_CONTENT";
121
DROP TABLE "RELEASE_MANAGER"."SDK_NAMES";
122
DROP TABLE "RELEASE_MANAGER"."SDK_TAGS";
123
DROP TABLE "RELEASE_MANAGER"."TEMP_ENV_DEPS";
124
DROP TABLE "RELEASE_MANAGER"."TEMP_ENV_STATES";
125
DROP TABLE "RELEASE_MANAGER"."TEMP_SASH";
126
DROP TABLE "RELEASE_MANAGER"."TEMP_TREE_BROWSE";
127
DROP TABLE "RELEASE_MANAGER"."TEST_RUN";
128
DROP TABLE "RELEASE_MANAGER"."TEST_TYPES";
129
DROP TABLE "RELEASE_MANAGER"."UNIT_TESTS";
130
DROP TABLE "RELEASE_MANAGER"."VALIDATION_RULES_DELETE_ME";
131
DROP TABLE "RELEASE_MANAGER"."VCS_TYPE";
132
DROP TABLE "RELEASE_MANAGER"."VIEWS";
133
DROP TABLE "RELEASE_MANAGER"."VIEW_DEF";
134
DROP TABLE "RELEASE_MANAGER"."VIEW_SETTINGS";
135
DROP TABLE "RELEASE_MANAGER"."VTREES";
136
DROP TABLE "RELEASE_MANAGER"."VTREES_WORLD";
137
DROP TABLE "RELEASE_MANAGER"."WORK_IN_PROGRESS";
138
DROP TABLE "RELEASE_MANAGER"."WORLDS";
139
DROP VIEW "RELEASE_MANAGER"."ENVIRONMENT_VIEW";
140
DROP PROCEDURE "RELEASE_MANAGER"."ADD_AUTOBUILD_FAILURE_INFO";
141
DROP PROCEDURE "RELEASE_MANAGER"."ADD_COMPONENT";
142
DROP PROCEDURE "RELEASE_MANAGER"."ADD_PACKAGE_INTEREST";
143
DROP PROCEDURE "RELEASE_MANAGER"."ADD_RUNTIME_DEPENDENCY";
144
DROP PROCEDURE "RELEASE_MANAGER"."ADD_VIEW_MEMBERS";
145
DROP PROCEDURE "RELEASE_MANAGER"."BASIC_CLONE";
146
DROP PROCEDURE "RELEASE_MANAGER"."BUILD_TREE";
147
DROP PROCEDURE "RELEASE_MANAGER"."CHANGE_PACKAGE_STATE";
148
DROP PROCEDURE "RELEASE_MANAGER"."CHANGE_RELEASE_MODE";
149
DROP PROCEDURE "RELEASE_MANAGER"."CHECK_NEW_PATCHES";
150
DROP PROCEDURE "RELEASE_MANAGER"."CLEAN_ADVISORY_RIPPLE";
151
DROP PROCEDURE "RELEASE_MANAGER"."CLEAN_DO_NOT_RIPPLE";
152
DROP PROCEDURE "RELEASE_MANAGER"."CLEAR_ADVISORY_RIPPLE";
153
DROP PROCEDURE "RELEASE_MANAGER"."CLONED_PACKAGE_PROCESSES";
154
DROP PROCEDURE "RELEASE_MANAGER"."CLONED_PROCESSES";
155
DROP PROCEDURE "RELEASE_MANAGER"."DELETE_AUTOBUILD_FAILURE_INFO";
156
DROP PROCEDURE "RELEASE_MANAGER"."DEPRECATE_PACKAGE";
157
DROP PROCEDURE "RELEASE_MANAGER"."DT_DROPUSEROBJECTBYID";
158
DROP PROCEDURE "RELEASE_MANAGER"."DT_SETPROPERTYBYID";
159
DROP PROCEDURE "RELEASE_MANAGER"."IGNORE_DEPENDENCY_WARNINGS";
160
DROP PROCEDURE "RELEASE_MANAGER"."INSERT_INTO_PACKAGE_BUILD_INFO";
161
DROP PROCEDURE "RELEASE_MANAGER"."INSERT_MULTIPLE_STICKY_NOTES";
162
DROP PROCEDURE "RELEASE_MANAGER"."LEVEL_N_CONFLICTS";
163
DROP PROCEDURE "RELEASE_MANAGER"."LEVEL_ONE_CONFLICTS";
164
DROP PROCEDURE "RELEASE_MANAGER"."LOCK_PACKAGE";
165
DROP PROCEDURE "RELEASE_MANAGER"."LOG_ACTION";
166
DROP PROCEDURE "RELEASE_MANAGER"."LOG_ACTION_BULK";
167
DROP PROCEDURE "RELEASE_MANAGER"."LOG_DAEMON_ACTION";
168
DROP PROCEDURE "RELEASE_MANAGER"."LOG_PROJECT_ACTION";
169
DROP PROCEDURE "RELEASE_MANAGER"."NEW_ADDITIONAL_NOTE";
170
DROP PROCEDURE "RELEASE_MANAGER"."NEW_PACKAGE_NAME";
171
DROP PROCEDURE "RELEASE_MANAGER"."NEW_PATCH";
172
DROP PROCEDURE "RELEASE_MANAGER"."NEW_UNIT_TEST";
173
DROP PROCEDURE "RELEASE_MANAGER"."PAOLO_BUILD_TREE";
174
DROP PROCEDURE "RELEASE_MANAGER"."REBUILD_DEPRECATE_STATE";
175
DROP PROCEDURE "RELEASE_MANAGER"."REBUILD_ENVIRONMENT";
176
DROP PROCEDURE "RELEASE_MANAGER"."REMOVE_COMPONENTS";
177
DROP PROCEDURE "RELEASE_MANAGER"."REMOVE_DOCUMENT";
178
DROP PROCEDURE "RELEASE_MANAGER"."REMOVE_PACKAGE_INTEREST";
179
DROP PROCEDURE "RELEASE_MANAGER"."REMOVE_PATCH";
180
DROP PROCEDURE "RELEASE_MANAGER"."REMOVE_PROJECT_VIEW_OWNER";
181
DROP PROCEDURE "RELEASE_MANAGER"."REMOVE_RELEASE_CONTENT";
182
DROP PROCEDURE "RELEASE_MANAGER"."REMOVE_RUNTIME";
183
DROP PROCEDURE "RELEASE_MANAGER"."RENAME_PACKAGE_VERSION";
184
DROP PROCEDURE "RELEASE_MANAGER"."RESET_IGNORE_WARNINGS";
185
DROP PROCEDURE "RELEASE_MANAGER"."RIPPLE_PACKAGE";
186
DROP PROCEDURE "RELEASE_MANAGER"."SEED_PACKAGE_NAMES_VERSIONS";
187
DROP PROCEDURE "RELEASE_MANAGER"."SET_ADVISORY_RIPPLE";
188
DROP PROCEDURE "RELEASE_MANAGER"."SET_PACKAGE_BUILD_ENV";
189
DROP PROCEDURE "RELEASE_MANAGER"."SET_PACKAGE_BUILD_ENV_TEMP";
190
DROP PROCEDURE "RELEASE_MANAGER"."SET_TO_AUTOBUILDABLE";
191
DROP PROCEDURE "RELEASE_MANAGER"."SHIFT_INSTALL_ORDER";
192
DROP PROCEDURE "RELEASE_MANAGER"."SPLIT_VERSION";
193
DROP PROCEDURE "RELEASE_MANAGER"."SWITCH_REPRODUCIBLE_PACKAGE";
194
DROP PROCEDURE "RELEASE_MANAGER"."SYNC_PROJECTS_NEW_VERSION";
195
DROP PROCEDURE "RELEASE_MANAGER"."TOUCH_RELEASE";
196
DROP PROCEDURE "RELEASE_MANAGER"."TOUCH_RELEASE_BULK";
197
DROP PROCEDURE "RELEASE_MANAGER"."TO_INSERT_VTREE_ID";
198
DROP PROCEDURE "RELEASE_MANAGER"."UNDEPRECATE_PACKAGE";
199
DROP PROCEDURE "RELEASE_MANAGER"."UNLOCK_PACKAGE";
200
DROP PROCEDURE "RELEASE_MANAGER"."UNRIPPLE_PACKAGE";
201
DROP PROCEDURE "RELEASE_MANAGER"."UNRIPPLE_PACKAGE_INDIRECT";
202
DROP PROCEDURE "RELEASE_MANAGER"."UPDATE_ADDITIONAL_NOTE";
203
DROP PROCEDURE "RELEASE_MANAGER"."UPDATE_DEPRECATION_STATE";
204
DROP PROCEDURE "RELEASE_MANAGER"."UPDATE_MISC_VIEW";
205
DROP PROCEDURE "RELEASE_MANAGER"."UPDATE_PACKAGE_DEPENDENCY";
206
DROP PROCEDURE "RELEASE_MANAGER"."UPDATE_PACKAGE_STATES";
207
DROP PROCEDURE "RELEASE_MANAGER"."UPDATE_PROCESSES";
208
DROP PROCEDURE "RELEASE_MANAGER"."UPDATE_RUNTIME_DEPENDENCY";
209
DROP PROCEDURE "RELEASE_MANAGER"."UPDATE_UNIT_TEST";
210
DROP PROCEDURE "RELEASE_MANAGER"."UPDATE_UNIT_TEST_ACCEPTANCE";
211
DROP PACKAGE "RELEASE_MANAGER"."PK_APP_UTILS";
212
DROP PACKAGE "RELEASE_MANAGER"."PK_BLATAPI";
213
DROP PACKAGE "RELEASE_MANAGER"."PK_BUILDAPI";
214
DROP PACKAGE "RELEASE_MANAGER"."PK_ENVIRONMENT";
215
DROP PACKAGE "RELEASE_MANAGER"."PK_LICENCING";
216
DROP PACKAGE "RELEASE_MANAGER"."PK_PACKAGE";
217
DROP PACKAGE "RELEASE_MANAGER"."PK_PLANNED";
218
DROP PACKAGE "RELEASE_MANAGER"."PK_PROJECT";
219
DROP PACKAGE "RELEASE_MANAGER"."PK_RELEASE";
220
DROP PACKAGE "RELEASE_MANAGER"."PK_RMAPI";
221
DROP PACKAGE "RELEASE_MANAGER"."PK_WORK_IN_PROGRESS";
222
DROP PACKAGE "RELEASE_MANAGER"."RM_ISSUES";
223
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_APP_UTILS";
224
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_BLATAPI";
225
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_BUILDAPI";
226
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_ENVIRONMENT";
227
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_LICENCING";
228
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_PACKAGE";
229
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_PLANNED";
230
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_PROJECT";
231
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_RELEASE";
232
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_RMAPI";
233
DROP PACKAGE BODY "RELEASE_MANAGER"."PK_WORK_IN_PROGRESS";
234
DROP PACKAGE BODY "RELEASE_MANAGER"."RM_ISSUES";
235
DROP FUNCTION "RELEASE_MANAGER"."CAN_EDIT_PKG_IN_PROJECT";
236
DROP FUNCTION "RELEASE_MANAGER"."DT_ADDUSEROBJECT";
237
DROP FUNCTION "RELEASE_MANAGER"."GET_AUTOMATED_LABEL";
238
DROP FUNCTION "RELEASE_MANAGER"."GET_BUILD_NUMBER";
239
DROP FUNCTION "RELEASE_MANAGER"."GET_PATCH_VERSION";
240
DROP FUNCTION "RELEASE_MANAGER"."GET_PV_FIRST_MODIFIED";
241
DROP FUNCTION "RELEASE_MANAGER"."GET_V_EXT";
242
DROP FUNCTION "RELEASE_MANAGER"."IN_LIST_NUMBER";
243
DROP FUNCTION "RELEASE_MANAGER"."IN_LIST_NUMBER2";
244
DROP FUNCTION "RELEASE_MANAGER"."IN_LIST_VARCHAR2";
245
DROP FUNCTION "RELEASE_MANAGER"."IS_NUMBER";
246
DROP FUNCTION "RELEASE_MANAGER"."IS_VERSION_EXTENSION";
247
DROP FUNCTION "RELEASE_MANAGER"."ORA_SYSDATE";
248
DROP FUNCTION "RELEASE_MANAGER"."ORA_SYSDATETIME";
249
DROP FUNCTION "RELEASE_MANAGER"."PERL_DBD_TESTFUNC";
250
DROP FUNCTION "RELEASE_MANAGER"."RELEASE_MODE";
251
DROP SYNONYM "RELEASE_MANAGER"."APPLICATIONS";
252
DROP SYNONYM "RELEASE_MANAGER"."APPLICATION_PAGES";
253
DROP SYNONYM "RELEASE_MANAGER"."CONTROL_OBJECTS";
254
DROP SYNONYM "RELEASE_MANAGER"."DATA_PERMISSIONS";
255
DROP SYNONYM "RELEASE_MANAGER"."DATA_TABLES";
256
DROP SYNONYM "RELEASE_MANAGER"."PAGE_CONTROL_OBJECTS";
257
DROP SYNONYM "RELEASE_MANAGER"."PERMISSION_TYPES";
258
DROP SYNONYM "RELEASE_MANAGER"."PK_AMUTILS";
259
DROP SYNONYM "RELEASE_MANAGER"."PK_SECURITY";
260
DROP SYNONYM "RELEASE_MANAGER"."ROLES";
261
DROP SYNONYM "RELEASE_MANAGER"."ROLE_PRIVILEGES";
262
DROP SYNONYM "RELEASE_MANAGER"."USERS";
263
DROP SYNONYM "RELEASE_MANAGER"."USER_APPLICATIONS";
264
DROP SYNONYM "RELEASE_MANAGER"."USER_ROLES";
6999 dpurdie 265
--------------------------------------------------------
4040 dpurdie 266
--  DDL for Type RELMGR_NUMBER_TAB_T
267
--------------------------------------------------------
1373 dpurdie 268
 
5172 dpurdie 269
  CREATE OR REPLACE TYPE "RELEASE_MANAGER"."RELMGR_NUMBER_TAB_T" as TABLE of NUMBER
1373 dpurdie 270
 
6999 dpurdie 271
/
272
--------------------------------------------------------
273
--  DDL for Type RELMGR_PKG_DESTROY_ERR_T
274
--------------------------------------------------------
6031 dpurdie 275
 
276
  CREATE OR REPLACE TYPE "RELEASE_MANAGER"."RELMGR_PKG_DESTROY_ERR_T" AS OBJECT 
277
( msg VARCHAR(200),
278
  mtype CHAR(1)
279
)
280
 
6999 dpurdie 281
/
282
--------------------------------------------------------
283
--  DDL for Type RELMGR_PKG_DESTROY_ERR_TAB_T
284
--------------------------------------------------------
6031 dpurdie 285
 
286
  CREATE OR REPLACE TYPE "RELEASE_MANAGER"."RELMGR_PKG_DESTROY_ERR_TAB_T" 
287
AS TABLE OF RELMGR_PKG_DESTROY_ERR_T;
288
 
6999 dpurdie 289
/
4040 dpurdie 290
--------------------------------------------------------
291
--  DDL for Type RELMGR_VARCHAR2_TAB_T
292
--------------------------------------------------------
293
 
5172 dpurdie 294
  CREATE OR REPLACE TYPE "RELEASE_MANAGER"."RELMGR_VARCHAR2_TAB_T" 
4040 dpurdie 295
as TABLE of VARCHAR2(4000)
296
 
6999 dpurdie 297
/
4040 dpurdie 298
--------------------------------------------------------
299
--  DDL for Type TDICTIONARY
300
--------------------------------------------------------
301
 
5892 dpurdie 302
  CREATE OR REPLACE TYPE "RELEASE_MANAGER"."TDICTIONARY" AS
303
  TABLE OF VARCHAR2(4000)
4040 dpurdie 304
 
6999 dpurdie 305
/
4040 dpurdie 306
--------------------------------------------------------
307
--  DDL for Sequence MICROSOFTSEQDTPROPERTIES
308
--------------------------------------------------------
309
 
6999 dpurdie 310
   CREATE SEQUENCE  "RELEASE_MANAGER"."MICROSOFTSEQDTPROPERTIES"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 50 NOORDER  NOCYCLE ;
4040 dpurdie 311
--------------------------------------------------------
312
--  DDL for Sequence SEQ_ADDITIONAL_NOTES
313
--------------------------------------------------------
314
 
6999 dpurdie 315
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_ADDITIONAL_NOTES"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 38175 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 316
--------------------------------------------------------
6999 dpurdie 317
--  DDL for Sequence SEQ_BLAT_MOD
318
--------------------------------------------------------
319
 
7340 dpurdie 320
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_BLAT_MOD"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 341 CACHE 20 NOORDER  NOCYCLE ;
6999 dpurdie 321
--------------------------------------------------------
322
--  DDL for Sequence SEQ_BLAT_SERVER_ID
323
--------------------------------------------------------
324
 
325
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_BLAT_SERVER_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 81 CACHE 20 NOORDER  NOCYCLE ;
326
--------------------------------------------------------
4040 dpurdie 327
--  DDL for Sequence SEQ_BMCON_ID
328
--------------------------------------------------------
329
 
7340 dpurdie 330
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_BMCON_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 401 CACHE 20 NOORDER  NOCYCLE ;
4040 dpurdie 331
--------------------------------------------------------
332
--  DDL for Sequence SEQ_BM_ID
333
--------------------------------------------------------
334
 
6999 dpurdie 335
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_BM_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 6 NOCACHE  ORDER  NOCYCLE ;
336
--------------------------------------------------------
337
--  DDL for Sequence SEQ_BSA_ID
338
--------------------------------------------------------
5172 dpurdie 339
 
6999 dpurdie 340
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_BSA_ID"  MINVALUE 8 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 48 CACHE 20 NOORDER  NOCYCLE ;
4040 dpurdie 341
--------------------------------------------------------
6999 dpurdie 342
--  DDL for Sequence SEQ_BUILD_INSTANCE
343
--------------------------------------------------------
5172 dpurdie 344
 
7340 dpurdie 345
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_BUILD_INSTANCE"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 295286 CACHE 20 ORDER  NOCYCLE ;
6999 dpurdie 346
--------------------------------------------------------
7340 dpurdie 347
--  DDL for Sequence SEQ_BUILD_PLATFORMS
348
--------------------------------------------------------
349
 
350
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_BUILD_PLATFORMS"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 201 CACHE 20 NOORDER  NOCYCLE ;
351
--------------------------------------------------------
4040 dpurdie 352
--  DDL for Sequence SEQ_CR_ID
353
--------------------------------------------------------
354
 
7340 dpurdie 355
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_CR_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 96512 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 356
--------------------------------------------------------
357
--  DDL for Sequence SEQ_DAEMON_INSTRUCTION_ID
358
--------------------------------------------------------
359
 
7340 dpurdie 360
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_DAEMON_INSTRUCTION_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 183365 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 361
--------------------------------------------------------
362
--  DDL for Sequence SEQ_GBE_ID
363
--------------------------------------------------------
364
 
6999 dpurdie 365
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_GBE_ID"  MINVALUE 40 MAXVALUE 9999999999999999999999990 INCREMENT BY 1 START WITH 1245 NOCACHE  ORDER  NOCYCLE ;
4040 dpurdie 366
--------------------------------------------------------
367
--  DDL for Sequence SEQ_GROUP_EMAIL_ID
368
--------------------------------------------------------
369
 
6999 dpurdie 370
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_GROUP_EMAIL_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999 INCREMENT BY 1 START WITH 1186 CACHE 20 NOORDER  NOCYCLE ;
4040 dpurdie 371
--------------------------------------------------------
372
--  DDL for Sequence SEQ_MSG_ID
373
--------------------------------------------------------
374
 
6999 dpurdie 375
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_MSG_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 582 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 376
--------------------------------------------------------
377
--  DDL for Sequence SEQ_PKG_ID
378
--------------------------------------------------------
379
 
7340 dpurdie 380
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_PKG_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 68965 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 381
--------------------------------------------------------
382
--  DDL for Sequence SEQ_PROJ_ID
383
--------------------------------------------------------
384
 
6999 dpurdie 385
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_PROJ_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1041 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 386
--------------------------------------------------------
387
--  DDL for Sequence SEQ_PV_ID
388
--------------------------------------------------------
389
 
7340 dpurdie 390
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_PV_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1282857 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 391
--------------------------------------------------------
392
--  DDL for Sequence SEQ_RCON_ID
393
--------------------------------------------------------
394
 
7340 dpurdie 395
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_RCON_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999990 INCREMENT BY 1 START WITH 38663 CACHE 20 ORDER  NOCYCLE ;
6999 dpurdie 396
--------------------------------------------------------
397
--  DDL for Sequence SEQ_RELEASE_MOD
398
--------------------------------------------------------
5172 dpurdie 399
 
7340 dpurdie 400
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_RELEASE_MOD"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 369379 CACHE 20 NOORDER  NOCYCLE ;
4040 dpurdie 401
--------------------------------------------------------
402
--  DDL for Sequence SEQ_RTAG_ID
403
--------------------------------------------------------
404
 
7340 dpurdie 405
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_RTAG_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 41076 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 406
--------------------------------------------------------
407
--  DDL for Sequence SEQ_SCHEDULED_ID
408
--------------------------------------------------------
409
 
7340 dpurdie 410
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_SCHEDULED_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999990 INCREMENT BY 1 START WITH 30374 CACHE 20 ORDER  NOCYCLE ;
6999 dpurdie 411
--------------------------------------------------------
412
--  DDL for Sequence SEQ_SDKTAG_ID
413
--------------------------------------------------------
5172 dpurdie 414
 
7340 dpurdie 415
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_SDKTAG_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1963 CACHE 20 NOORDER  NOCYCLE ;
4040 dpurdie 416
--------------------------------------------------------
6999 dpurdie 417
--  DDL for Sequence SEQ_SDK_ID
418
--------------------------------------------------------
5172 dpurdie 419
 
7340 dpurdie 420
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_SDK_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 183 CACHE 20 NOORDER  NOCYCLE ;
6999 dpurdie 421
--------------------------------------------------------
4040 dpurdie 422
--  DDL for Sequence SEQ_SESSION_NUM
423
--------------------------------------------------------
424
 
7340 dpurdie 425
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_SESSION_NUM"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1126786 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 426
--------------------------------------------------------
6999 dpurdie 427
--  DDL for Sequence SEQ_TESTRUN_ID
428
--------------------------------------------------------
5892 dpurdie 429
 
7340 dpurdie 430
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_TESTRUN_ID"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 5016624 CACHE 20 NOORDER  NOCYCLE ;
6999 dpurdie 431
--------------------------------------------------------
4040 dpurdie 432
--  DDL for Sequence SEQ_UNIT_TESTS
433
--------------------------------------------------------
434
 
7340 dpurdie 435
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_UNIT_TESTS"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 378582 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 436
--------------------------------------------------------
437
--  DDL for Sequence SEQ_USER_ID
438
--------------------------------------------------------
439
 
6999 dpurdie 440
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_USER_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 3961 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 441
--------------------------------------------------------
442
--  DDL for Sequence SEQ_VCS_TYPE
443
--------------------------------------------------------
444
 
6999 dpurdie 445
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_VCS_TYPE"  MINVALUE 1 MAXVALUE 255 INCREMENT BY 1 START WITH 63 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 446
--------------------------------------------------------
447
--  DDL for Sequence SEQ_VIEW_ID
448
--------------------------------------------------------
449
 
7340 dpurdie 450
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_VIEW_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 10381 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 451
--------------------------------------------------------
452
--  DDL for Sequence SEQ_VTREE_ID
453
--------------------------------------------------------
454
 
7340 dpurdie 455
   CREATE SEQUENCE  "RELEASE_MANAGER"."SEQ_VTREE_ID"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 37755 CACHE 20 ORDER  NOCYCLE ;
4040 dpurdie 456
--------------------------------------------------------
457
--  DDL for Table ABT_ACTION_LOG
458
--------------------------------------------------------
459
 
5172 dpurdie 460
  CREATE TABLE "RELEASE_MANAGER"."ABT_ACTION_LOG" 
4040 dpurdie 461
   (	"RCON_ID" NUMBER, 
462
	"ACTION_DATETIME" DATE, 
5172 dpurdie 463
	"ACTION" VARCHAR2(4000 BYTE)
464
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 465
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
466
 NOCOMPRESS LOGGING
5172 dpurdie 467
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 468
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
469
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
470
  TABLESPACE "RELEASE_MANAGER_DATA" ;
471
  GRANT SELECT ON "RELEASE_MANAGER"."ABT_ACTION_LOG" TO "RM_READONLY";
472
  GRANT SELECT ON "RELEASE_MANAGER"."ABT_ACTION_LOG" TO "MS_READONLY";
6999 dpurdie 473
  GRANT SELECT ON "RELEASE_MANAGER"."ABT_ACTION_LOG" TO "DM_READONLY";
4040 dpurdie 474
--------------------------------------------------------
475
--  DDL for Table ACTION_LOG
476
--------------------------------------------------------
477
 
5172 dpurdie 478
  CREATE TABLE "RELEASE_MANAGER"."ACTION_LOG" 
4040 dpurdie 479
   (	"USER_ID" NUMBER, 
5172 dpurdie 480
	"ACTION_DATETIME" DATE DEFAULT SYSDATE, 
4040 dpurdie 481
	"PV_ID" NUMBER, 
5172 dpurdie 482
	"DESCRIPTION" VARCHAR2(4000 BYTE), 
483
	"ACTTYPE_ID" NUMBER, 
484
	"ACTION_TIMESTAMP" TIMESTAMP (6) DEFAULT CURRENT_TIMESTAMP
485
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 486
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
487
 NOCOMPRESS LOGGING
5172 dpurdie 488
  STORAGE(INITIAL 308281344 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 489
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
490
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 491
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 492
 
493
   COMMENT ON COLUMN "RELEASE_MANAGER"."ACTION_LOG"."ACTION_DATETIME" IS 'To be deprecated. Use timestamp instead';
6031 dpurdie 494
  GRANT SELECT ON "RELEASE_MANAGER"."ACTION_LOG" TO "RM_READONLY";
495
  GRANT SELECT ON "RELEASE_MANAGER"."ACTION_LOG" TO "MS_READONLY";
5892 dpurdie 496
  GRANT SELECT ON "RELEASE_MANAGER"."ACTION_LOG" TO "DM_READONLY";
497
  GRANT SELECT ON "RELEASE_MANAGER"."ACTION_LOG" TO "RELEASE_MANAGER_READ";
6031 dpurdie 498
  GRANT DELETE ON "RELEASE_MANAGER"."ACTION_LOG" TO "DEPLOYMENT_MANAGER";
499
  GRANT UPDATE ON "RELEASE_MANAGER"."ACTION_LOG" TO "DEPLOYMENT_MANAGER";
500
  GRANT INSERT ON "RELEASE_MANAGER"."ACTION_LOG" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 501
  GRANT SELECT ON "RELEASE_MANAGER"."ACTION_LOG" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 502
--------------------------------------------------------
503
--  DDL for Table ACTION_TYPE
504
--------------------------------------------------------
505
 
5172 dpurdie 506
  CREATE TABLE "RELEASE_MANAGER"."ACTION_TYPE" 
4040 dpurdie 507
   (	"ACTTYPE_ID" NUMBER, 
5172 dpurdie 508
	"NAME" VARCHAR2(255 BYTE), 
509
	"DESCRIPTION" VARCHAR2(4000 BYTE)
510
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 511
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
512
 NOCOMPRESS LOGGING
5172 dpurdie 513
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 514
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
515
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
516
  TABLESPACE "RELEASE_MANAGER_DATA" ;
517
  GRANT SELECT ON "RELEASE_MANAGER"."ACTION_TYPE" TO "RM_READONLY";
518
  GRANT SELECT ON "RELEASE_MANAGER"."ACTION_TYPE" TO "MS_READONLY";
5892 dpurdie 519
  GRANT SELECT ON "RELEASE_MANAGER"."ACTION_TYPE" TO "DM_READONLY";
6999 dpurdie 520
  GRANT SELECT ON "RELEASE_MANAGER"."ACTION_TYPE" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 521
--------------------------------------------------------
522
--  DDL for Table ADDITIONAL_NOTES
523
--------------------------------------------------------
524
 
5172 dpurdie 525
  CREATE TABLE "RELEASE_MANAGER"."ADDITIONAL_NOTES" 
4040 dpurdie 526
   (	"NOTE_ID" NUMBER, 
527
	"PV_ID" NUMBER, 
5172 dpurdie 528
	"NOTE_TITLE" VARCHAR2(2000 BYTE), 
529
	"NOTE_BODY" VARCHAR2(4000 BYTE), 
4040 dpurdie 530
	"MOD_DATE" DATE, 
531
	"MOD_USER" NUMBER
5172 dpurdie 532
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 533
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
534
 NOCOMPRESS LOGGING
5172 dpurdie 535
  STORAGE(INITIAL 55574528 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 536
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
537
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
538
  TABLESPACE "RELEASE_MANAGER_DATA" ;
539
  GRANT SELECT ON "RELEASE_MANAGER"."ADDITIONAL_NOTES" TO "RM_READONLY";
540
  GRANT SELECT ON "RELEASE_MANAGER"."ADDITIONAL_NOTES" TO "MS_READONLY";
5892 dpurdie 541
  GRANT SELECT ON "RELEASE_MANAGER"."ADDITIONAL_NOTES" TO "DM_READONLY";
6999 dpurdie 542
  GRANT SELECT ON "RELEASE_MANAGER"."ADDITIONAL_NOTES" TO "RELEASE_MANAGER_READ";
4040 dpurdie 543
--------------------------------------------------------
544
--  DDL for Table ADVISORY_RIPPLE
545
--------------------------------------------------------
546
 
5172 dpurdie 547
  CREATE TABLE "RELEASE_MANAGER"."ADVISORY_RIPPLE" 
4040 dpurdie 548
   (	"RTAG_ID" NUMBER, 
549
	"PV_ID" NUMBER
5172 dpurdie 550
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 551
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
552
 NOCOMPRESS LOGGING
5172 dpurdie 553
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 554
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
555
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
556
  TABLESPACE "RELEASE_MANAGER_DATA" ;
557
  GRANT SELECT ON "RELEASE_MANAGER"."ADVISORY_RIPPLE" TO "RM_READONLY";
558
  GRANT SELECT ON "RELEASE_MANAGER"."ADVISORY_RIPPLE" TO "MS_READONLY";
6999 dpurdie 559
  GRANT SELECT ON "RELEASE_MANAGER"."ADVISORY_RIPPLE" TO "DM_READONLY";
4040 dpurdie 560
--------------------------------------------------------
561
--  DDL for Table ARCHIVE_ACTION_LOG
562
--------------------------------------------------------
563
 
5172 dpurdie 564
  CREATE TABLE "RELEASE_MANAGER"."ARCHIVE_ACTION_LOG" 
4040 dpurdie 565
   (	"USER_ID" NUMBER, 
566
	"DATE_TIME_STAMP" DATE, 
567
	"RTAG_ID" NUMBER, 
5172 dpurdie 568
	"DESCRIPTION" VARCHAR2(4000 BYTE)
569
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 570
  PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255 
571
 NOCOMPRESS LOGGING
5172 dpurdie 572
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 573
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
574
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
575
  TABLESPACE "RELEASE_MANAGER_DATA" ;
576
  GRANT SELECT ON "RELEASE_MANAGER"."ARCHIVE_ACTION_LOG" TO "RM_READONLY";
577
  GRANT SELECT ON "RELEASE_MANAGER"."ARCHIVE_ACTION_LOG" TO "MS_READONLY";
6999 dpurdie 578
  GRANT SELECT ON "RELEASE_MANAGER"."ARCHIVE_ACTION_LOG" TO "DM_READONLY";
4040 dpurdie 579
--------------------------------------------------------
580
--  DDL for Table ARCHIVE_DATA
581
--------------------------------------------------------
582
 
5172 dpurdie 583
  CREATE TABLE "RELEASE_MANAGER"."ARCHIVE_DATA" 
4040 dpurdie 584
   (	"RTAG_ID" NUMBER(*,0), 
585
	"PV_ID" NUMBER(*,0)
5172 dpurdie 586
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 587
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
588
 NOCOMPRESS LOGGING
5172 dpurdie 589
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 590
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
591
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
592
  TABLESPACE "RELEASE_MANAGER_DATA" ;
593
  GRANT SELECT ON "RELEASE_MANAGER"."ARCHIVE_DATA" TO "RM_READONLY";
594
  GRANT SELECT ON "RELEASE_MANAGER"."ARCHIVE_DATA" TO "MS_READONLY";
6999 dpurdie 595
  GRANT SELECT ON "RELEASE_MANAGER"."ARCHIVE_DATA" TO "DM_READONLY";
4040 dpurdie 596
--------------------------------------------------------
597
--  DDL for Table AUTOBUILD_FAILURE
598
--------------------------------------------------------
599
 
5172 dpurdie 600
  CREATE TABLE "RELEASE_MANAGER"."AUTOBUILD_FAILURE" 
4040 dpurdie 601
   (	"GROUP_EMAIL_ID" NUMBER, 
602
	"PROJ_ID" NUMBER, 
603
	"VIEW_ID" NUMBER
5172 dpurdie 604
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 605
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
606
 NOCOMPRESS LOGGING
5172 dpurdie 607
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 608
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
609
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
610
  TABLESPACE "RELEASE_MANAGER_DATA" ;
611
  GRANT SELECT ON "RELEASE_MANAGER"."AUTOBUILD_FAILURE" TO "RM_READONLY";
612
  GRANT SELECT ON "RELEASE_MANAGER"."AUTOBUILD_FAILURE" TO "MS_READONLY";
5892 dpurdie 613
  GRANT SELECT ON "RELEASE_MANAGER"."AUTOBUILD_FAILURE" TO "DM_READONLY";
6999 dpurdie 614
  GRANT SELECT ON "RELEASE_MANAGER"."AUTOBUILD_FAILURE" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 615
--------------------------------------------------------
6999 dpurdie 616
--  DDL for Table BLAT_PROJECTS
617
--------------------------------------------------------
618
 
619
  CREATE TABLE "RELEASE_MANAGER"."BLAT_PROJECTS" 
620
   (	"BLAT_ID" NUMBER, 
621
	"PROJ_ID" NUMBER, 
622
	"BP_ENABLED" CHAR(1 BYTE) DEFAULT 'Y'
623
   ) SEGMENT CREATION IMMEDIATE 
624
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
625
 NOCOMPRESS LOGGING
626
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
627
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
628
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
629
  TABLESPACE "RELEASE_MANAGER_DATA" ;
630
 
631
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_PROJECTS"."BLAT_ID" IS 'Ref into BLAT_SERVERS';
632
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_PROJECTS"."PROJ_ID" IS 'Transfer entire project';
633
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_PROJECTS"."BP_ENABLED" IS 'y: Enabled';
634
--------------------------------------------------------
635
--  DDL for Table BLAT_RELEASES
636
--------------------------------------------------------
637
 
638
  CREATE TABLE "RELEASE_MANAGER"."BLAT_RELEASES" 
639
   (	"BLAT_ID" NUMBER, 
640
	"RTAG_ID" NUMBER, 
641
	"BR_ENABLED" CHAR(1 BYTE) DEFAULT 'Y', 
642
	"BR_EXCLUDE" CHAR(1 BYTE) DEFAULT 'N'
643
   ) SEGMENT CREATION IMMEDIATE 
644
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
645
 NOCOMPRESS LOGGING
646
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
647
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
648
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
649
  TABLESPACE "RELEASE_MANAGER_DATA" ;
650
 
651
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_RELEASES"."BLAT_ID" IS 'Ref into BLAT_SERVERS';
652
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_RELEASES"."RTAG_ID" IS 'RTAG_ID to transfer';
653
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_RELEASES"."BR_ENABLED" IS 'y:Enabled';
654
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_RELEASES"."BR_EXCLUDE" IS 'N:Include, else Exclude';
655
--------------------------------------------------------
656
--  DDL for Table BLAT_SERVERS
657
--------------------------------------------------------
658
 
659
  CREATE TABLE "RELEASE_MANAGER"."BLAT_SERVERS" 
660
   (	"BLAT_ID" NUMBER, 
661
	"BLAT_SERVER_NAME" NVARCHAR2(100), 
662
	"BLAT_DISPLAY_NAME" VARCHAR2(20 BYTE), 
663
	"BLAT_DESCRIPTION" VARCHAR2(1000 BYTE), 
664
	"BLAT_ENABLE" CHAR(1 BYTE) DEFAULT 'Y', 
665
	"BLAT_MODE" CHAR(1 BYTE) DEFAULT 'N', 
666
	"BLAT_TIMESTAMP" TIMESTAMP (6), 
667
	"BLAT_SEQNUM" NUMBER DEFAULT 0
668
   ) SEGMENT CREATION IMMEDIATE 
669
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
670
 NOCOMPRESS LOGGING
671
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
672
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
673
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
674
  TABLESPACE "RELEASE_MANAGER_DATA" ;
675
 
676
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_SERVERS"."BLAT_ID" IS 'Unique ID';
677
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_SERVERS"."BLAT_SERVER_NAME" IS 'Name of the Blat server';
678
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_SERVERS"."BLAT_DISPLAY_NAME" IS 'Name displayed to the user';
679
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_SERVERS"."BLAT_DESCRIPTION" IS 'A field of comments';
680
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_SERVERS"."BLAT_ENABLE" IS 'Y:Enabled';
681
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_SERVERS"."BLAT_MODE" IS 'n:Normal, p:All Projects, E: Entire Archive';
682
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_SERVERS"."BLAT_TIMESTAMP" IS 'Time of config chnage';
683
   COMMENT ON COLUMN "RELEASE_MANAGER"."BLAT_SERVERS"."BLAT_SEQNUM" IS 'Indicated config has changed';
684
--------------------------------------------------------
4040 dpurdie 685
--  DDL for Table BUILD_ENVIRONMENTS
686
--------------------------------------------------------
687
 
5172 dpurdie 688
  CREATE TABLE "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" 
4040 dpurdie 689
   (	"BE_ID" NUMBER, 
5172 dpurdie 690
	"BE_NAME" VARCHAR2(255 BYTE)
691
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 692
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
693
 NOCOMPRESS LOGGING
5172 dpurdie 694
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 695
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
696
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
697
  TABLESPACE "RELEASE_MANAGER_DATA" ;
698
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" TO "RM_READONLY";
699
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" TO "MS_READONLY";
5892 dpurdie 700
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" TO "DM_READONLY";
701
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" TO "RELEASE_MANAGER_READ";
6031 dpurdie 702
  GRANT UPDATE ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" TO "DEPLOYMENT_MANAGER";
703
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" TO "DEPLOYMENT_MANAGER";
704
  GRANT INSERT ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 705
  GRANT DELETE ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 706
--------------------------------------------------------
707
--  DDL for Table BUILD_ENV_DOCUMENTS
708
--------------------------------------------------------
709
 
5172 dpurdie 710
  CREATE TABLE "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS" 
4040 dpurdie 711
   (	"BE_ID" NUMBER, 
5172 dpurdie 712
	"DOC_NUM" VARCHAR2(255 BYTE)
713
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 714
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
715
 NOCOMPRESS LOGGING
5172 dpurdie 716
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 717
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
718
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
719
  TABLESPACE "RELEASE_MANAGER_DATA" ;
720
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS" TO "RM_READONLY";
721
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS" TO "MS_READONLY";
5892 dpurdie 722
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS" TO "DM_READONLY";
6999 dpurdie 723
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS" TO "RELEASE_MANAGER_READ";
724
--------------------------------------------------------
725
--  DDL for Table BUILD_INSTANCES
726
--------------------------------------------------------
5172 dpurdie 727
 
728
  CREATE TABLE "RELEASE_MANAGER"."BUILD_INSTANCES" 
729
   (	"BUILD_ID" NUMBER, 
730
	"RTAG_ID" NUMBER, 
731
	"PV_ID" NUMBER, 
732
	"TIMESTAMP" TIMESTAMP (6) DEFAULT CURRENT_TIMESTAMP, 
733
	"REASON" CHAR(1 BYTE), 
7340 dpurdie 734
	"STATE" CHAR(1 BYTE) DEFAULT 'B', 
735
	"BUILD_REF" VARCHAR2(50 BYTE)
5172 dpurdie 736
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 737
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
738
 NOCOMPRESS LOGGING
5172 dpurdie 739
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 740
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
741
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 742
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 743
 
744
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_INSTANCES"."BUILD_ID" IS 'Unique. Auto generated when row is created.';
745
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_INSTANCES"."RTAG_ID" IS 'Link the build to a Release';
746
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_INSTANCES"."PV_ID" IS 'Link the build to a Package';
747
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_INSTANCES"."TIMESTAMP" IS 'When the instance is created';
7340 dpurdie 748
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_INSTANCES"."REASON" IS 'Reason for the build. Ripple(''R''), Test(''T''), NewVersion(''N''), Restore(''P''), ForcedRipple(''F'')';
6999 dpurdie 749
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_INSTANCES"."STATE" IS 'Result of the build. ''B'', ''Buiding'', ''C'', ''Complete'', ''E'', ''Error'', ''S'', ''SysErr''';
7340 dpurdie 750
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_INSTANCES"."BUILD_REF" IS 'Used to locate build logs';
4040 dpurdie 751
--------------------------------------------------------
7340 dpurdie 752
--  DDL for Table BUILD_INSTANCE_PLATFORMS
753
--------------------------------------------------------
754
 
755
  CREATE TABLE "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS" 
756
   (	"BUILD_ID" NUMBER, 
757
	"BP_ID" NUMBER
758
   ) SEGMENT CREATION IMMEDIATE 
759
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
760
 NOCOMPRESS LOGGING
761
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
762
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
763
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
764
  TABLESPACE "RELEASE_MANAGER_DATA" ;
765
 
766
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS"."BUILD_ID" IS 'Associated Build Instance';
767
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS"."BP_ID" IS 'Associated Build Platform';
768
   COMMENT ON TABLE "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS"  IS 'Platforms that the build instance were built for.This will be a subset of those it can be built for.';
769
--------------------------------------------------------
4040 dpurdie 770
--  DDL for Table BUILD_MACHINES
771
--------------------------------------------------------
772
 
5172 dpurdie 773
  CREATE TABLE "RELEASE_MANAGER"."BUILD_MACHINES" 
4040 dpurdie 774
   (	"BM_ID" NUMBER, 
5172 dpurdie 775
	"BM_NAME" VARCHAR2(20 BYTE)
776
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 777
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
778
 NOCOMPRESS LOGGING
5172 dpurdie 779
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 780
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
781
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
782
  TABLESPACE "RELEASE_MANAGER_DATA" ;
783
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_MACHINES" TO "RM_READONLY";
784
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_MACHINES" TO "MS_READONLY";
5892 dpurdie 785
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_MACHINES" TO "DM_READONLY";
6999 dpurdie 786
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_MACHINES" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 787
--------------------------------------------------------
788
--  DDL for Table BUILD_MACHINE_CONFIG
789
--------------------------------------------------------
790
 
5172 dpurdie 791
  CREATE TABLE "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" 
4040 dpurdie 792
   (	"BMCON_ID" NUMBER, 
5172 dpurdie 793
	"DISPLAY_NAME" VARCHAR2(50 BYTE), 
794
	"MACHINE_HOSTNAME" VARCHAR2(50 BYTE), 
795
	"DESCRIPTION" VARCHAR2(512 BYTE), 
796
	"GBE_ID" NUMBER, 
797
	"ACTIVE" CHAR(1 BYTE) DEFAULT 'Y'
798
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 799
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
800
 NOCOMPRESS LOGGING
5172 dpurdie 801
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 802
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
803
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 804
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 805
 
806
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG"."ACTIVE" IS 'Allows user to select deamon, otherwise its not shown unless already in use.';
6031 dpurdie 807
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" TO "RM_READONLY";
808
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" TO "MS_READONLY";
5892 dpurdie 809
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" TO "DM_READONLY";
6999 dpurdie 810
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 811
--------------------------------------------------------
812
--  DDL for Table BUILD_ORDER
813
--------------------------------------------------------
814
 
5172 dpurdie 815
  CREATE TABLE "RELEASE_MANAGER"."BUILD_ORDER" 
4040 dpurdie 816
   (	"RTAG_ID" NUMBER, 
817
	"STEP_NUM" NUMBER, 
818
	"PV_ID" NUMBER, 
5172 dpurdie 819
	"UNRESOLVED" CHAR(1 BYTE)
820
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 821
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
822
 NOCOMPRESS LOGGING
5172 dpurdie 823
  STORAGE(INITIAL 2097152 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 824
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
825
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
826
  TABLESPACE "RELEASE_MANAGER_DATA" ;
827
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ORDER" TO "RM_READONLY";
828
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ORDER" TO "MS_READONLY";
5892 dpurdie 829
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ORDER" TO "DM_READONLY";
6999 dpurdie 830
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_ORDER" TO "RELEASE_MANAGER_READ";
831
--------------------------------------------------------
832
--  DDL for Table BUILD_PLAN
833
--------------------------------------------------------
5892 dpurdie 834
 
835
  CREATE TABLE "RELEASE_MANAGER"."BUILD_PLAN" 
836
   (	"RTAG_ID" NUMBER, 
837
	"BUILD_ORDER" NUMBER, 
838
	"PV_ID" NUMBER
839
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 840
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
841
 NOCOMPRESS LOGGING
5892 dpurdie 842
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 843
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
844
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 845
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5892 dpurdie 846
 
847
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLAN"."RTAG_ID" IS 'Identify target Release';
848
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLAN"."BUILD_ORDER" IS 'Sequence for build';
6999 dpurdie 849
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLAN"."PV_ID" IS 'Package to build';
4040 dpurdie 850
--------------------------------------------------------
7340 dpurdie 851
--  DDL for Table BUILD_PLATFORMS
852
--------------------------------------------------------
853
 
854
  CREATE TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS" 
855
   (	"BP_ID" NUMBER, 
856
	"BP_NAME" VARCHAR2(50 BYTE), 
857
	"BP_ACTIVE" CHAR(1 BYTE) DEFAULT 'Y', 
858
	"BP_DESCRIPTION" VARCHAR2(1000 BYTE)
859
   ) SEGMENT CREATION IMMEDIATE 
860
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
861
 NOCOMPRESS LOGGING
862
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
863
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
864
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
865
  TABLESPACE "RELEASE_MANAGER_DATA" ;
866
 
867
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLATFORMS"."BP_ID" IS 'Build Platform Id';
868
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLATFORMS"."BP_NAME" IS 'Name of the platform';
869
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLATFORMS"."BP_ACTIVE" IS 'Platform availbale to be configured';
870
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLATFORMS"."BP_DESCRIPTION" IS 'Description of the platform';
871
--------------------------------------------------------
872
--  DDL for Table BUILD_PLATFORMS_CONFIG
873
--------------------------------------------------------
874
 
875
  CREATE TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG" 
876
   (	"BP_ID" NUMBER, 
877
	"GBE_ID" NUMBER
878
   ) SEGMENT CREATION IMMEDIATE 
879
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
880
 NOCOMPRESS LOGGING
881
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
882
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
883
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
884
  TABLESPACE "RELEASE_MANAGER_DATA" ;
885
 
886
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG"."BP_ID" IS 'Link into BUILD_PLATFORMS';
887
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG"."GBE_ID" IS 'Link to GBE_MACHTYPE';
888
   COMMENT ON TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG"  IS 'This table controls which BUILD_PLATFORMS can be assigned to a GBE_MACHTYPE';
889
--------------------------------------------------------
890
--  DDL for Table BUILD_PLATFORMS_CONFIG2
891
--------------------------------------------------------
892
 
893
  CREATE TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2" 
894
   (	"BP_ID" NUMBER, 
895
	"BMCON_ID" NUMBER
896
   ) SEGMENT CREATION IMMEDIATE 
897
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
898
 NOCOMPRESS LOGGING
899
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
900
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
901
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
902
  TABLESPACE "RELEASE_MANAGER_DATA" ;
903
 
904
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2"."BP_ID" IS 'Link to BUILD_PLATFORMS';
905
   COMMENT ON COLUMN "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2"."BMCON_ID" IS 'Link to BUILD_MACHINE_CONFIG';
906
   COMMENT ON TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2"  IS 'Define the PLATFORMS that are available on a specific BUILD_MACHINE';
907
--------------------------------------------------------
4040 dpurdie 908
--  DDL for Table BUILD_SERVICE_CONFIG
909
--------------------------------------------------------
910
 
5172 dpurdie 911
  CREATE TABLE "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG" 
912
   (	"SERVICE" VARCHAR2(50 BYTE), 
913
	"CONFIG" VARCHAR2(2000 BYTE)
914
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 915
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
916
 NOCOMPRESS LOGGING
5172 dpurdie 917
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 918
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
919
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
920
  TABLESPACE "RELEASE_MANAGER_DATA" ;
921
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG" TO "RM_READONLY";
922
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG" TO "MS_READONLY";
5892 dpurdie 923
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG" TO "DM_READONLY";
6999 dpurdie 924
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 925
--------------------------------------------------------
926
--  DDL for Table BUILD_STANDARDS
927
--------------------------------------------------------
928
 
5172 dpurdie 929
  CREATE TABLE "RELEASE_MANAGER"."BUILD_STANDARDS" 
4040 dpurdie 930
   (	"BS_ID" NUMBER, 
5172 dpurdie 931
	"BS_NAME" VARCHAR2(20 BYTE)
932
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 933
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
934
 NOCOMPRESS LOGGING
5172 dpurdie 935
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 936
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
937
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
938
  TABLESPACE "RELEASE_MANAGER_DATA" ;
939
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_STANDARDS" TO "RM_READONLY";
940
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_STANDARDS" TO "MS_READONLY";
5892 dpurdie 941
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_STANDARDS" TO "DM_READONLY";
6999 dpurdie 942
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_STANDARDS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 943
--------------------------------------------------------
944
--  DDL for Table BUILD_STANDARDS_ADDENDUM
945
--------------------------------------------------------
946
 
5172 dpurdie 947
  CREATE TABLE "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" 
4040 dpurdie 948
   (	"BSA_ID" NUMBER, 
5172 dpurdie 949
	"BSA_NAME" VARCHAR2(4000 BYTE), 
4040 dpurdie 950
	"BS_ID" NUMBER
5172 dpurdie 951
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 952
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
953
 NOCOMPRESS LOGGING
5172 dpurdie 954
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 955
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
956
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
957
  TABLESPACE "RELEASE_MANAGER_DATA" ;
958
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" TO "RM_READONLY";
959
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" TO "MS_READONLY";
5892 dpurdie 960
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" TO "DM_READONLY";
6999 dpurdie 961
  GRANT SELECT ON "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 962
--------------------------------------------------------
963
--  DDL for Table CODE_REVIEWS
964
--------------------------------------------------------
965
 
5172 dpurdie 966
  CREATE TABLE "RELEASE_MANAGER"."CODE_REVIEWS" 
4040 dpurdie 967
   (	"PV_ID" NUMBER, 
968
	"DATE_OF_REVIEW" DATE, 
969
	"TIME_SPENT" FLOAT(126), 
5172 dpurdie 970
	"REVIEW_REASON" VARCHAR2(4000 BYTE), 
971
	"RTEAM_DOMAIN_EXPERT" VARCHAR2(4000 BYTE), 
972
	"RTEAM_LANGUAGE_EXPERT" VARCHAR2(4000 BYTE), 
973
	"RTEAM_PEER_DEVELOPER" VARCHAR2(4000 BYTE), 
974
	"RTEAM_AUTHOR" VARCHAR2(4000 BYTE), 
975
	"FILES_REVIEWED" VARCHAR2(4000 BYTE), 
4040 dpurdie 976
	"REVIEW_RESULTS" NUMBER, 
5172 dpurdie 977
	"ISSUES_RAISED" VARCHAR2(4000 BYTE), 
978
	"REVIEW_COMMENTS" VARCHAR2(4000 BYTE), 
979
	"FNC_S_MEETS_FUNCTIONALITY" CHAR(1 BYTE), 
980
	"FNC_C_MEETS_FUNCTIONALITY" VARCHAR2(4000 BYTE), 
981
	"RBS_S_BOUND_COND_HANDLED" CHAR(1 BYTE), 
982
	"RBS_C_BOUND_COND_HANDLED" VARCHAR2(4000 BYTE), 
983
	"RBS_S_CLASS_INTERF_PRECOND" CHAR(1 BYTE), 
984
	"RBS_C_CLASS_INTERF_PRECOND" VARCHAR2(4000 BYTE), 
985
	"RBS_S_NO_UNITIALISED_DATE" CHAR(1 BYTE), 
986
	"RBS_C_NO_UNITIALISED_DATE" VARCHAR2(4000 BYTE), 
987
	"RBS_S_EXCEP_HANDING" CHAR(1 BYTE), 
988
	"RBS_C_EXCEP_HANDING" VARCHAR2(4000 BYTE), 
989
	"RBS_S_RESOURCE_MNG" CHAR(1 BYTE), 
990
	"RBS_C_RESOURCE_MNG" VARCHAR2(4000 BYTE), 
991
	"RBS_S_TRANS_COMPLET" CHAR(1 BYTE), 
992
	"RBS_C_TRANS_COMPLET" VARCHAR2(4000 BYTE), 
993
	"RBS_S_THREADSAFETY" CHAR(1 BYTE), 
994
	"RBS_C_THREADSAFETY" VARCHAR2(4000 BYTE), 
995
	"RBS_S_RET_VALS" CHAR(1 BYTE), 
996
	"RBS_C_RET_VALS" VARCHAR2(4000 BYTE), 
997
	"RBS_S_CORR_ERR_HANDLING" CHAR(1 BYTE), 
998
	"RBS_C_CORR_ERR_HANDLING" VARCHAR2(4000 BYTE), 
999
	"RBS_S_SQL_STD" CHAR(1 BYTE), 
1000
	"RBS_C_SQL_STD" VARCHAR2(4000 BYTE), 
1001
	"MNT_S_EXT_REF" CHAR(1 BYTE), 
1002
	"MNT_C_EXT_REF" VARCHAR2(4000 BYTE), 
1003
	"MNT_S_CLASS_SIZE" CHAR(1 BYTE), 
1004
	"MNT_C_CLASS_SIZE" VARCHAR2(4000 BYTE), 
1005
	"MNT_S_METHOD_SIZE" CHAR(1 BYTE), 
1006
	"MNT_C_METHOD_SIZE" VARCHAR2(4000 BYTE), 
1007
	"MNT_S_APPROP_COMM" CHAR(1 BYTE), 
1008
	"MNT_C_APPROP_COMM" VARCHAR2(4000 BYTE), 
1009
	"MNT_S_IDENT_NAME_STD" CHAR(1 BYTE), 
1010
	"MNT_C_IDENT_NAME_STD" VARCHAR2(4000 BYTE), 
1011
	"MNT_S_SWITCH_HAVE_DEFAULTS" CHAR(1 BYTE), 
1012
	"MNT_C_SWITCH_HAVE_DEFAULTS" VARCHAR2(4000 BYTE), 
1013
	"MNT_S_NO_LIT_NUM" CHAR(1 BYTE), 
1014
	"MNT_C_NO_LIT_NUM" VARCHAR2(4000 BYTE), 
1015
	"MNT_S_NO_DEAD_CODE" CHAR(1 BYTE), 
1016
	"MNT_C_NO_DEAD_CODE" VARCHAR2(4000 BYTE), 
1017
	"DEI_S_STD_DES_PATT" CHAR(1 BYTE), 
1018
	"DEI_C_STD_DES_PATT" VARCHAR2(4000 BYTE), 
1019
	"DEI_S_APPROP_ALGOR" CHAR(1 BYTE), 
1020
	"DEI_C_APPROP_ALGOR" VARCHAR2(4000 BYTE), 
1021
	"DEI_S_APPROP_OBJ" CHAR(1 BYTE), 
1022
	"DEI_C_APPROP_OBJ" VARCHAR2(4000 BYTE), 
1023
	"DEI_S_APPROP_ERR_MSG" CHAR(1 BYTE), 
1024
	"DEI_C_APPROP_ERR_MSG" VARCHAR2(4000 BYTE), 
1025
	"DEI_S_STD_FRAMEW_COMP" CHAR(1 BYTE), 
1026
	"DEI_C_STD_FRAMEW_COMP" VARCHAR2(4000 BYTE), 
1027
	"DEI_S_APPROP_LOGGING" CHAR(1 BYTE), 
1028
	"DEI_C_APPROP_LOGGING" VARCHAR2(4000 BYTE)
1029
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1030
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1031
 NOCOMPRESS LOGGING
5172 dpurdie 1032
  STORAGE(INITIAL 524288 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1033
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1034
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1035
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1036
  GRANT SELECT ON "RELEASE_MANAGER"."CODE_REVIEWS" TO "RM_READONLY";
1037
  GRANT SELECT ON "RELEASE_MANAGER"."CODE_REVIEWS" TO "MS_READONLY";
5892 dpurdie 1038
  GRANT SELECT ON "RELEASE_MANAGER"."CODE_REVIEWS" TO "DM_READONLY";
6999 dpurdie 1039
  GRANT SELECT ON "RELEASE_MANAGER"."CODE_REVIEWS" TO "RELEASE_MANAGER_READ";
4040 dpurdie 1040
--------------------------------------------------------
1041
--  DDL for Table CODE_REVIEW_URL
1042
--------------------------------------------------------
1043
 
5172 dpurdie 1044
  CREATE TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL" 
4040 dpurdie 1045
   (	"CR_ID" NUMBER, 
1046
	"PV_ID" NUMBER, 
1047
	"PROJ_ID" NUMBER, 
5172 dpurdie 1048
	"URL" VARCHAR2(4000 BYTE), 
1049
	"REASON" VARCHAR2(4000 BYTE), 
4040 dpurdie 1050
	"DATE_OF_REVIEW" DATE, 
1051
	"LAST_MODIFIED" DATE
5172 dpurdie 1052
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1053
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1054
 NOCOMPRESS LOGGING
5172 dpurdie 1055
  STORAGE(INITIAL 983040 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1056
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1057
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1058
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1059
  GRANT SELECT ON "RELEASE_MANAGER"."CODE_REVIEW_URL" TO "RM_READONLY";
1060
  GRANT SELECT ON "RELEASE_MANAGER"."CODE_REVIEW_URL" TO "MS_READONLY";
6999 dpurdie 1061
  GRANT SELECT ON "RELEASE_MANAGER"."CODE_REVIEW_URL" TO "DM_READONLY";
4040 dpurdie 1062
--------------------------------------------------------
6999 dpurdie 1063
--  DDL for Table CQ_HISTORY
1064
--------------------------------------------------------
4585 dpurdie 1065
 
5172 dpurdie 1066
  CREATE TABLE "RELEASE_MANAGER"."CQ_HISTORY" 
4585 dpurdie 1067
   (	"DBID" NUMBER(10,0), 
1068
	"ENTITY_DBID" NUMBER(10,0), 
1069
	"ENTITYDEF_ID" NUMBER(10,0), 
1070
	"ENTITYDEF_NAME" VARCHAR2(30 CHAR), 
1071
	"ACTION_TIMESTAMP" DATE, 
1072
	"USER_NAME" VARCHAR2(30 CHAR), 
1073
	"ACTION_NAME" VARCHAR2(30 CHAR), 
1074
	"OLD_STATE" VARCHAR2(30 CHAR), 
1075
	"NEW_STATE" VARCHAR2(30 CHAR), 
1076
	"EXPIRED_TIMESTAMP" DATE
5172 dpurdie 1077
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1078
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1079
 NOCOMPRESS LOGGING
5172 dpurdie 1080
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1081
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1082
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1083
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1084
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_HISTORY" TO "RM_READONLY";
1085
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_HISTORY" TO "MS_READONLY";
5892 dpurdie 1086
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_HISTORY" TO "DM_READONLY";
1087
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_HISTORY" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 1088
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_HISTORY" TO "ACCESS_MANAGER";
1089
--------------------------------------------------------
4040 dpurdie 1090
--  DDL for Table CQ_ISSUES
1091
--------------------------------------------------------
1092
 
5172 dpurdie 1093
  CREATE TABLE "RELEASE_MANAGER"."CQ_ISSUES" 
4040 dpurdie 1094
   (	"PV_ID" NUMBER, 
1095
	"ISS_DB" NUMBER, 
1096
	"ISS_ID" NUMBER, 
1097
	"ISS_STATE" NUMBER, 
1098
	"MOD_DATE" DATE, 
5172 dpurdie 1099
	"NOTES" VARCHAR2(255 BYTE)
1100
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1101
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1102
 NOCOMPRESS LOGGING
5172 dpurdie 1103
  STORAGE(INITIAL 4194304 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1104
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1105
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1106
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1107
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_ISSUES" TO "RM_READONLY";
1108
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_ISSUES" TO "MS_READONLY";
5892 dpurdie 1109
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_ISSUES" TO "DM_READONLY";
1110
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_ISSUES" TO "RELEASE_MANAGER_READ";
6999 dpurdie 1111
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_ISSUES" TO "DEPLOYMENT_MANAGER";
1112
--------------------------------------------------------
1113
--  DDL for Table CQ_SOFTWARE_ISSUE
1114
--------------------------------------------------------
4585 dpurdie 1115
 
5172 dpurdie 1116
  CREATE TABLE "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" 
4585 dpurdie 1117
   (	"RATL_MASTERSHIP" NUMBER(10,0), 
1118
	"DBID" NUMBER(10,0), 
1119
	"IS_ACTIVE" NUMBER(10,0), 
1120
	"ID" VARCHAR2(13 CHAR), 
1121
	"STATE" NUMBER(10,0), 
1122
	"VERSION" NUMBER(10,0), 
1123
	"LOCK_VERSION" NUMBER(10,0), 
1124
	"LOCKED_BY" NUMBER(10,0), 
1125
	"IS_DUPLICATE" NUMBER(10,0), 
1126
	"UNDUPLICATE_STATE" VARCHAR2(50 CHAR), 
1127
	"HEADLINE" VARCHAR2(150 CHAR), 
1128
	"DESCRIPTION" CLOB, 
1129
	"PRIORITY" VARCHAR2(50 CHAR), 
1130
	"SUBMITTER" NUMBER(10,0), 
1131
	"SUBMIT_DATE" DATE, 
1132
	"OWNER" NUMBER(10,0), 
1133
	"APPROVER" NUMBER(10,0), 
1134
	"NOTE_ENTRY" CLOB, 
1135
	"NOTES_LOG" CLOB, 
1136
	"RESOLUTION_DATE" DATE, 
1137
	"ISSUE_TYPE" VARCHAR2(50 CHAR), 
1138
	"PACKAGE_REF" VARCHAR2(50 CHAR), 
1139
	"SOLUTION_APPROVED_DATE" DATE, 
1140
	"CLOSE_DATE" DATE, 
1141
	"BUILD_NUMBER" VARCHAR2(50 CHAR), 
1142
	"NEW_NUM" VARCHAR2(50 CHAR), 
1143
	"FOR_INFORMATION" CLOB, 
1144
	"PROP_SOL_DATE" DATE, 
1145
	"ARTIFACTS_TO_BE_UPDATED_1" CLOB, 
1146
	"ISSUE_ID" NUMBER(10,0), 
1147
	"SOLUTION_DATE" DATE, 
1148
	"KPI_SOLUTION_DATE" DATE, 
1149
	"TITLE" VARCHAR2(80 CHAR), 
1150
	"PROJECT" VARCHAR2(50 CHAR), 
1151
	"ORIGINATING_AREA" VARCHAR2(50 CHAR), 
1152
	"ESTIMATED_TIME_INHOURS" NUMBER(10,0), 
1153
	"RELEASE_PART1" NUMBER(10,0), 
1154
	"RELEASE_PART2" NUMBER(10,0), 
1155
	"RELEASE_PART3" NUMBER(10,0), 
1156
	"SOLUTION_RELEASE_PART1" NUMBER(10,0), 
1157
	"SOLUTION_RELEASE_PART2" NUMBER(10,0), 
1158
	"SOLUTION_RELEASE_PART3" NUMBER(10,0), 
1159
	"ORIGINAL_IMPLEMENT_DATE" DATE, 
1160
	"ISSUE_LABEL" VARCHAR2(50 CHAR), 
1161
	"PRODUCT" VARCHAR2(50 CHAR), 
1162
	"ORIGIN" VARCHAR2(50 CHAR), 
1163
	"CLONE_NOTE" CLOB, 
1164
	"SOLUTION_LABEL" VARCHAR2(50 CHAR), 
1165
	"REQUIRED_BY" DATE, 
1166
	"ITERATION_AFFECTED" VARCHAR2(50 CHAR), 
1167
	"MERGE_OLD_ID" VARCHAR2(150 CHAR), 
1168
	"COMMENTS" CLOB, 
1169
	"CHANGE_CONTROL" VARCHAR2(50 CHAR), 
1170
	"MERGE_COMMENTS" CLOB, 
1171
	"MERGE_CHANGE_CONTROL" VARCHAR2(50 CHAR), 
1172
	"AWAITING_INFO_DESC" CLOB, 
1173
	"REQUEST_CLOSE_DESC" CLOB, 
1174
	"ROOT_CAUSE" VARCHAR2(50 CHAR), 
1175
	"FLAGA" VARCHAR2(50 CHAR), 
1176
	"FLAGB" VARCHAR2(50 CHAR), 
1177
	"FLAGC" VARCHAR2(50 CHAR), 
1178
	"SCHEDULED_RELEASE" VARCHAR2(60 CHAR), 
1179
	"SEVERITY" VARCHAR2(50 CHAR), 
1180
	"CUSTOM_FIELD_01" CLOB, 
1181
	"CUSTOM_FIELD_02" CLOB, 
1182
	"CUSTOM_FIELD_03" CLOB, 
1183
	"CUSTOMER_REFERENCE" VARCHAR2(254 CHAR), 
1184
	"TEAMLEADER" NUMBER(10,0), 
1185
	"WIP" CLOB, 
1186
	"RELEASEINFO" CLOB, 
1187
	"SBOM" VARCHAR2(254 CHAR), 
1188
	"NEW_EXTERNAL_NOTE" CLOB, 
1189
	"EXTERNAL_NOTE_LOG" CLOB, 
1190
	"CUSTOMER_REFERENCE_2" VARCHAR2(50 CHAR), 
1191
	"CUSTOMER_REFERENCE_3" VARCHAR2(50 CHAR), 
1192
	"CUSTOMER_REFERENCE_4" VARCHAR2(50 CHAR), 
1193
	"CUSTOMER_REFERENCE_5" VARCHAR2(50 CHAR), 
1194
	"TEST_CASES" CLOB, 
1195
	"INTEGRATION_NOTES" CLOB, 
1196
	"UPDATED_DESIGN_NOTES" VARCHAR2(50 CHAR), 
1197
	"RELATED_DATABASE_PATCHES" VARCHAR2(50 CHAR), 
1198
	"AFFECTED_PACKAGES" VARCHAR2(50 CHAR), 
1199
	"CODEREVIEW_REFERENCE" CLOB, 
1200
	"RISK" VARCHAR2(50 CHAR), 
1201
	"DEPENDANT_DEVIS" VARCHAR2(50 CHAR), 
1202
	"CUSTOM_FIELD_04" CLOB, 
1203
	"CUSTOM_FIELD_05" CLOB, 
1204
	"ITERATION_FOUND" VARCHAR2(50 CHAR)
5172 dpurdie 1205
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1206
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1207
 NOCOMPRESS LOGGING
5172 dpurdie 1208
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1209
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1210
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1211
  TABLESPACE "RELEASE_MANAGER_DATA" 
5172 dpurdie 1212
 LOB ("DESCRIPTION") STORE AS BASICFILE (
6031 dpurdie 1213
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1214
  NOCACHE LOGGING 
1215
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1216
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1217
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1218
 LOB ("NOTE_ENTRY") STORE AS BASICFILE (
6031 dpurdie 1219
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1220
  NOCACHE LOGGING 
1221
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1222
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1223
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1224
 LOB ("NOTES_LOG") STORE AS BASICFILE (
6031 dpurdie 1225
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1226
  NOCACHE LOGGING 
1227
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1228
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1229
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1230
 LOB ("FOR_INFORMATION") STORE AS BASICFILE (
6031 dpurdie 1231
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1232
  NOCACHE LOGGING 
1233
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1234
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1235
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1236
 LOB ("ARTIFACTS_TO_BE_UPDATED_1") STORE AS BASICFILE (
6031 dpurdie 1237
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1238
  NOCACHE LOGGING 
1239
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1240
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1241
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1242
 LOB ("CLONE_NOTE") STORE AS BASICFILE (
6031 dpurdie 1243
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1244
  NOCACHE LOGGING 
1245
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1246
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1247
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1248
 LOB ("COMMENTS") STORE AS BASICFILE (
6031 dpurdie 1249
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1250
  NOCACHE LOGGING 
1251
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1252
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1253
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1254
 LOB ("MERGE_COMMENTS") STORE AS BASICFILE (
6031 dpurdie 1255
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1256
  NOCACHE LOGGING 
1257
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1258
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1259
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1260
 LOB ("AWAITING_INFO_DESC") STORE AS BASICFILE (
6031 dpurdie 1261
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1262
  NOCACHE LOGGING 
1263
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1264
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1265
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1266
 LOB ("REQUEST_CLOSE_DESC") STORE AS BASICFILE (
6031 dpurdie 1267
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1268
  NOCACHE LOGGING 
1269
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1270
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1271
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1272
 LOB ("CUSTOM_FIELD_01") STORE AS BASICFILE (
6031 dpurdie 1273
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1274
  NOCACHE LOGGING 
1275
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1276
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1277
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1278
 LOB ("CUSTOM_FIELD_02") STORE AS BASICFILE (
6031 dpurdie 1279
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1280
  NOCACHE LOGGING 
1281
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1282
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1283
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1284
 LOB ("CUSTOM_FIELD_03") STORE AS BASICFILE (
6031 dpurdie 1285
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1286
  NOCACHE LOGGING 
1287
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1288
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1289
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1290
 LOB ("WIP") STORE AS BASICFILE (
6031 dpurdie 1291
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1292
  NOCACHE LOGGING 
1293
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1294
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1295
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1296
 LOB ("RELEASEINFO") STORE AS BASICFILE (
6031 dpurdie 1297
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1298
  NOCACHE LOGGING 
1299
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1300
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1301
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1302
 LOB ("NEW_EXTERNAL_NOTE") STORE AS BASICFILE (
6031 dpurdie 1303
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1304
  NOCACHE LOGGING 
1305
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1306
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1307
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1308
 LOB ("EXTERNAL_NOTE_LOG") STORE AS BASICFILE (
6031 dpurdie 1309
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1310
  NOCACHE LOGGING 
1311
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1312
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1313
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1314
 LOB ("TEST_CASES") STORE AS BASICFILE (
6031 dpurdie 1315
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1316
  NOCACHE LOGGING 
1317
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1318
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1319
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1320
 LOB ("INTEGRATION_NOTES") STORE AS BASICFILE (
6031 dpurdie 1321
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1322
  NOCACHE LOGGING 
1323
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1324
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1325
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1326
 LOB ("CODEREVIEW_REFERENCE") STORE AS BASICFILE (
6031 dpurdie 1327
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1328
  NOCACHE LOGGING 
1329
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1330
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1331
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1332
 LOB ("CUSTOM_FIELD_04") STORE AS BASICFILE (
6031 dpurdie 1333
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1334
  NOCACHE LOGGING 
1335
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1336
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1337
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 
5172 dpurdie 1338
 LOB ("CUSTOM_FIELD_05") STORE AS BASICFILE (
6031 dpurdie 1339
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 1340
  NOCACHE LOGGING 
1341
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1342
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1343
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;
1344
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" TO "RM_READONLY";
1345
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" TO "MS_READONLY";
5892 dpurdie 1346
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" TO "DM_READONLY";
1347
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 1348
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" TO "ACCESS_MANAGER";
1349
--------------------------------------------------------
1350
--  DDL for Table CQ_STATEDEF
1351
--------------------------------------------------------
4585 dpurdie 1352
 
5172 dpurdie 1353
  CREATE TABLE "RELEASE_MANAGER"."CQ_STATEDEF" 
4585 dpurdie 1354
   (	"ID" NUMBER(10,0), 
1355
	"PACKAGE_OWNERSHIP" NUMBER(10,0), 
1356
	"NAME" VARCHAR2(255 CHAR), 
1357
	"ENTITYDEF_ID" NUMBER(10,0), 
1358
	"ORDINAL" NUMBER(10,0)
5172 dpurdie 1359
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1360
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1361
 NOCOMPRESS LOGGING
5172 dpurdie 1362
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1363
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1364
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1365
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1366
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_STATEDEF" TO "RM_READONLY";
1367
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_STATEDEF" TO "MS_READONLY";
5892 dpurdie 1368
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_STATEDEF" TO "DM_READONLY";
1369
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_STATEDEF" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 1370
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_STATEDEF" TO "ACCESS_MANAGER";
1371
--------------------------------------------------------
1372
--  DDL for Table CQ_USERS
1373
--------------------------------------------------------
4585 dpurdie 1374
 
5172 dpurdie 1375
  CREATE TABLE "RELEASE_MANAGER"."CQ_USERS" 
1376
   (	"DBID" VARCHAR2(8 BYTE), 
1377
	"LOGIN_NAME" VARCHAR2(17 BYTE), 
1378
	"FULLNAME" VARCHAR2(30 BYTE)
1379
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1380
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1381
 NOCOMPRESS LOGGING
5172 dpurdie 1382
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1383
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1384
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1385
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1386
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_USERS" TO "RM_READONLY";
1387
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_USERS" TO "MS_READONLY";
5892 dpurdie 1388
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_USERS" TO "DM_READONLY";
1389
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_USERS" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 1390
  GRANT SELECT ON "RELEASE_MANAGER"."CQ_USERS" TO "ACCESS_MANAGER";
4040 dpurdie 1391
--------------------------------------------------------
1392
--  DDL for Table DAEMON_ACTION_LOG
1393
--------------------------------------------------------
1394
 
5172 dpurdie 1395
  CREATE TABLE "RELEASE_MANAGER"."DAEMON_ACTION_LOG" 
4040 dpurdie 1396
   (	"USER_ID" NUMBER, 
1397
	"ACTION_DATETIME" DATE, 
1398
	"RCON_ID" NUMBER, 
5172 dpurdie 1399
	"DESCRIPTION" VARCHAR2(4000 BYTE), 
4040 dpurdie 1400
	"ACTTYPE_ID" NUMBER
5172 dpurdie 1401
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1402
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1403
 NOCOMPRESS LOGGING
5172 dpurdie 1404
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1405
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1406
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1407
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1408
  GRANT SELECT ON "RELEASE_MANAGER"."DAEMON_ACTION_LOG" TO "RM_READONLY";
1409
  GRANT SELECT ON "RELEASE_MANAGER"."DAEMON_ACTION_LOG" TO "MS_READONLY";
6999 dpurdie 1410
  GRANT SELECT ON "RELEASE_MANAGER"."DAEMON_ACTION_LOG" TO "DM_READONLY";
4040 dpurdie 1411
--------------------------------------------------------
1412
--  DDL for Table DAEMON_INSTRUCTIONS
1413
--------------------------------------------------------
1414
 
5172 dpurdie 1415
  CREATE TABLE "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" 
4040 dpurdie 1416
   (	"DAEMON_INSTRUCTIONS_ID" NUMBER, 
1417
	"OP_CODE" NUMBER(*,0), 
1418
	"RTAG_ID" NUMBER, 
1419
	"PV_ID" NUMBER, 
1420
	"SCHEDULED_DATETIME" DATE, 
1421
	"REPEAT_SECS" NUMBER(*,0), 
1422
	"ADDED_DATETIME" DATE, 
1423
	"USER_ID" NUMBER, 
5172 dpurdie 1424
	"IN_PROGRESS" CHAR(1 BYTE)
1425
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1426
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1427
 NOCOMPRESS LOGGING
5172 dpurdie 1428
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1429
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1430
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1431
  TABLESPACE "RELEASE_MANAGER_DATA" ;
4040 dpurdie 1432
 
5172 dpurdie 1433
   COMMENT ON COLUMN "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS"."OP_CODE" IS 'The instruction op-code';
1434
   COMMENT ON COLUMN "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS"."SCHEDULED_DATETIME" IS 'The datetime after which the instruction can be carried out.';
1435
   COMMENT ON COLUMN "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS"."REPEAT_SECS" IS 'The number of seconds to add to scheduled_datetime when instruction is repeating';
1436
   COMMENT ON COLUMN "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS"."ADDED_DATETIME" IS 'The datetime the instruction was added to the table - informational only';
1437
   COMMENT ON COLUMN "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS"."USER_ID" IS 'The user who added the instruction to the table  - informational only';
6031 dpurdie 1438
  GRANT SELECT ON "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" TO "RM_READONLY";
1439
  GRANT SELECT ON "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" TO "MS_READONLY";
6999 dpurdie 1440
  GRANT SELECT ON "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" TO "DM_READONLY";
4040 dpurdie 1441
--------------------------------------------------------
1442
--  DDL for Table DASH_BOARD
1443
--------------------------------------------------------
1444
 
5172 dpurdie 1445
  CREATE TABLE "RELEASE_MANAGER"."DASH_BOARD" 
4040 dpurdie 1446
   (	"PROJ_ID" NUMBER, 
1447
	"RTAG_ID" NUMBER, 
1448
	"LAST_BUILD_TIME" DATE, 
1449
	"AUTOMATED_PACKAGES" NUMBER, 
1450
	"TOTAL_PACKAGES" NUMBER
5172 dpurdie 1451
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1452
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1453
 NOCOMPRESS LOGGING
5172 dpurdie 1454
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1455
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1456
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1457
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1458
  GRANT SELECT ON "RELEASE_MANAGER"."DASH_BOARD" TO "RM_READONLY";
1459
  GRANT SELECT ON "RELEASE_MANAGER"."DASH_BOARD" TO "MS_READONLY";
6999 dpurdie 1460
  GRANT SELECT ON "RELEASE_MANAGER"."DASH_BOARD" TO "DM_READONLY";
4040 dpurdie 1461
--------------------------------------------------------
1462
--  DDL for Table DEPRECATED_PACKAGES
1463
--------------------------------------------------------
1464
 
5172 dpurdie 1465
  CREATE TABLE "RELEASE_MANAGER"."DEPRECATED_PACKAGES" 
4040 dpurdie 1466
   (	"RTAG_ID" NUMBER, 
1467
	"PKG_ID" NUMBER, 
5172 dpurdie 1468
	"COMMENTS" VARCHAR2(4000 BYTE), 
1469
	"V_EXT" VARCHAR2(50 BYTE)
1470
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1471
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1472
 NOCOMPRESS LOGGING
5172 dpurdie 1473
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1474
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1475
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1476
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1477
  GRANT SELECT ON "RELEASE_MANAGER"."DEPRECATED_PACKAGES" TO "RM_READONLY";
1478
  GRANT SELECT ON "RELEASE_MANAGER"."DEPRECATED_PACKAGES" TO "MS_READONLY";
6999 dpurdie 1479
  GRANT SELECT ON "RELEASE_MANAGER"."DEPRECATED_PACKAGES" TO "DM_READONLY";
4040 dpurdie 1480
--------------------------------------------------------
1481
--  DDL for Table DO_NOT_RIPPLE
1482
--------------------------------------------------------
1483
 
5172 dpurdie 1484
  CREATE TABLE "RELEASE_MANAGER"."DO_NOT_RIPPLE" 
4040 dpurdie 1485
   (	"RTAG_ID" NUMBER, 
1486
	"PV_ID" NUMBER, 
1487
	"ROOT_PV_ID" NUMBER, 
5172 dpurdie 1488
	"ROOT_CAUSE" VARCHAR2(50 BYTE), 
1489
	"ROOT_FILE" VARCHAR2(100 BYTE)
1490
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1491
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1492
 NOCOMPRESS LOGGING
5172 dpurdie 1493
  STORAGE(INITIAL 655360 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1494
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1495
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1496
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1497
  GRANT SELECT ON "RELEASE_MANAGER"."DO_NOT_RIPPLE" TO "RM_READONLY";
1498
  GRANT SELECT ON "RELEASE_MANAGER"."DO_NOT_RIPPLE" TO "MS_READONLY";
5892 dpurdie 1499
  GRANT SELECT ON "RELEASE_MANAGER"."DO_NOT_RIPPLE" TO "DM_READONLY";
1500
  GRANT SELECT ON "RELEASE_MANAGER"."DO_NOT_RIPPLE" TO "RELEASE_MANAGER_READ";
6999 dpurdie 1501
  GRANT SELECT ON "RELEASE_MANAGER"."DO_NOT_RIPPLE" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1502
--------------------------------------------------------
1503
--  DDL for Table GBE_MACHTYPE
1504
--------------------------------------------------------
1505
 
5172 dpurdie 1506
  CREATE TABLE "RELEASE_MANAGER"."GBE_MACHTYPE" 
4040 dpurdie 1507
   (	"GBE_ID" NUMBER, 
5172 dpurdie 1508
	"GBE_VALUE" VARCHAR2(20 BYTE), 
4040 dpurdie 1509
	"BM_ID" NUMBER
5172 dpurdie 1510
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1511
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1512
 NOCOMPRESS LOGGING
5172 dpurdie 1513
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1514
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1515
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1516
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1517
  GRANT SELECT ON "RELEASE_MANAGER"."GBE_MACHTYPE" TO "RM_READONLY";
1518
  GRANT SELECT ON "RELEASE_MANAGER"."GBE_MACHTYPE" TO "MS_READONLY";
5892 dpurdie 1519
  GRANT SELECT ON "RELEASE_MANAGER"."GBE_MACHTYPE" TO "DM_READONLY";
6999 dpurdie 1520
  GRANT SELECT ON "RELEASE_MANAGER"."GBE_MACHTYPE" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1521
--------------------------------------------------------
1522
--  DDL for Table IGNORE_WARNINGS
1523
--------------------------------------------------------
1524
 
5172 dpurdie 1525
  CREATE TABLE "RELEASE_MANAGER"."IGNORE_WARNINGS" 
4040 dpurdie 1526
   (	"RTAG_ID" NUMBER, 
1527
	"PV_ID" NUMBER, 
1528
	"DPV_ID" NUMBER, 
5172 dpurdie 1529
	"IS_PATCH_IGNORE" CHAR(1 BYTE)
1530
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1531
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1532
 NOCOMPRESS LOGGING
5172 dpurdie 1533
  STORAGE(INITIAL 3145728 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1534
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1535
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1536
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1537
  GRANT SELECT ON "RELEASE_MANAGER"."IGNORE_WARNINGS" TO "RM_READONLY";
1538
  GRANT SELECT ON "RELEASE_MANAGER"."IGNORE_WARNINGS" TO "MS_READONLY";
5892 dpurdie 1539
  GRANT SELECT ON "RELEASE_MANAGER"."IGNORE_WARNINGS" TO "DM_READONLY";
6999 dpurdie 1540
  GRANT SELECT ON "RELEASE_MANAGER"."IGNORE_WARNINGS" TO "RELEASE_MANAGER_READ";
4040 dpurdie 1541
--------------------------------------------------------
1542
--  DDL for Table JIRA_ISSUES
1543
--------------------------------------------------------
1544
 
5172 dpurdie 1545
  CREATE TABLE "RELEASE_MANAGER"."JIRA_ISSUES" 
4040 dpurdie 1546
   (	"PV_ID" NUMBER, 
5172 dpurdie 1547
	"ISS_KEY" VARCHAR2(4000 BYTE), 
4040 dpurdie 1548
	"DATE_TIME_STAMP" DATE
5172 dpurdie 1549
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1550
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1551
 NOCOMPRESS LOGGING
5172 dpurdie 1552
  STORAGE(INITIAL 262144 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1553
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1554
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1555
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1556
  GRANT SELECT ON "RELEASE_MANAGER"."JIRA_ISSUES" TO "RM_READONLY";
1557
  GRANT SELECT ON "RELEASE_MANAGER"."JIRA_ISSUES" TO "MS_READONLY";
5892 dpurdie 1558
  GRANT SELECT ON "RELEASE_MANAGER"."JIRA_ISSUES" TO "DM_READONLY";
1559
  GRANT SELECT ON "RELEASE_MANAGER"."JIRA_ISSUES" TO "RELEASE_MANAGER_READ";
6999 dpurdie 1560
  GRANT SELECT ON "RELEASE_MANAGER"."JIRA_ISSUES" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1561
--------------------------------------------------------
1562
--  DDL for Table LICENCES
1563
--------------------------------------------------------
1564
 
5172 dpurdie 1565
  CREATE TABLE "RELEASE_MANAGER"."LICENCES" 
4040 dpurdie 1566
   (	"LICENCE" NUMBER, 
5172 dpurdie 1567
	"NAME" VARCHAR2(50 BYTE)
1568
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1569
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1570
 NOCOMPRESS LOGGING
5172 dpurdie 1571
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1572
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1573
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1574
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1575
  GRANT SELECT ON "RELEASE_MANAGER"."LICENCES" TO "RM_READONLY";
1576
  GRANT SELECT ON "RELEASE_MANAGER"."LICENCES" TO "MS_READONLY";
6999 dpurdie 1577
  GRANT SELECT ON "RELEASE_MANAGER"."LICENCES" TO "DM_READONLY";
4040 dpurdie 1578
--------------------------------------------------------
1579
--  DDL for Table LICENCING
1580
--------------------------------------------------------
1581
 
5172 dpurdie 1582
  CREATE TABLE "RELEASE_MANAGER"."LICENCING" 
4040 dpurdie 1583
   (	"PV_ID" NUMBER, 
1584
	"LICENCE" NUMBER
5172 dpurdie 1585
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1586
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1587
 NOCOMPRESS LOGGING
5172 dpurdie 1588
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1589
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1590
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1591
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1592
  GRANT SELECT ON "RELEASE_MANAGER"."LICENCING" TO "RM_READONLY";
1593
  GRANT SELECT ON "RELEASE_MANAGER"."LICENCING" TO "MS_READONLY";
6999 dpurdie 1594
  GRANT SELECT ON "RELEASE_MANAGER"."LICENCING" TO "DM_READONLY";
4040 dpurdie 1595
--------------------------------------------------------
6999 dpurdie 1596
--  DDL for Table LXR_STATE
1597
--------------------------------------------------------
5384 dpurdie 1598
 
1599
  CREATE TABLE "RELEASE_MANAGER"."LXR_STATE" 
1600
   (	"RTAG_ID" NUMBER, 
1601
	"LXRSERVER" CHAR(1 BYTE) DEFAULT 'N'
1602
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1603
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1604
 NOCOMPRESS LOGGING
5384 dpurdie 1605
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1606
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1607
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 1608
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5384 dpurdie 1609
 
1610
   COMMENT ON COLUMN "RELEASE_MANAGER"."LXR_STATE"."RTAG_ID" IS 'Link to Release_Tags';
1611
   COMMENT ON COLUMN "RELEASE_MANAGER"."LXR_STATE"."LXRSERVER" IS 'Written by server - I:Indexed, C:Closing, N:Not Known. May be InProgress.';
1612
   COMMENT ON TABLE "RELEASE_MANAGER"."LXR_STATE"  IS 'Contains data updated by the LXR server.
1613
This table is writable by a user known to the LXR Server';
6031 dpurdie 1614
  GRANT UPDATE ON "RELEASE_MANAGER"."LXR_STATE" TO "RM_READONLY";
1615
  GRANT SELECT ON "RELEASE_MANAGER"."LXR_STATE" TO "RM_READONLY";
1616
  GRANT INSERT ON "RELEASE_MANAGER"."LXR_STATE" TO "RM_READONLY";
1617
  GRANT DELETE ON "RELEASE_MANAGER"."LXR_STATE" TO "RM_READONLY";
6999 dpurdie 1618
  GRANT ALTER ON "RELEASE_MANAGER"."LXR_STATE" TO "RM_READONLY";
1619
--------------------------------------------------------
4040 dpurdie 1620
--  DDL for Table MEMBERS_GROUP
1621
--------------------------------------------------------
1622
 
5172 dpurdie 1623
  CREATE TABLE "RELEASE_MANAGER"."MEMBERS_GROUP" 
4040 dpurdie 1624
   (	"GROUP_EMAIL_ID" NUMBER, 
1625
	"USER_ID" NUMBER
5172 dpurdie 1626
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1627
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1628
 NOCOMPRESS LOGGING
5172 dpurdie 1629
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1630
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1631
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1632
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1633
  GRANT SELECT ON "RELEASE_MANAGER"."MEMBERS_GROUP" TO "RM_READONLY";
1634
  GRANT SELECT ON "RELEASE_MANAGER"."MEMBERS_GROUP" TO "MS_READONLY";
5892 dpurdie 1635
  GRANT SELECT ON "RELEASE_MANAGER"."MEMBERS_GROUP" TO "DM_READONLY";
6999 dpurdie 1636
  GRANT SELECT ON "RELEASE_MANAGER"."MEMBERS_GROUP" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1637
--------------------------------------------------------
1638
--  DDL for Table MESSAGE_BOARD
1639
--------------------------------------------------------
1640
 
5172 dpurdie 1641
  CREATE TABLE "RELEASE_MANAGER"."MESSAGE_BOARD" 
4040 dpurdie 1642
   (	"MSG_ID" NUMBER, 
5172 dpurdie 1643
	"MSG_DETAILS" VARCHAR2(2000 BYTE), 
4040 dpurdie 1644
	"SUBMITION_DATE" DATE, 
1645
	"EXPIRY_DATE" DATE, 
1646
	"DUE_DATE" DATE
5172 dpurdie 1647
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1648
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1649
 NOCOMPRESS LOGGING
5172 dpurdie 1650
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1651
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1652
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1653
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1654
  GRANT SELECT ON "RELEASE_MANAGER"."MESSAGE_BOARD" TO "RM_READONLY";
1655
  GRANT SELECT ON "RELEASE_MANAGER"."MESSAGE_BOARD" TO "MS_READONLY";
5892 dpurdie 1656
  GRANT SELECT ON "RELEASE_MANAGER"."MESSAGE_BOARD" TO "DM_READONLY";
6999 dpurdie 1657
  GRANT SELECT ON "RELEASE_MANAGER"."MESSAGE_BOARD" TO "RELEASE_MANAGER_READ";
4040 dpurdie 1658
--------------------------------------------------------
1659
--  DDL for Table MICROSOFTDTPROPERTIES
1660
--------------------------------------------------------
1661
 
5172 dpurdie 1662
  CREATE TABLE "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" 
4040 dpurdie 1663
   (	"ID" NUMBER, 
1664
	"OBJECTID" NUMBER, 
5172 dpurdie 1665
	"PROPERTY" VARCHAR2(64 BYTE), 
1666
	"VALUE" VARCHAR2(255 BYTE), 
4040 dpurdie 1667
	"LVALUE" LONG RAW, 
1668
	"VERSION" NUMBER DEFAULT (0)
5172 dpurdie 1669
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1670
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1671
 NOCOMPRESS LOGGING
5172 dpurdie 1672
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1673
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1674
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1675
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1676
  GRANT SELECT ON "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" TO "RM_READONLY";
1677
  GRANT SELECT ON "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" TO "MS_READONLY";
5892 dpurdie 1678
  GRANT SELECT ON "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" TO "DM_READONLY";
6999 dpurdie 1679
  GRANT SELECT ON "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" TO "RELEASE_MANAGER_READ";
4040 dpurdie 1680
--------------------------------------------------------
1681
--  DDL for Table NOTE_MANAGER
1682
--------------------------------------------------------
1683
 
5172 dpurdie 1684
  CREATE TABLE "RELEASE_MANAGER"."NOTE_MANAGER" 
1685
   (	"NID" VARCHAR2(30 BYTE), 
1686
	"LAST_USER" VARCHAR2(20 BYTE), 
4040 dpurdie 1687
	"LAST_DATE" DATE, 
5172 dpurdie 1688
	"DESCRIPTION" VARCHAR2(4000 BYTE)
1689
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1690
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1691
 NOCOMPRESS LOGGING
5172 dpurdie 1692
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1693
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1694
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1695
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1696
  GRANT SELECT ON "RELEASE_MANAGER"."NOTE_MANAGER" TO "RM_READONLY";
1697
  GRANT SELECT ON "RELEASE_MANAGER"."NOTE_MANAGER" TO "MS_READONLY";
5892 dpurdie 1698
  GRANT SELECT ON "RELEASE_MANAGER"."NOTE_MANAGER" TO "DM_READONLY";
6999 dpurdie 1699
  GRANT SELECT ON "RELEASE_MANAGER"."NOTE_MANAGER" TO "RELEASE_MANAGER_READ";
4040 dpurdie 1700
--------------------------------------------------------
1701
--  DDL for Table NOTIFICATION_HISTORY
1702
--------------------------------------------------------
1703
 
5172 dpurdie 1704
  CREATE TABLE "RELEASE_MANAGER"."NOTIFICATION_HISTORY" 
4040 dpurdie 1705
   (	"RTAG_ID" NUMBER, 
1706
	"PV_ID" NUMBER, 
1707
	"USER_ID" NUMBER, 
1708
	"DATE_TIME_STAMP" DATE
5172 dpurdie 1709
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1710
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1711
 NOCOMPRESS LOGGING
5172 dpurdie 1712
  STORAGE(INITIAL 2097152 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1713
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1714
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1715
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1716
  GRANT SELECT ON "RELEASE_MANAGER"."NOTIFICATION_HISTORY" TO "RM_READONLY";
1717
  GRANT SELECT ON "RELEASE_MANAGER"."NOTIFICATION_HISTORY" TO "MS_READONLY";
5892 dpurdie 1718
  GRANT SELECT ON "RELEASE_MANAGER"."NOTIFICATION_HISTORY" TO "DM_READONLY";
6999 dpurdie 1719
  GRANT SELECT ON "RELEASE_MANAGER"."NOTIFICATION_HISTORY" TO "RELEASE_MANAGER_READ";
4040 dpurdie 1720
--------------------------------------------------------
1721
--  DDL for Table PACKAGES
1722
--------------------------------------------------------
1723
 
5172 dpurdie 1724
  CREATE TABLE "RELEASE_MANAGER"."PACKAGES" 
4040 dpurdie 1725
   (	"PKG_ID" NUMBER, 
5172 dpurdie 1726
	"PKG_NAME" VARCHAR2(255 BYTE), 
1727
	"SUNOS_ELECTRONIC_NAME" VARCHAR2(255 BYTE), 
1728
	"WIN_ELECTRONIC_NAME" VARCHAR2(255 BYTE), 
1729
	"DEFAULT_PEGGED" CHAR(1 BYTE), 
1730
	"DEFAULT_ADVISORY_RIPPLE" CHAR(1 BYTE)
1731
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1732
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1733
 NOCOMPRESS LOGGING
5172 dpurdie 1734
  STORAGE(INITIAL 196608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1735
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1736
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 1737
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 1738
 
1739
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGES"."DEFAULT_PEGGED" IS 'Default pegged state for packages that are added to a release.';
1740
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGES"."DEFAULT_ADVISORY_RIPPLE" IS 'Default advisiory ripple state for packages that are added to a release.';
6031 dpurdie 1741
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGES" TO "RM_READONLY";
1742
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGES" TO "MS_READONLY";
5892 dpurdie 1743
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGES" TO "DM_READONLY";
1744
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGES" TO "RELEASE_MANAGER_READ";
1745
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGES" TO "DEPLOYMENT_MANAGER_READ";
6031 dpurdie 1746
  GRANT UPDATE ON "RELEASE_MANAGER"."PACKAGES" TO "DEPLOYMENT_MANAGER";
1747
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGES" TO "DEPLOYMENT_MANAGER";
1748
  GRANT INSERT ON "RELEASE_MANAGER"."PACKAGES" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 1749
  GRANT DELETE ON "RELEASE_MANAGER"."PACKAGES" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1750
--------------------------------------------------------
1751
--  DDL for Table PACKAGE_BUILD_ENV
1752
--------------------------------------------------------
1753
 
5172 dpurdie 1754
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" 
4040 dpurdie 1755
   (	"PV_ID" NUMBER, 
1756
	"BE_ID" NUMBER, 
1757
	"BUILD_TYPE" NUMBER
5172 dpurdie 1758
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1759
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1760
 NOCOMPRESS LOGGING
5172 dpurdie 1761
  STORAGE(INITIAL 5242880 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1762
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1763
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1764
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1765
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" TO "RM_READONLY";
1766
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" TO "MS_READONLY";
5892 dpurdie 1767
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" TO "DM_READONLY";
1768
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" TO "RELEASE_MANAGER_READ";
6031 dpurdie 1769
  GRANT UPDATE ON "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" TO "DEPLOYMENT_MANAGER";
1770
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" TO "DEPLOYMENT_MANAGER";
1771
  GRANT INSERT ON "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 1772
  GRANT DELETE ON "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1773
--------------------------------------------------------
1774
--  DDL for Table PACKAGE_BUILD_INFO
1775
--------------------------------------------------------
1776
 
5172 dpurdie 1777
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" 
4040 dpurdie 1778
   (	"PV_ID" NUMBER, 
1779
	"BM_ID" NUMBER, 
1780
	"BSA_ID" NUMBER
5172 dpurdie 1781
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1782
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1783
 NOCOMPRESS LOGGING
5172 dpurdie 1784
  STORAGE(INITIAL 5242880 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1785
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1786
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1787
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1788
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" TO "RM_READONLY";
1789
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" TO "MS_READONLY";
5892 dpurdie 1790
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" TO "DM_READONLY";
6999 dpurdie 1791
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1792
--------------------------------------------------------
1793
--  DDL for Table PACKAGE_DEPENDENCIES
1794
--------------------------------------------------------
1795
 
5172 dpurdie 1796
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" 
4040 dpurdie 1797
   (	"PV_ID" NUMBER, 
1798
	"DPV_ID" NUMBER, 
1799
	"PKG_ID" NUMBER, 
1800
	"DPKG_ID" NUMBER, 
5172 dpurdie 1801
	"BUILD_TYPE" CHAR(1 BYTE), 
4040 dpurdie 1802
	"DISPLAY_ORDER" NUMBER
5172 dpurdie 1803
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1804
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1805
 NOCOMPRESS LOGGING
5172 dpurdie 1806
  STORAGE(INITIAL 100663296 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1807
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1808
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 1809
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5384 dpurdie 1810
 
1811
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES"."PV_ID" IS 'Package Version Identifier';
1812
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES"."DPV_ID" IS 'Depends on this package version';
1813
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES"."BUILD_TYPE" IS 'B:BuildPkgArchive, L:LinkPkgArchive';
6031 dpurdie 1814
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" TO "RM_READONLY";
1815
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" TO "MS_READONLY";
5892 dpurdie 1816
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" TO "DM_READONLY";
1817
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" TO "RELEASE_MANAGER_READ";
6999 dpurdie 1818
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1819
--------------------------------------------------------
1820
--  DDL for Table PACKAGE_DOCUMENTS
1821
--------------------------------------------------------
1822
 
5172 dpurdie 1823
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" 
4040 dpurdie 1824
   (	"PV_ID" NUMBER, 
1825
	"TEST_ID" NUMBER, 
1826
	"DOC_ID" NUMBER, 
5172 dpurdie 1827
	"DOC_NUM" VARCHAR2(50 BYTE), 
1828
	"IS_LATEST" CHAR(1 BYTE)
1829
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1830
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1831
 NOCOMPRESS LOGGING
5172 dpurdie 1832
  STORAGE(INITIAL 2097152 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1833
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1834
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1835
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1836
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" TO "RM_READONLY";
1837
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" TO "MS_READONLY";
5892 dpurdie 1838
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" TO "DM_READONLY";
6999 dpurdie 1839
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" TO "RELEASE_MANAGER_READ";
4040 dpurdie 1840
--------------------------------------------------------
1841
--  DDL for Table PACKAGE_INTEREST
1842
--------------------------------------------------------
1843
 
5172 dpurdie 1844
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_INTEREST" 
4040 dpurdie 1845
   (	"PKG_ID" NUMBER, 
1846
	"PROJ_ID" NUMBER, 
1847
	"USER_ID" NUMBER
5172 dpurdie 1848
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1849
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1850
 NOCOMPRESS LOGGING
5172 dpurdie 1851
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1852
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1853
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1854
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1855
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_INTEREST" TO "RM_READONLY";
1856
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_INTEREST" TO "MS_READONLY";
6999 dpurdie 1857
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_INTEREST" TO "DM_READONLY";
4040 dpurdie 1858
--------------------------------------------------------
1859
--  DDL for Table PACKAGE_METRICS
1860
--------------------------------------------------------
1861
 
5172 dpurdie 1862
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_METRICS" 
4040 dpurdie 1863
   (	"PV_ID" NUMBER, 
1864
	"BRANCHES" NUMBER, 
5172 dpurdie 1865
	"BRANCH_LIST" VARCHAR2(4000 BYTE), 
4040 dpurdie 1866
	"CODE_FILES" NUMBER, 
1867
	"IGNORED_FILES" NUMBER, 
1868
	"DIRECTORIES" NUMBER, 
1869
	"DIRECTORY_DEPTH" NUMBER, 
1870
	"TOTAL_FILES" NUMBER, 
1871
	"MAKEFILES" NUMBER, 
1872
	"BLANK_LINES" NUMBER, 
1873
	"CODE_LINES" NUMBER, 
1874
	"COMMENT_LINES" NUMBER, 
1875
	"CREATED_STAMP" DATE
5172 dpurdie 1876
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1877
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1878
 NOCOMPRESS LOGGING
5172 dpurdie 1879
  STORAGE(INITIAL 12582912 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1880
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1881
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1882
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1883
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_METRICS" TO "RM_READONLY";
1884
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_METRICS" TO "MS_READONLY";
6999 dpurdie 1885
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_METRICS" TO "DM_READONLY";
4040 dpurdie 1886
--------------------------------------------------------
1887
--  DDL for Table PACKAGE_PATCHES
1888
--------------------------------------------------------
1889
 
5172 dpurdie 1890
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_PATCHES" 
4040 dpurdie 1891
   (	"PV_ID" NUMBER, 
1892
	"PATCH_ID" NUMBER, 
1893
	"INSTALL_ORDER" NUMBER, 
1894
	"PATCH_OBSOLETED_BY" NUMBER
5172 dpurdie 1895
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1896
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1897
 NOCOMPRESS LOGGING
5172 dpurdie 1898
  STORAGE(INITIAL 327680 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1899
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1900
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1901
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1902
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_PATCHES" TO "RM_READONLY";
1903
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_PATCHES" TO "MS_READONLY";
5892 dpurdie 1904
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_PATCHES" TO "DM_READONLY";
1905
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_PATCHES" TO "RELEASE_MANAGER_READ";
6999 dpurdie 1906
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_PATCHES" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1907
--------------------------------------------------------
1908
--  DDL for Table PACKAGE_PROCESSES
1909
--------------------------------------------------------
1910
 
5172 dpurdie 1911
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_PROCESSES" 
4040 dpurdie 1912
   (	"PV_ID" NUMBER, 
1913
	"PROC_ID" NUMBER
5172 dpurdie 1914
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1915
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1916
 NOCOMPRESS LOGGING
5172 dpurdie 1917
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1918
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1919
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
1920
  TABLESPACE "RELEASE_MANAGER_DATA" ;
1921
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_PROCESSES" TO "RM_READONLY";
1922
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_PROCESSES" TO "MS_READONLY";
5892 dpurdie 1923
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_PROCESSES" TO "DM_READONLY";
6031 dpurdie 1924
  GRANT UPDATE ON "RELEASE_MANAGER"."PACKAGE_PROCESSES" TO "DEPLOYMENT_MANAGER";
1925
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_PROCESSES" TO "DEPLOYMENT_MANAGER";
1926
  GRANT INSERT ON "RELEASE_MANAGER"."PACKAGE_PROCESSES" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 1927
  GRANT DELETE ON "RELEASE_MANAGER"."PACKAGE_PROCESSES" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1928
--------------------------------------------------------
1929
--  DDL for Table PACKAGE_VERSIONS
1930
--------------------------------------------------------
1931
 
5172 dpurdie 1932
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" 
4040 dpurdie 1933
   (	"PV_ID" NUMBER, 
1934
	"PKG_ID" NUMBER, 
5172 dpurdie 1935
	"PKG_VERSION" VARCHAR2(50 BYTE), 
1936
	"DLOCKED" CHAR(1 BYTE), 
4040 dpurdie 1937
	"RELEASED_AT" NUMBER, 
1938
	"MODIFIED_STAMP" DATE, 
1939
	"MODIFIER_ID" NUMBER, 
1940
	"CREATED_STAMP" DATE, 
1941
	"CREATOR_ID" NUMBER, 
5172 dpurdie 1942
	"COMMENTS" VARCHAR2(4000 BYTE), 
1943
	"V_MM" VARCHAR2(50 BYTE), 
1944
	"V_NMM" VARCHAR2(50 BYTE), 
1945
	"V_EXT" VARCHAR2(50 BYTE), 
1946
	"PKG_LABEL" VARCHAR2(60 BYTE), 
1947
	"SRC_PATH" VARCHAR2(2000 BYTE), 
1948
	"PV_DESCRIPTION" VARCHAR2(4000 BYTE), 
4040 dpurdie 1949
	"OWNER_ID" NUMBER, 
5172 dpurdie 1950
	"PV_OVERVIEW" VARCHAR2(4000 BYTE), 
1951
	"IS_PATCH" CHAR(1 BYTE), 
4040 dpurdie 1952
	"LAST_PV_ID" NUMBER, 
5172 dpurdie 1953
	"RELEASE_NOTES_INFO" VARCHAR2(1000 BYTE), 
1954
	"IS_DEPLOYABLE" CHAR(1 BYTE), 
1955
	"IS_BUILD_ENV_REQUIRED" CHAR(1 BYTE), 
1956
	"IS_OBSOLETE" CHAR(1 BYTE), 
1957
	"OBSOLETE_COMMENTS" VARCHAR2(4000 BYTE), 
1958
	"BUILD_TYPE" CHAR(1 BYTE), 
1959
	"CHANGE_TYPE" CHAR(1 BYTE), 
1960
	"LINK" VARCHAR2(4000 BYTE), 
1961
	"PATCH_ELECTRONIC_NAME" VARCHAR2(4000 BYTE), 
4040 dpurdie 1962
	"BS_ID" NUMBER, 
5172 dpurdie 1963
	"IS_AUTOBUILDABLE" CHAR(1 BYTE), 
1964
	"SBOM_PRIORITY" CHAR(1 BYTE), 
4040 dpurdie 1965
	"RIPPLE_FIELD" CHAR(1 CHAR), 
1966
	"MAXIMUM_BUILD_TIME" NUMBER, 
5892 dpurdie 1967
	"BUILD_TIME" NUMBER, 
4040 dpurdie 1968
	"MAJOR_LIMIT" NUMBER(10,0), 
1969
	"MINOR_LIMIT" NUMBER(10,0), 
1970
	"PATCH_LIMIT" NUMBER(10,0), 
1971
	"BUILD_NUMBER_LIMIT" NUMBER(10,0), 
5384 dpurdie 1972
	"VCS_TYPE_ID" NUMBER, 
1973
	"PKG_IDEXT" VARCHAR2(70 BYTE)
5172 dpurdie 1974
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 1975
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
1976
 NOCOMPRESS LOGGING
5172 dpurdie 1977
  STORAGE(INITIAL 134217728 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 1978
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
1979
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 1980
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 1981
 
1982
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGE_VERSIONS"."RELEASED_AT" IS 'No longer used';
6999 dpurdie 1983
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGE_VERSIONS"."OWNER_ID" IS 'Copied from previous version. Set on ''Make Pending'' - you touched it you own it.';
5892 dpurdie 1984
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGE_VERSIONS"."IS_DEPLOYABLE" IS 'null:No, NonNull:Yes Y:Yes';
6031 dpurdie 1985
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGE_VERSIONS"."BUILD_TYPE" IS 'A:Auto, M:Manual, U:UnBuildable';
5892 dpurdie 1986
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGE_VERSIONS"."IS_AUTOBUILDABLE" IS 'Y: Indicates that the package has been built on a build machine';
1987
   COMMENT ON COLUMN "RELEASE_MANAGER"."PACKAGE_VERSIONS"."BUILD_TIME" IS 'Duration of last build';
6031 dpurdie 1988
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" TO "RM_READONLY";
1989
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" TO "MS_READONLY";
5892 dpurdie 1990
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" TO "DM_READONLY";
1991
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" TO "RELEASE_MANAGER_READ";
6031 dpurdie 1992
  GRANT UPDATE ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" TO "DEPLOYMENT_MANAGER";
1993
  GRANT SELECT ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" TO "DEPLOYMENT_MANAGER";
1994
  GRANT INSERT ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 1995
  GRANT DELETE ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 1996
--------------------------------------------------------
7340 dpurdie 1997
--  DDL for Table PACKAGE_VERSION_PLATFORMS
1998
--------------------------------------------------------
1999
 
2000
  CREATE TABLE "RELEASE_MANAGER"."PACKAGE_VERSION_PLATFORMS" 
2001
   (	"PV_ID" NUMBER, 
2002
	"BP_ID" NUMBER
2003
   ) SEGMENT CREATION IMMEDIATE 
2004
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2005
 NOCOMPRESS LOGGING
2006
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
2007
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2008
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2009
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2010
 
2011
   COMMENT ON TABLE "RELEASE_MANAGER"."PACKAGE_VERSION_PLATFORMS"  IS 'Platforms that the package version can be built for. A given build instance may not be built for all of these.';
2012
--------------------------------------------------------
4040 dpurdie 2013
--  DDL for Table PEGGED_VERSIONS
2014
--------------------------------------------------------
2015
 
5172 dpurdie 2016
  CREATE TABLE "RELEASE_MANAGER"."PEGGED_VERSIONS" 
4040 dpurdie 2017
   (	"RTAG_ID" NUMBER, 
2018
	"PV_ID" NUMBER
5172 dpurdie 2019
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2020
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2021
 NOCOMPRESS LOGGING
5172 dpurdie 2022
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2023
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2024
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2025
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2026
  GRANT SELECT ON "RELEASE_MANAGER"."PEGGED_VERSIONS" TO "RM_READONLY";
2027
  GRANT SELECT ON "RELEASE_MANAGER"."PEGGED_VERSIONS" TO "MS_READONLY";
6999 dpurdie 2028
  GRANT SELECT ON "RELEASE_MANAGER"."PEGGED_VERSIONS" TO "DM_READONLY";
4040 dpurdie 2029
--------------------------------------------------------
2030
--  DDL for Table PLANNED
2031
--------------------------------------------------------
2032
 
5172 dpurdie 2033
  CREATE TABLE "RELEASE_MANAGER"."PLANNED" 
4040 dpurdie 2034
   (	"RTAG_ID" NUMBER, 
2035
	"PV_ID" NUMBER, 
2036
	"VIEW_ID" NUMBER, 
5172 dpurdie 2037
	"OPERATION" CHAR(1 BYTE)
2038
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2039
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2040
 NOCOMPRESS LOGGING
5172 dpurdie 2041
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2042
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2043
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2044
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 2045
 
2046
   COMMENT ON COLUMN "RELEASE_MANAGER"."PLANNED"."OPERATION" IS 'A: Add existing version.
2047
 
6031 dpurdie 2048
S:Subtract existing Version.
5172 dpurdie 2049
 
2050
R:Add New Version';
2051
   COMMENT ON TABLE "RELEASE_MANAGER"."PLANNED"  IS 'This table contains WORK IN PROGRESS packages';
6031 dpurdie 2052
  GRANT SELECT ON "RELEASE_MANAGER"."PLANNED" TO "RM_READONLY";
2053
  GRANT SELECT ON "RELEASE_MANAGER"."PLANNED" TO "MS_READONLY";
5892 dpurdie 2054
  GRANT SELECT ON "RELEASE_MANAGER"."PLANNED" TO "DM_READONLY";
2055
  GRANT SELECT ON "RELEASE_MANAGER"."PLANNED" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2056
  GRANT SELECT ON "RELEASE_MANAGER"."PLANNED" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2057
--------------------------------------------------------
2058
--  DDL for Table PLANNED_VERSIONS
2059
--------------------------------------------------------
2060
 
5172 dpurdie 2061
  CREATE TABLE "RELEASE_MANAGER"."PLANNED_VERSIONS" 
4040 dpurdie 2062
   (	"PKG_ID" NUMBER, 
5172 dpurdie 2063
	"PKG_VERSION" VARCHAR2(50 BYTE), 
4040 dpurdie 2064
	"PLANNED_TIME" DATE
5172 dpurdie 2065
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2066
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2067
 NOCOMPRESS LOGGING
5172 dpurdie 2068
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2069
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2070
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2071
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2072
  GRANT SELECT ON "RELEASE_MANAGER"."PLANNED_VERSIONS" TO "RM_READONLY";
2073
  GRANT SELECT ON "RELEASE_MANAGER"."PLANNED_VERSIONS" TO "MS_READONLY";
6999 dpurdie 2074
  GRANT SELECT ON "RELEASE_MANAGER"."PLANNED_VERSIONS" TO "DM_READONLY";
4040 dpurdie 2075
--------------------------------------------------------
2076
--  DDL for Table PLATFORMS
2077
--------------------------------------------------------
2078
 
5172 dpurdie 2079
  CREATE TABLE "RELEASE_MANAGER"."PLATFORMS" 
4040 dpurdie 2080
   (	"CODE" NUMBER, 
5172 dpurdie 2081
	"NAME" VARCHAR2(255 BYTE)
2082
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2083
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2084
 NOCOMPRESS LOGGING
5172 dpurdie 2085
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2086
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2087
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2088
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2089
  GRANT SELECT ON "RELEASE_MANAGER"."PLATFORMS" TO "RM_READONLY";
2090
  GRANT SELECT ON "RELEASE_MANAGER"."PLATFORMS" TO "MS_READONLY";
5892 dpurdie 2091
  GRANT SELECT ON "RELEASE_MANAGER"."PLATFORMS" TO "DM_READONLY";
2092
  GRANT SELECT ON "RELEASE_MANAGER"."PLATFORMS" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2093
  GRANT SELECT ON "RELEASE_MANAGER"."PLATFORMS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2094
--------------------------------------------------------
2095
--  DDL for Table PROCESSES
2096
--------------------------------------------------------
2097
 
5172 dpurdie 2098
  CREATE TABLE "RELEASE_MANAGER"."PROCESSES" 
4040 dpurdie 2099
   (	"PROC_ID" NUMBER, 
5172 dpurdie 2100
	"PROC_NAME" VARCHAR2(255 BYTE), 
2101
	"PROC_DESCRIPTION" VARCHAR2(255 BYTE), 
2102
	"RUN_AS" VARCHAR2(255 BYTE), 
2103
	"PKG_OWNER" VARCHAR2(4000 BYTE), 
2104
	"IS_INTERFACE" CHAR(1 BYTE)
2105
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2106
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2107
 NOCOMPRESS LOGGING
5172 dpurdie 2108
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2109
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2110
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2111
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2112
  GRANT SELECT ON "RELEASE_MANAGER"."PROCESSES" TO "RM_READONLY";
2113
  GRANT SELECT ON "RELEASE_MANAGER"."PROCESSES" TO "MS_READONLY";
5892 dpurdie 2114
  GRANT SELECT ON "RELEASE_MANAGER"."PROCESSES" TO "DM_READONLY";
2115
  GRANT SELECT ON "RELEASE_MANAGER"."PROCESSES" TO "RELEASE_MANAGER_READ";
6031 dpurdie 2116
  GRANT UPDATE ON "RELEASE_MANAGER"."PROCESSES" TO "DEPLOYMENT_MANAGER";
2117
  GRANT SELECT ON "RELEASE_MANAGER"."PROCESSES" TO "DEPLOYMENT_MANAGER";
2118
  GRANT INSERT ON "RELEASE_MANAGER"."PROCESSES" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 2119
  GRANT DELETE ON "RELEASE_MANAGER"."PROCESSES" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2120
--------------------------------------------------------
2121
--  DDL for Table PRODUCT_COMPONENTS
2122
--------------------------------------------------------
2123
 
5172 dpurdie 2124
  CREATE TABLE "RELEASE_MANAGER"."PRODUCT_COMPONENTS" 
4040 dpurdie 2125
   (	"PV_ID" NUMBER, 
2126
	"OS_ID" NUMBER, 
5172 dpurdie 2127
	"FILE_PATH" VARCHAR2(4000 BYTE), 
2128
	"FILE_NAME" VARCHAR2(4000 BYTE), 
2129
	"DESTINATION_PATH" VARCHAR2(4000 BYTE), 
4040 dpurdie 2130
	"BYTE_SIZE" NUMBER, 
5172 dpurdie 2131
	"CRC_CKSUM" VARCHAR2(2000 BYTE)
2132
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2133
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2134
 NOCOMPRESS LOGGING
5172 dpurdie 2135
  STORAGE(INITIAL 31457280 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2136
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2137
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2138
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2139
  GRANT SELECT ON "RELEASE_MANAGER"."PRODUCT_COMPONENTS" TO "RM_READONLY";
2140
  GRANT SELECT ON "RELEASE_MANAGER"."PRODUCT_COMPONENTS" TO "MS_READONLY";
5892 dpurdie 2141
  GRANT SELECT ON "RELEASE_MANAGER"."PRODUCT_COMPONENTS" TO "DM_READONLY";
2142
  GRANT SELECT ON "RELEASE_MANAGER"."PRODUCT_COMPONENTS" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2143
  GRANT SELECT ON "RELEASE_MANAGER"."PRODUCT_COMPONENTS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2144
--------------------------------------------------------
2145
--  DDL for Table PRODUCT_STATES
2146
--------------------------------------------------------
2147
 
5172 dpurdie 2148
  CREATE TABLE "RELEASE_MANAGER"."PRODUCT_STATES" 
4040 dpurdie 2149
   (	"STATE_ID" NUMBER, 
5172 dpurdie 2150
	"STATE" VARCHAR2(4000 BYTE)
2151
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2152
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2153
 NOCOMPRESS LOGGING
5172 dpurdie 2154
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2155
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2156
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2157
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2158
  GRANT SELECT ON "RELEASE_MANAGER"."PRODUCT_STATES" TO "RM_READONLY";
2159
  GRANT SELECT ON "RELEASE_MANAGER"."PRODUCT_STATES" TO "MS_READONLY";
6999 dpurdie 2160
  GRANT SELECT ON "RELEASE_MANAGER"."PRODUCT_STATES" TO "DM_READONLY";
4040 dpurdie 2161
--------------------------------------------------------
2162
--  DDL for Table PROJECTS
2163
--------------------------------------------------------
2164
 
5172 dpurdie 2165
  CREATE TABLE "RELEASE_MANAGER"."PROJECTS" 
4040 dpurdie 2166
   (	"PROJ_ID" NUMBER, 
5172 dpurdie 2167
	"PROJ_NAME" VARCHAR2(50 BYTE), 
2168
	"BASE_URL" VARCHAR2(4000 BYTE), 
2169
	"JIRA_KEY" VARCHAR2(16 BYTE)
2170
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2171
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2172
 NOCOMPRESS LOGGING
5172 dpurdie 2173
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2174
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2175
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2176
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2177
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECTS" TO "RM_READONLY";
2178
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECTS" TO "MS_READONLY";
5892 dpurdie 2179
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECTS" TO "DM_READONLY";
2180
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECTS" TO "RELEASE_MANAGER_READ";
2181
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECTS" TO "DEPLOYMENT_MANAGER_READ";
6031 dpurdie 2182
  GRANT UPDATE ON "RELEASE_MANAGER"."PROJECTS" TO "DEPLOYMENT_MANAGER";
2183
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECTS" TO "DEPLOYMENT_MANAGER";
2184
  GRANT INSERT ON "RELEASE_MANAGER"."PROJECTS" TO "DEPLOYMENT_MANAGER";
2185
  GRANT DELETE ON "RELEASE_MANAGER"."PROJECTS" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 2186
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECTS" TO "ACCESS_MANAGER";
4040 dpurdie 2187
--------------------------------------------------------
2188
--  DDL for Table PROJECT_ACTION_LOG
2189
--------------------------------------------------------
2190
 
5172 dpurdie 2191
  CREATE TABLE "RELEASE_MANAGER"."PROJECT_ACTION_LOG" 
4040 dpurdie 2192
   (	"USER_ID" NUMBER, 
2193
	"ACTION_DATETIME" DATE, 
2194
	"PROJ_ID" NUMBER, 
5172 dpurdie 2195
	"DESCRIPTION" VARCHAR2(4000 BYTE), 
4040 dpurdie 2196
	"ACTTYPE_ID" NUMBER, 
2197
	"RTAG_ID" NUMBER
5172 dpurdie 2198
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2199
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2200
 NOCOMPRESS LOGGING
5172 dpurdie 2201
  STORAGE(INITIAL 851968 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2202
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2203
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2204
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2205
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECT_ACTION_LOG" TO "RM_READONLY";
2206
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECT_ACTION_LOG" TO "MS_READONLY";
5892 dpurdie 2207
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECT_ACTION_LOG" TO "DM_READONLY";
6999 dpurdie 2208
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECT_ACTION_LOG" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2209
--------------------------------------------------------
2210
--  DDL for Table PROJECT_EXTENTIONS
2211
--------------------------------------------------------
2212
 
5172 dpurdie 2213
  CREATE TABLE "RELEASE_MANAGER"."PROJECT_EXTENTIONS" 
4040 dpurdie 2214
   (	"PROJ_ID" NUMBER, 
5172 dpurdie 2215
	"EXT_NAME" VARCHAR2(10 BYTE), 
2216
	"UCOMMENT" VARCHAR2(120 BYTE), 
2217
	"IS_VISIBLE" CHAR(1 BYTE) DEFAULT 'Y', 
2218
	"IS_COTS" CHAR(1 BYTE) DEFAULT 'N'
2219
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2220
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2221
 NOCOMPRESS LOGGING
5172 dpurdie 2222
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2223
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2224
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2225
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2226
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECT_EXTENTIONS" TO "RM_READONLY";
2227
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECT_EXTENTIONS" TO "MS_READONLY";
5892 dpurdie 2228
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECT_EXTENTIONS" TO "DM_READONLY";
2229
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECT_EXTENTIONS" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2230
  GRANT SELECT ON "RELEASE_MANAGER"."PROJECT_EXTENTIONS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2231
--------------------------------------------------------
2232
--  DDL for Table RELEASE_COMPONENTS
2233
--------------------------------------------------------
2234
 
5172 dpurdie 2235
  CREATE TABLE "RELEASE_MANAGER"."RELEASE_COMPONENTS" 
4040 dpurdie 2236
   (	"PV_ID" NUMBER, 
5172 dpurdie 2237
	"FILE_NAME" VARCHAR2(255 BYTE), 
2238
	"FILE_PATH" VARCHAR2(2000 BYTE), 
4040 dpurdie 2239
	"BYTE_SIZE" NUMBER, 
5172 dpurdie 2240
	"CRC_CKSUM" VARCHAR2(50 BYTE), 
2241
	"CRC_MODCRC" VARCHAR2(50 BYTE)
2242
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2243
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2244
 NOCOMPRESS LOGGING
5172 dpurdie 2245
  STORAGE(INITIAL 2828009472 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2246
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2247
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2248
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2249
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_COMPONENTS" TO "RM_READONLY";
2250
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_COMPONENTS" TO "MS_READONLY";
5892 dpurdie 2251
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_COMPONENTS" TO "DM_READONLY";
6999 dpurdie 2252
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_COMPONENTS" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2253
--------------------------------------------------------
2254
--  DDL for Table RELEASE_CONFIG
2255
--------------------------------------------------------
2256
 
5172 dpurdie 2257
  CREATE TABLE "RELEASE_MANAGER"."RELEASE_CONFIG" 
4040 dpurdie 2258
   (	"RCON_ID" NUMBER, 
2259
	"RTAG_ID" NUMBER, 
2260
	"GBE_ID" NUMBER, 
5172 dpurdie 2261
	"DAEMON_HOSTNAME" VARCHAR2(50 BYTE), 
4040 dpurdie 2262
	"DAEMON_MODE" CHAR(1 CHAR), 
5172 dpurdie 2263
	"GBE_BUILDFILTER" VARCHAR2(255 BYTE), 
4308 dpurdie 2264
	"BMCON_ID" NUMBER
5172 dpurdie 2265
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2266
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2267
 NOCOMPRESS LOGGING
5172 dpurdie 2268
  STORAGE(INITIAL 196608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2269
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2270
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2271
  TABLESPACE "RELEASE_MANAGER_DATA" ;
4308 dpurdie 2272
 
5172 dpurdie 2273
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_CONFIG"."GBE_ID" IS 'Do not use. Data should come from build_machine_config';
2274
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_CONFIG"."DAEMON_HOSTNAME" IS 'Do not use. Data should come from build_machine_config';
2275
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_CONFIG"."BMCON_ID" IS 'Link to the build_machine_config table';
6031 dpurdie 2276
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_CONFIG" TO "RM_READONLY";
2277
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_CONFIG" TO "MS_READONLY";
5892 dpurdie 2278
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_CONFIG" TO "DM_READONLY";
6999 dpurdie 2279
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_CONFIG" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2280
--------------------------------------------------------
2281
--  DDL for Table RELEASE_CONTENT
2282
--------------------------------------------------------
2283
 
5172 dpurdie 2284
  CREATE TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" 
4040 dpurdie 2285
   (	"RTAG_ID" NUMBER, 
2286
	"PV_ID" NUMBER, 
2287
	"BASE_VIEW_ID" NUMBER, 
2288
	"INSERT_STAMP" DATE, 
2289
	"INSERTOR_ID" NUMBER, 
2290
	"PKG_STATE" NUMBER, 
2291
	"PKG_ID" NUMBER, 
2292
	"DEPRECATED_STATE" NUMBER, 
5172 dpurdie 2293
	"PRODUCT_STATE" NUMBER, 
6600 dpurdie 2294
	"SDKTAG_ID" NUMBER, 
2295
	"RIPPLE_STOP" CHAR(1 BYTE), 
2296
	"PERSIST_RIPPLE_STOP" CHAR(1 BYTE)
5172 dpurdie 2297
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2298
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2299
 NOCOMPRESS LOGGING
5172 dpurdie 2300
  STORAGE(INITIAL 11534336 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2301
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2302
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2303
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 2304
 
5384 dpurdie 2305
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_CONTENT"."PKG_ID" IS 'NotUsed any more. Was:Package that has been deprecated';
5172 dpurdie 2306
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_CONTENT"."DEPRECATED_STATE" IS '6: Deprecated Package, 7: Deprecated Dependent';
2307
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_CONTENT"."SDKTAG_ID" IS 'Pkg imported via SDK';
6600 dpurdie 2308
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_CONTENT"."RIPPLE_STOP" IS 's: Stop Ripple, w:Wait for Reset, g:GoBuild';
2309
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_CONTENT"."PERSIST_RIPPLE_STOP" IS 'Null:No';
6031 dpurdie 2310
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_CONTENT" TO "RM_READONLY";
2311
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_CONTENT" TO "MS_READONLY";
5892 dpurdie 2312
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_CONTENT" TO "DM_READONLY";
2313
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_CONTENT" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2314
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_CONTENT" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2315
--------------------------------------------------------
2316
--  DDL for Table RELEASE_LINKS
2317
--------------------------------------------------------
2318
 
5172 dpurdie 2319
  CREATE TABLE "RELEASE_MANAGER"."RELEASE_LINKS" 
4040 dpurdie 2320
   (	"RTAG_ID" NUMBER, 
2321
	"REF_RTAG_ID" NUMBER
5172 dpurdie 2322
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2323
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2324
 NOCOMPRESS LOGGING
5172 dpurdie 2325
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2326
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2327
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2328
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2329
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_LINKS" TO "RM_READONLY";
2330
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_LINKS" TO "MS_READONLY";
5892 dpurdie 2331
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_LINKS" TO "DM_READONLY";
6999 dpurdie 2332
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_LINKS" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2333
--------------------------------------------------------
2334
--  DDL for Table RELEASE_METRICS
2335
--------------------------------------------------------
2336
 
5172 dpurdie 2337
  CREATE TABLE "RELEASE_MANAGER"."RELEASE_METRICS" 
4040 dpurdie 2338
   (	"RTAG_ID" NUMBER, 
2339
	"TOTAL_PACKAGES" NUMBER, 
2340
	"AUTOBUILT" NUMBER, 
2341
	"LINES_OF_CODE" NUMBER, 
2342
	"UNIT_TESTED" NUMBER, 
2343
	"AUTOTESTED" NUMBER, 
2344
	"BRANCHES" NUMBER, 
2345
	"LAST_BUILD_TIME" DATE
5172 dpurdie 2346
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2347
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2348
 NOCOMPRESS LOGGING
5172 dpurdie 2349
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2350
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2351
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2352
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2353
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_METRICS" TO "RM_READONLY";
2354
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_METRICS" TO "MS_READONLY";
6999 dpurdie 2355
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_METRICS" TO "DM_READONLY";
2356
--------------------------------------------------------
2357
--  DDL for Table RELEASE_MODIFIED
2358
--------------------------------------------------------
5172 dpurdie 2359
 
2360
  CREATE TABLE "RELEASE_MANAGER"."RELEASE_MODIFIED" 
2361
   (	"RTAG_ID" NUMBER, 
2362
	"TIMESTAMP" TIMESTAMP (6) DEFAULT CURRENT_TIMESTAMP, 
2363
	"SEQNUM" NUMBER
2364
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2365
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2366
 NOCOMPRESS LOGGING
5172 dpurdie 2367
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2368
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2369
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2370
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 2371
 
2372
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_MODIFIED"."RTAG_ID" IS 'Link to Release';
2373
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_MODIFIED"."TIMESTAMP" IS 'Time of the modification';
2374
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_MODIFIED"."SEQNUM" IS 'Unique number indicating change';
2375
   COMMENT ON TABLE "RELEASE_MANAGER"."RELEASE_MODIFIED"  IS 'This table conatins a single entry for each RELEASE_TAG.
2376
It is used by the build system to help detect changes to the content of a Release.
2377
A stored proceedure simplifies the use of this table: PK_RELEASE.SET_RELEASE_MODIFIED
2378
 
2379
This should be called whenever the package_versions in the release have changed in such
2380
a manner that the build daemons should examine the release. This includes:
2381
 - Packages added and removed
2382
 - Packages build status changed (re-included in the release )
6999 dpurdie 2383
 - Packages made Pending Build';
4040 dpurdie 2384
--------------------------------------------------------
2385
--  DDL for Table RELEASE_TAGS
2386
--------------------------------------------------------
2387
 
5172 dpurdie 2388
  CREATE TABLE "RELEASE_MANAGER"."RELEASE_TAGS" 
4040 dpurdie 2389
   (	"RTAG_ID" NUMBER, 
2390
	"VTREE_ID" NUMBER, 
5172 dpurdie 2391
	"RTAG_NAME" VARCHAR2(50 BYTE), 
2392
	"DESCRIPTION" VARCHAR2(4000 BYTE), 
4040 dpurdie 2393
	"CREATED_STAMP" DATE, 
2394
	"CREATOR_ID" NUMBER, 
2395
	"OFFICIAL_STAMP" DATE, 
2396
	"RELEASOR_ID" NUMBER, 
5172 dpurdie 2397
	"OFFICIAL" CHAR(1 BYTE), 
2398
	"REBUILD_ENV" CHAR(1 BYTE), 
4040 dpurdie 2399
	"REBUILD_STAMP" NUMBER, 
5172 dpurdie 2400
	"RTAG_VERSION" VARCHAR2(4000 BYTE), 
4040 dpurdie 2401
	"RTAG_LIFE_CYCLE" NUMBER, 
2402
	"PARENT_RTAG_ID" NUMBER, 
2403
	"PROJ_ID" NUMBER, 
2404
	"DISPLAY_ORDER" NUMBER, 
5172 dpurdie 2405
	"OWNER_EMAIL" VARCHAR2(1000 BYTE), 
4040 dpurdie 2406
	"ASSOC_MASS_REF" NUMBER, 
5172 dpurdie 2407
	"OWNER_PERSONAL_EMAIL" VARCHAR2(1000 BYTE), 
2408
	"CONFIG_SPEC_BRANCH" VARCHAR2(4000 BYTE), 
2409
	"PRODUCT_STATE_USED" CHAR(1 BYTE), 
2410
	"OFFICIAL_ID" NUMBER, 
5384 dpurdie 2411
	"BUILD_AGE" NUMBER DEFAULT 31, 
7340 dpurdie 2412
	"LXR" CHAR(1 BYTE) DEFAULT 'N', 
2413
	"PLAN_THRESHOLD" NUMBER DEFAULT 20, 
2414
	"PLAN_DROP" CHAR(1 BYTE) DEFAULT 'N'
5172 dpurdie 2415
   ) SEGMENT CREATION IMMEDIATE 
6999 dpurdie 2416
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
6031 dpurdie 2417
 NOCOMPRESS LOGGING
6999 dpurdie 2418
  STORAGE(INITIAL 262144 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2419
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
6999 dpurdie 2420
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2421
  TABLESPACE "RELEASE_MANAGER_DATA" ;
4040 dpurdie 2422
 
5384 dpurdie 2423
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."CREATED_STAMP" IS 'Date Release was created';
2424
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."CREATOR_ID" IS 'User who created the release';
2425
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."OFFICIAL_STAMP" IS 'Date OFFICIAL state was changed';
2426
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."RELEASOR_ID" IS 'Not Used';
2427
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."OFFICIAL" IS 'State of release. A:Archived, Y:Closed, C:CCB Mode, R:Restricted, N: Open';
2428
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."REBUILD_ENV" IS 'Y: Rebuild Package State';
2429
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."REBUILD_STAMP" IS 'Not used ?';
2430
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."OFFICIAL_ID" IS 'User last changed OFFICIAL state';
5172 dpurdie 2431
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."BUILD_AGE" IS 'Days without building before warning is shown';
5384 dpurdie 2432
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."LXR" IS 'Y:Enable LXR';
7340 dpurdie 2433
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."PLAN_THRESHOLD" IS 'Controls the build plan . Values 0:20:100';
2434
   COMMENT ON COLUMN "RELEASE_MANAGER"."RELEASE_TAGS"."PLAN_DROP" IS 'Plan Drop request.';
6999 dpurdie 2435
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_TAGS" TO "RM_READONLY";
5892 dpurdie 2436
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_TAGS" TO "MS_READONLY";
6031 dpurdie 2437
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_TAGS" TO "DM_READONLY";
5892 dpurdie 2438
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_TAGS" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2439
  GRANT SELECT ON "RELEASE_MANAGER"."RELEASE_TAGS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2440
--------------------------------------------------------
6031 dpurdie 2441
--  DDL for Table RM_PACKAGE_ISSUES_DELETE_ME
4040 dpurdie 2442
--------------------------------------------------------
2443
 
6031 dpurdie 2444
  CREATE TABLE "RELEASE_MANAGER"."RM_PACKAGE_ISSUES_DELETE_ME" 
4040 dpurdie 2445
   (	"PKG_ID" NUMBER, 
5172 dpurdie 2446
	"PKG_NAME" VARCHAR2(50 BYTE), 
4040 dpurdie 2447
	"PV_ID" NUMBER, 
5172 dpurdie 2448
	"PKG_VERSION" VARCHAR2(50 BYTE), 
4040 dpurdie 2449
	"DPV_ID" NUMBER, 
5172 dpurdie 2450
	"DPKG_NAME" VARCHAR2(50 BYTE), 
2451
	"DPKG_VERSION" VARCHAR2(50 BYTE), 
4040 dpurdie 2452
	"ISS_DB" NUMBER, 
2453
	"ISS_ID" NUMBER
5172 dpurdie 2454
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2455
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2456
 NOCOMPRESS LOGGING
5172 dpurdie 2457
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2458
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2459
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2460
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2461
  GRANT SELECT ON "RELEASE_MANAGER"."RM_PACKAGE_ISSUES_DELETE_ME" TO "RM_READONLY";
2462
  GRANT SELECT ON "RELEASE_MANAGER"."RM_PACKAGE_ISSUES_DELETE_ME" TO "MS_READONLY";
2463
  GRANT SELECT ON "RELEASE_MANAGER"."RM_PACKAGE_ISSUES_DELETE_ME" TO "DM_READONLY";
6999 dpurdie 2464
  GRANT SELECT ON "RELEASE_MANAGER"."RM_PACKAGE_ISSUES_DELETE_ME" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2465
--------------------------------------------------------
2466
--  DDL for Table RM_PKG_ISSUES
2467
--------------------------------------------------------
2468
 
5172 dpurdie 2469
  CREATE GLOBAL TEMPORARY TABLE "RELEASE_MANAGER"."RM_PKG_ISSUES" 
4040 dpurdie 2470
   (	"PKG_ID" NUMBER, 
5172 dpurdie 2471
	"PKG_NAME" VARCHAR2(50 BYTE), 
4040 dpurdie 2472
	"PV_ID" NUMBER, 
5172 dpurdie 2473
	"PKG_VERSION" VARCHAR2(50 BYTE), 
4040 dpurdie 2474
	"DPV_ID" NUMBER, 
5172 dpurdie 2475
	"DPKG_NAME" VARCHAR2(50 BYTE), 
2476
	"DPKG_VERSION" VARCHAR2(50 BYTE), 
4040 dpurdie 2477
	"ISS_DB" NUMBER, 
2478
	"ISS_ID" NUMBER
2479
   ) ON COMMIT PRESERVE ROWS ;
6031 dpurdie 2480
  GRANT SELECT ON "RELEASE_MANAGER"."RM_PKG_ISSUES" TO "RM_READONLY";
2481
  GRANT SELECT ON "RELEASE_MANAGER"."RM_PKG_ISSUES" TO "MS_READONLY";
5892 dpurdie 2482
  GRANT SELECT ON "RELEASE_MANAGER"."RM_PKG_ISSUES" TO "DM_READONLY";
6999 dpurdie 2483
  GRANT SELECT ON "RELEASE_MANAGER"."RM_PKG_ISSUES" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2484
--------------------------------------------------------
2485
--  DDL for Table RUNTIME_DEPENDENCIES
2486
--------------------------------------------------------
2487
 
5172 dpurdie 2488
  CREATE TABLE "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" 
4040 dpurdie 2489
   (	"PV_ID" NUMBER, 
2490
	"RTD_ID" NUMBER, 
5172 dpurdie 2491
	"RTD_COMMENTS" VARCHAR2(2000 BYTE), 
2492
	"RTD_URL" VARCHAR2(2000 BYTE), 
4040 dpurdie 2493
	"MOD_DATE" DATE, 
2494
	"MOD_USER" NUMBER
5172 dpurdie 2495
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2496
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2497
 NOCOMPRESS LOGGING
5172 dpurdie 2498
  STORAGE(INITIAL 7340032 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2499
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2500
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2501
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2502
  GRANT SELECT ON "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" TO "RM_READONLY";
2503
  GRANT SELECT ON "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" TO "MS_READONLY";
5892 dpurdie 2504
  GRANT SELECT ON "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" TO "DM_READONLY";
6999 dpurdie 2505
  GRANT SELECT ON "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2506
--------------------------------------------------------
2507
--  DDL for Table RUN_LEVEL
2508
--------------------------------------------------------
2509
 
5172 dpurdie 2510
  CREATE TABLE "RELEASE_MANAGER"."RUN_LEVEL" 
4040 dpurdie 2511
   (	"RCON_ID" NUMBER, 
2512
	"CURRENT_BUILD_FILES" CLOB, 
2513
	"CURRENT_RUN_LEVEL" NUMBER, 
2514
	"PAUSE" NUMBER, 
2515
	"CURRENT_PKG_ID_BEING_BUILT" NUMBER, 
4553 dpurdie 2516
	"KEEP_ALIVE" DATE, 
2517
	"CURRENT_PV_ID" NUMBER, 
2518
	"LAST_BUILD" DATE DEFAULT sysdate
5172 dpurdie 2519
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2520
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2521
 NOCOMPRESS LOGGING
5172 dpurdie 2522
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2523
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2524
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2525
  TABLESPACE "RELEASE_MANAGER_DATA" 
5172 dpurdie 2526
 LOB ("CURRENT_BUILD_FILES") STORE AS BASICFILE (
6031 dpurdie 2527
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
5172 dpurdie 2528
  NOCACHE LOGGING 
2529
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2530
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
6999 dpurdie 2531
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;
4553 dpurdie 2532
 
5172 dpurdie 2533
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL"."RCON_ID" IS 'Link to the Release_config table';
2534
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL"."CURRENT_BUILD_FILES" IS 'The current build file. Set by the Master, consumed by the Slaves.';
7340 dpurdie 2535
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL"."CURRENT_RUN_LEVEL" IS 'Daemon indiactes its current state. 1:Cannot Continue, 2:Paused, 3:Active, 4:Idle, 5:Waiting, 6:Publishing, 7:Planning';
5172 dpurdie 2536
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL"."PAUSE" IS 'The daemon should pause at the end of the current build.Null:Run, 1:Pause, 2:Disable';
2537
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL"."CURRENT_PKG_ID_BEING_BUILT" IS 'pkg_id of the package currently being built';
2538
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL"."KEEP_ALIVE" IS 'DateTime of the last database enquiry made by the daemon. Used to locate dead daemons.';
2539
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL"."CURRENT_PV_ID" IS 'The PV_ID of the package currently being built.';
2540
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL"."LAST_BUILD" IS 'The DateTime that the last build started. This does not include dummy builds. Used to determine unused daemons.';
6031 dpurdie 2541
  GRANT SELECT ON "RELEASE_MANAGER"."RUN_LEVEL" TO "RM_READONLY";
2542
  GRANT SELECT ON "RELEASE_MANAGER"."RUN_LEVEL" TO "MS_READONLY";
6999 dpurdie 2543
  GRANT SELECT ON "RELEASE_MANAGER"."RUN_LEVEL" TO "DM_READONLY";
4040 dpurdie 2544
--------------------------------------------------------
2545
--  DDL for Table RUN_LEVEL_SCHEDULE
2546
--------------------------------------------------------
2547
 
5172 dpurdie 2548
  CREATE TABLE "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE" 
4040 dpurdie 2549
   (	"SCHEDULED_ID" NUMBER, 
2550
	"SCHEDULED_PAUSE" DATE, 
2551
	"SCHEDULED_RESUME" DATE, 
5172 dpurdie 2552
	"REPEAT" CHAR(1 BYTE), 
2553
	"INDEFINITE_PAUSE" CHAR(1 BYTE)
2554
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2555
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2556
 NOCOMPRESS LOGGING
5172 dpurdie 2557
  STORAGE(INITIAL 262144 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2558
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2559
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2560
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 2561
 
2562
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE"."SCHEDULED_ID" IS 'Unique entry identifier';
2563
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE"."SCHEDULED_PAUSE" IS 'Start DateTime of the outage';
2564
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE"."SCHEDULED_RESUME" IS 'End DateTime of the outage';
2565
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE"."REPEAT" IS '0:Once, 1:Daily, 7:Weekly';
2566
   COMMENT ON COLUMN "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE"."INDEFINITE_PAUSE" IS 'Non Null indicates indefinite pause';
6031 dpurdie 2567
  GRANT SELECT ON "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE" TO "RM_READONLY";
2568
  GRANT SELECT ON "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE" TO "MS_READONLY";
6999 dpurdie 2569
  GRANT SELECT ON "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE" TO "DM_READONLY";
2570
--------------------------------------------------------
2571
--  DDL for Table SDK_CONTENT
2572
--------------------------------------------------------
5172 dpurdie 2573
 
2574
  CREATE TABLE "RELEASE_MANAGER"."SDK_CONTENT" 
2575
   (	"SDKTAG_ID" NUMBER, 
2576
	"PV_ID" NUMBER, 
2577
	"SDKPKG_STATE" CHAR(1 BYTE) DEFAULT '-'
2578
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2579
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2580
 NOCOMPRESS LOGGING
5172 dpurdie 2581
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2582
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2583
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2584
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 2585
 
2586
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_CONTENT"."SDKTAG_ID" IS 'Ref to SDK TAG';
2587
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_CONTENT"."PV_ID" IS 'Ref to Package Versions';
6999 dpurdie 2588
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_CONTENT"."SDKPKG_STATE" IS 'Package State: -:Not exposed, E:Exposed';
2589
--------------------------------------------------------
2590
--  DDL for Table SDK_NAMES
2591
--------------------------------------------------------
5172 dpurdie 2592
 
2593
  CREATE TABLE "RELEASE_MANAGER"."SDK_NAMES" 
2594
   (	"SDK_ID" NUMBER, 
2595
	"SDK_NAME" VARCHAR2(50 BYTE), 
2596
	"SDK_COMMENT" VARCHAR2(4000 BYTE), 
2597
	"VIEW_ID" NUMBER, 
2598
	"PROJ_ID" NUMBER
2599
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2600
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2601
 NOCOMPRESS LOGGING
5172 dpurdie 2602
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2603
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2604
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2605
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 2606
 
2607
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_NAMES"."SDK_ID" IS 'Auto Created when row is created';
2608
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_NAMES"."SDK_NAME" IS 'Name of the SDK';
2609
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_NAMES"."SDK_COMMENT" IS 'User comment';
2610
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_NAMES"."VIEW_ID" IS 'Base View for display';
6999 dpurdie 2611
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_NAMES"."PROJ_ID" IS 'Project ID for Security context';
2612
--------------------------------------------------------
2613
--  DDL for Table SDK_TAGS
2614
--------------------------------------------------------
5172 dpurdie 2615
 
2616
  CREATE TABLE "RELEASE_MANAGER"."SDK_TAGS" 
2617
   (	"SDKTAG_ID" NUMBER, 
2618
	"SDKTAG_NAME" VARCHAR2(50 BYTE), 
2619
	"DESCRIPTION" VARCHAR2(4000 BYTE), 
2620
	"SDK_ID" NUMBER, 
2621
	"RTAG_ID" NUMBER, 
2622
	"CREATED_STAMP" TIMESTAMP (6) DEFAULT SYSTIMESTAMP, 
2623
	"CREATOR_ID" NUMBER, 
2624
	"STATE_STAMP" TIMESTAMP (6) DEFAULT SYSTIMESTAMP, 
2625
	"STATE_ID" NUMBER, 
2626
	"SDK_STATE" CHAR(1 BYTE) DEFAULT 'U'
2627
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2628
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2629
 NOCOMPRESS LOGGING
5172 dpurdie 2630
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2631
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2632
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2633
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 2634
 
2635
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."SDKTAG_ID" IS 'Unique ID. Created automatically';
2636
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."SDKTAG_NAME" IS 'Name of the SDK Version';
2637
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."DESCRIPTION" IS 'General description';
2638
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."SDK_ID" IS 'Parent SDK';
2639
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."RTAG_ID" IS 'Release within which this SDK is maintained';
2640
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."CREATED_STAMP" IS 'When created';
2641
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."CREATOR_ID" IS 'Who Created the version';
2642
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."STATE_STAMP" IS 'Time of last change to this version';
2643
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."STATE_ID" IS 'User id who made the last state change';
6999 dpurdie 2644
   COMMENT ON COLUMN "RELEASE_MANAGER"."SDK_TAGS"."SDK_STATE" IS 'State: U-Under Development; R-Released; D-Deprecated';
4040 dpurdie 2645
--------------------------------------------------------
6999 dpurdie 2646
--  DDL for Table TEMP_ENV_DEPS
2647
--------------------------------------------------------
5384 dpurdie 2648
 
2649
  CREATE TABLE "RELEASE_MANAGER"."TEMP_ENV_DEPS" 
2650
   (	"SESSION_NUM" NUMBER, 
2651
	"PV_ID" NUMBER, 
2652
	"PKG_ID" NUMBER, 
2653
	"V_EXT" VARCHAR2(50 BYTE), 
2654
	"DPV_ID" NUMBER, 
2655
	"DPKG_ID" NUMBER, 
2656
	"DV_EXT" VARCHAR2(50 BYTE)
2657
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2658
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2659
 NOCOMPRESS LOGGING
5384 dpurdie 2660
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2661
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2662
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2663
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5384 dpurdie 2664
 
2665
   COMMENT ON TABLE "RELEASE_MANAGER"."TEMP_ENV_DEPS"  IS 'This table is used in the creation of the package_state information
2666
Data in the table is temporary. It should be cleared out after its been used.
2667
Data will only be used for a few seconds.
2668
 
6999 dpurdie 2669
The table is used to map DPV_IDs to PV_IDs, but only for DPV_IDs that are of interest';
2670
--------------------------------------------------------
4040 dpurdie 2671
--  DDL for Table TEMP_ENV_STATES
2672
--------------------------------------------------------
2673
 
5172 dpurdie 2674
  CREATE TABLE "RELEASE_MANAGER"."TEMP_ENV_STATES" 
4040 dpurdie 2675
   (	"SESSION_NUM" NUMBER, 
2676
	"LEVEL_NUM" NUMBER, 
2677
	"PV_ID" NUMBER, 
2678
	"PKG_ID" NUMBER, 
5172 dpurdie 2679
	"V_EXT" VARCHAR2(50 BYTE), 
6031 dpurdie 2680
	"TES_STATE" NUMBER, 
2681
	"BUILD_TYPE" CHAR(1 BYTE)
5172 dpurdie 2682
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2683
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2684
 NOCOMPRESS LOGGING
5172 dpurdie 2685
  STORAGE(INITIAL 524288 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2686
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2687
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2688
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2689
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_ENV_STATES" TO "RM_READONLY";
2690
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_ENV_STATES" TO "MS_READONLY";
5892 dpurdie 2691
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_ENV_STATES" TO "DM_READONLY";
6999 dpurdie 2692
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_ENV_STATES" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2693
--------------------------------------------------------
2694
--  DDL for Table TEMP_SASH
2695
--------------------------------------------------------
2696
 
5172 dpurdie 2697
  CREATE TABLE "RELEASE_MANAGER"."TEMP_SASH" 
4040 dpurdie 2698
   (	"RTAG_ID" NUMBER, 
2699
	"PROJ_ID" NUMBER
5172 dpurdie 2700
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2701
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2702
 NOCOMPRESS LOGGING
5172 dpurdie 2703
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2704
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2705
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2706
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2707
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_SASH" TO "RM_READONLY";
2708
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_SASH" TO "MS_READONLY";
5892 dpurdie 2709
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_SASH" TO "DM_READONLY";
6999 dpurdie 2710
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_SASH" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2711
--------------------------------------------------------
2712
--  DDL for Table TEMP_TREE_BROWSE
2713
--------------------------------------------------------
2714
 
5172 dpurdie 2715
  CREATE TABLE "RELEASE_MANAGER"."TEMP_TREE_BROWSE" 
4040 dpurdie 2716
   (	"SESSION_NUM" NUMBER, 
2717
	"LEVEL_NUM" NUMBER, 
2718
	"PV_ID" NUMBER, 
2719
	"PKG_ID" NUMBER, 
5172 dpurdie 2720
	"V_EXT" VARCHAR2(50 BYTE), 
4040 dpurdie 2721
	"DIRECTION" NUMBER
5172 dpurdie 2722
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2723
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2724
 NOCOMPRESS LOGGING
5172 dpurdie 2725
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2726
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2727
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2728
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2729
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_TREE_BROWSE" TO "RM_READONLY";
2730
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_TREE_BROWSE" TO "MS_READONLY";
5892 dpurdie 2731
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_TREE_BROWSE" TO "DM_READONLY";
6999 dpurdie 2732
  GRANT SELECT ON "RELEASE_MANAGER"."TEMP_TREE_BROWSE" TO "RELEASE_MANAGER_READ";
2733
--------------------------------------------------------
2734
--  DDL for Table TEST_RUN
2735
--------------------------------------------------------
5172 dpurdie 2736
 
2737
  CREATE TABLE "RELEASE_MANAGER"."TEST_RUN" 
6031 dpurdie 2738
   (	"TESTRUN_ID" NUMBER, 
2739
	"BUILD_ID" NUMBER, 
5172 dpurdie 2740
	"PLATFORM" VARCHAR2(50 BYTE), 
2741
	"TYPE" VARCHAR2(1 BYTE), 
5384 dpurdie 2742
	"TEST_NAME" VARCHAR2(200 BYTE), 
5172 dpurdie 2743
	"TEST_OUTCOME" VARCHAR2(20 BYTE), 
2744
	"TIME_TAKEN" NUMBER, 
6031 dpurdie 2745
	"FAIL_MESSAGE" CLOB
5172 dpurdie 2746
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2747
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2748
 NOCOMPRESS LOGGING
5172 dpurdie 2749
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2750
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2751
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2752
  TABLESPACE "RELEASE_MANAGER_DATA" 
5172 dpurdie 2753
 LOB ("FAIL_MESSAGE") STORE AS BASICFILE (
6031 dpurdie 2754
  TABLESPACE "RELEASE_MANAGER_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
5172 dpurdie 2755
  NOCACHE LOGGING 
2756
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2757
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
6999 dpurdie 2758
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;
5172 dpurdie 2759
 
6031 dpurdie 2760
   COMMENT ON COLUMN "RELEASE_MANAGER"."TEST_RUN"."TESTRUN_ID" IS 'Unique Id. Used to generate a primary key.';
5172 dpurdie 2761
   COMMENT ON COLUMN "RELEASE_MANAGER"."TEST_RUN"."PLATFORM" IS 'Target Platform';
2762
   COMMENT ON COLUMN "RELEASE_MANAGER"."TEST_RUN"."TYPE" IS 'P or D';
2763
   COMMENT ON COLUMN "RELEASE_MANAGER"."TEST_RUN"."TEST_OUTCOME" IS 'PASS/FAIL/SKIP';
2764
   COMMENT ON COLUMN "RELEASE_MANAGER"."TEST_RUN"."TIME_TAKEN" IS 'Test Duration in milliseconds';
6999 dpurdie 2765
   COMMENT ON COLUMN "RELEASE_MANAGER"."TEST_RUN"."FAIL_MESSAGE" IS 'Failure Message';
4040 dpurdie 2766
--------------------------------------------------------
2767
--  DDL for Table TEST_TYPES
2768
--------------------------------------------------------
2769
 
5172 dpurdie 2770
  CREATE TABLE "RELEASE_MANAGER"."TEST_TYPES" 
4040 dpurdie 2771
   (	"TEST_TYPE_ID" NUMBER, 
5172 dpurdie 2772
	"TEST_TYPE_NAME" VARCHAR2(50 BYTE), 
4040 dpurdie 2773
	"DISPLAY_ORDER" NUMBER
5172 dpurdie 2774
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2775
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2776
 NOCOMPRESS LOGGING
5172 dpurdie 2777
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2778
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2779
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2780
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2781
  GRANT SELECT ON "RELEASE_MANAGER"."TEST_TYPES" TO "RM_READONLY";
2782
  GRANT SELECT ON "RELEASE_MANAGER"."TEST_TYPES" TO "MS_READONLY";
5892 dpurdie 2783
  GRANT SELECT ON "RELEASE_MANAGER"."TEST_TYPES" TO "DM_READONLY";
2784
  GRANT SELECT ON "RELEASE_MANAGER"."TEST_TYPES" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2785
  GRANT SELECT ON "RELEASE_MANAGER"."TEST_TYPES" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2786
--------------------------------------------------------
2787
--  DDL for Table UNIT_TESTS
2788
--------------------------------------------------------
2789
 
5172 dpurdie 2790
  CREATE TABLE "RELEASE_MANAGER"."UNIT_TESTS" 
4040 dpurdie 2791
   (	"TEST_ID" NUMBER, 
2792
	"PV_ID" NUMBER, 
2793
	"TEST_TYPES_FK" NUMBER, 
5172 dpurdie 2794
	"TEST_SUMMARY" VARCHAR2(4000 BYTE), 
4040 dpurdie 2795
	"COMPLETION_DATE" DATE, 
2796
	"COMPLETED_BY" NUMBER, 
5172 dpurdie 2797
	"RESULTS_URL" VARCHAR2(2000 BYTE), 
2798
	"RESULTS_ATTACHMENT_NAME" VARCHAR2(2000 BYTE), 
2799
	"TEST_ACCEPTED" CHAR(1 BYTE), 
4040 dpurdie 2800
	"ACCEPTANCE_DATE" DATE, 
2801
	"ACCEPTED_BY" NUMBER, 
5172 dpurdie 2802
	"REVIEW_COMMENTS" VARCHAR2(4000 BYTE), 
2803
	"NUMOF_TEST" VARCHAR2(50 BYTE)
2804
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2805
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2806
 NOCOMPRESS LOGGING
5172 dpurdie 2807
  STORAGE(INITIAL 31457280 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2808
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2809
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2810
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2811
  GRANT SELECT ON "RELEASE_MANAGER"."UNIT_TESTS" TO "RM_READONLY";
2812
  GRANT SELECT ON "RELEASE_MANAGER"."UNIT_TESTS" TO "MS_READONLY";
5892 dpurdie 2813
  GRANT SELECT ON "RELEASE_MANAGER"."UNIT_TESTS" TO "DM_READONLY";
2814
  GRANT SELECT ON "RELEASE_MANAGER"."UNIT_TESTS" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2815
  GRANT SELECT ON "RELEASE_MANAGER"."UNIT_TESTS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2816
--------------------------------------------------------
6031 dpurdie 2817
--  DDL for Table VALIDATION_RULES_DELETE_ME
4040 dpurdie 2818
--------------------------------------------------------
2819
 
6031 dpurdie 2820
  CREATE TABLE "RELEASE_MANAGER"."VALIDATION_RULES_DELETE_ME" 
5172 dpurdie 2821
   (	"FIELD_NAME" VARCHAR2(1000 BYTE), 
2822
	"IS_REQUIRED" CHAR(1 BYTE), 
2823
	"IS_NUMERIC" CHAR(1 BYTE), 
4040 dpurdie 2824
	"MIN_NUMERIC_VALUE" NUMBER, 
2825
	"MAX_NUMERIC_VALUE" NUMBER, 
5172 dpurdie 2826
	"IS_DATE" CHAR(1 BYTE), 
4040 dpurdie 2827
	"START_DATE" DATE, 
2828
	"END_DATE" DATE, 
2829
	"MIN_STRING_LENGTH" NUMBER, 
2830
	"MAX_STRING_LENGTH" NUMBER, 
5172 dpurdie 2831
	"REGEXP" VARCHAR2(4000 BYTE), 
2832
	"REGEXP_DESCRIPTION" VARCHAR2(50 BYTE)
2833
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2834
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2835
 NOCOMPRESS LOGGING
5172 dpurdie 2836
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2837
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2838
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2839
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2840
  GRANT SELECT ON "RELEASE_MANAGER"."VALIDATION_RULES_DELETE_ME" TO "RM_READONLY";
2841
  GRANT SELECT ON "RELEASE_MANAGER"."VALIDATION_RULES_DELETE_ME" TO "MS_READONLY";
2842
  GRANT SELECT ON "RELEASE_MANAGER"."VALIDATION_RULES_DELETE_ME" TO "DM_READONLY";
6999 dpurdie 2843
  GRANT SELECT ON "RELEASE_MANAGER"."VALIDATION_RULES_DELETE_ME" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2844
--------------------------------------------------------
2845
--  DDL for Table VCS_TYPE
2846
--------------------------------------------------------
2847
 
5172 dpurdie 2848
  CREATE TABLE "RELEASE_MANAGER"."VCS_TYPE" 
4040 dpurdie 2849
   (	"VCS_TYPE_ID" NUMBER, 
5172 dpurdie 2850
	"NAME" VARCHAR2(128 BYTE), 
2851
	"TAG" VARCHAR2(32 BYTE)
2852
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2853
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2854
 NOCOMPRESS LOGGING
5172 dpurdie 2855
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2856
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2857
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2858
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2859
  GRANT SELECT ON "RELEASE_MANAGER"."VCS_TYPE" TO "RM_READONLY";
2860
  GRANT SELECT ON "RELEASE_MANAGER"."VCS_TYPE" TO "MS_READONLY";
6999 dpurdie 2861
  GRANT SELECT ON "RELEASE_MANAGER"."VCS_TYPE" TO "DM_READONLY";
4040 dpurdie 2862
--------------------------------------------------------
2863
--  DDL for Table VIEWS
2864
--------------------------------------------------------
2865
 
5172 dpurdie 2866
  CREATE TABLE "RELEASE_MANAGER"."VIEWS" 
4040 dpurdie 2867
   (	"VIEW_ID" NUMBER, 
5172 dpurdie 2868
	"VIEW_NAME" VARCHAR2(30 BYTE), 
4040 dpurdie 2869
	"OWNER_ID" NUMBER, 
5172 dpurdie 2870
	"BASE_VIEW" CHAR(1 BYTE), 
2871
	"PUBLIC_READ" CHAR(1 BYTE)
2872
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2873
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2874
 NOCOMPRESS LOGGING
5172 dpurdie 2875
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2876
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2877
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2878
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 2879
 
2880
   COMMENT ON COLUMN "RELEASE_MANAGER"."VIEWS"."OWNER_ID" IS '0:Public';
2881
   COMMENT ON COLUMN "RELEASE_MANAGER"."VIEWS"."BASE_VIEW" IS 'Y:Base View';
6031 dpurdie 2882
  GRANT SELECT ON "RELEASE_MANAGER"."VIEWS" TO "RM_READONLY";
2883
  GRANT SELECT ON "RELEASE_MANAGER"."VIEWS" TO "MS_READONLY";
5892 dpurdie 2884
  GRANT SELECT ON "RELEASE_MANAGER"."VIEWS" TO "DM_READONLY";
6999 dpurdie 2885
  GRANT SELECT ON "RELEASE_MANAGER"."VIEWS" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2886
--------------------------------------------------------
2887
--  DDL for Table VIEW_DEF
2888
--------------------------------------------------------
2889
 
5172 dpurdie 2890
  CREATE TABLE "RELEASE_MANAGER"."VIEW_DEF" 
4040 dpurdie 2891
   (	"VIEW_ID" NUMBER, 
2892
	"PKG_ID" NUMBER
5172 dpurdie 2893
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2894
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2895
 NOCOMPRESS LOGGING
5172 dpurdie 2896
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2897
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2898
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 2899
  TABLESPACE "RELEASE_MANAGER_DATA" ;
5172 dpurdie 2900
 
2901
   COMMENT ON COLUMN "RELEASE_MANAGER"."VIEW_DEF"."VIEW_ID" IS 'Non Base View ID';
2902
   COMMENT ON COLUMN "RELEASE_MANAGER"."VIEW_DEF"."PKG_ID" IS 'Package ID';
2903
   COMMENT ON TABLE "RELEASE_MANAGER"."VIEW_DEF"  IS 'Packages in a non-baseview';
6031 dpurdie 2904
  GRANT SELECT ON "RELEASE_MANAGER"."VIEW_DEF" TO "RM_READONLY";
2905
  GRANT SELECT ON "RELEASE_MANAGER"."VIEW_DEF" TO "MS_READONLY";
5892 dpurdie 2906
  GRANT SELECT ON "RELEASE_MANAGER"."VIEW_DEF" TO "DM_READONLY";
6999 dpurdie 2907
  GRANT SELECT ON "RELEASE_MANAGER"."VIEW_DEF" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2908
--------------------------------------------------------
2909
--  DDL for Table VIEW_SETTINGS
2910
--------------------------------------------------------
2911
 
5172 dpurdie 2912
  CREATE TABLE "RELEASE_MANAGER"."VIEW_SETTINGS" 
4040 dpurdie 2913
   (	"USER_ID" NUMBER, 
2914
	"VIEW_ID" NUMBER
5172 dpurdie 2915
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2916
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2917
 NOCOMPRESS LOGGING
5172 dpurdie 2918
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2919
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2920
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2921
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2922
  GRANT SELECT ON "RELEASE_MANAGER"."VIEW_SETTINGS" TO "RM_READONLY";
2923
  GRANT SELECT ON "RELEASE_MANAGER"."VIEW_SETTINGS" TO "MS_READONLY";
5892 dpurdie 2924
  GRANT SELECT ON "RELEASE_MANAGER"."VIEW_SETTINGS" TO "DM_READONLY";
6999 dpurdie 2925
  GRANT SELECT ON "RELEASE_MANAGER"."VIEW_SETTINGS" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2926
--------------------------------------------------------
2927
--  DDL for Table VTREES
2928
--------------------------------------------------------
2929
 
5172 dpurdie 2930
  CREATE TABLE "RELEASE_MANAGER"."VTREES" 
4040 dpurdie 2931
   (	"VTREE_ID" NUMBER, 
2932
	"PROJ_ID" NUMBER, 
5172 dpurdie 2933
	"VTREE_NAME" VARCHAR2(50 BYTE), 
2934
	"HIDE" CHAR(1 BYTE)
2935
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2936
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2937
 NOCOMPRESS LOGGING
5172 dpurdie 2938
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2939
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2940
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2941
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2942
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES" TO "RM_READONLY";
2943
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES" TO "MS_READONLY";
5892 dpurdie 2944
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES" TO "DM_READONLY";
2945
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2946
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2947
--------------------------------------------------------
2948
--  DDL for Table VTREES_WORLD
2949
--------------------------------------------------------
2950
 
5172 dpurdie 2951
  CREATE TABLE "RELEASE_MANAGER"."VTREES_WORLD" 
4040 dpurdie 2952
   (	"WORLD_ID" NUMBER, 
2953
	"VTREE_ID" NUMBER
5172 dpurdie 2954
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2955
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2956
 NOCOMPRESS LOGGING
5172 dpurdie 2957
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2958
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2959
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2960
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2961
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES_WORLD" TO "RM_READONLY";
2962
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES_WORLD" TO "MS_READONLY";
5892 dpurdie 2963
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES_WORLD" TO "DM_READONLY";
2964
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES_WORLD" TO "RELEASE_MANAGER_READ";
6999 dpurdie 2965
  GRANT SELECT ON "RELEASE_MANAGER"."VTREES_WORLD" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 2966
--------------------------------------------------------
2967
--  DDL for Table WORK_IN_PROGRESS
2968
--------------------------------------------------------
2969
 
5172 dpurdie 2970
  CREATE TABLE "RELEASE_MANAGER"."WORK_IN_PROGRESS" 
4040 dpurdie 2971
   (	"RTAG_ID" NUMBER, 
2972
	"PV_ID" NUMBER, 
2973
	"VIEW_ID" NUMBER
5172 dpurdie 2974
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2975
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2976
 NOCOMPRESS LOGGING
5172 dpurdie 2977
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2978
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2979
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2980
  TABLESPACE "RELEASE_MANAGER_DATA" ;
2981
  GRANT SELECT ON "RELEASE_MANAGER"."WORK_IN_PROGRESS" TO "RM_READONLY";
2982
  GRANT SELECT ON "RELEASE_MANAGER"."WORK_IN_PROGRESS" TO "MS_READONLY";
5892 dpurdie 2983
  GRANT SELECT ON "RELEASE_MANAGER"."WORK_IN_PROGRESS" TO "DM_READONLY";
6999 dpurdie 2984
  GRANT SELECT ON "RELEASE_MANAGER"."WORK_IN_PROGRESS" TO "RELEASE_MANAGER_READ";
4040 dpurdie 2985
--------------------------------------------------------
2986
--  DDL for Table WORLDS
2987
--------------------------------------------------------
2988
 
5172 dpurdie 2989
  CREATE TABLE "RELEASE_MANAGER"."WORLDS" 
4040 dpurdie 2990
   (	"WORLD_ID" NUMBER, 
5172 dpurdie 2991
	"WORLD_NAME" VARCHAR2(30 BYTE), 
2992
	"WORLD_DESC" VARCHAR2(255 BYTE)
2993
   ) SEGMENT CREATION IMMEDIATE 
6031 dpurdie 2994
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
2995
 NOCOMPRESS LOGGING
5172 dpurdie 2996
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 2997
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
2998
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
2999
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3000
  GRANT SELECT ON "RELEASE_MANAGER"."WORLDS" TO "RM_READONLY";
3001
  GRANT SELECT ON "RELEASE_MANAGER"."WORLDS" TO "MS_READONLY";
5892 dpurdie 3002
  GRANT SELECT ON "RELEASE_MANAGER"."WORLDS" TO "DM_READONLY";
6999 dpurdie 3003
  GRANT SELECT ON "RELEASE_MANAGER"."WORLDS" TO "RELEASE_MANAGER_READ";
4040 dpurdie 3004
--------------------------------------------------------
3005
--  DDL for View ENVIRONMENT_VIEW
3006
--------------------------------------------------------
3007
 
5172 dpurdie 3008
  CREATE OR REPLACE FORCE VIEW "RELEASE_MANAGER"."ENVIRONMENT_VIEW" ("ENV_AREA", "PV_ID", "RTAG_ID", "VIEW_ID", "PKG_STATE", "DEPRECATED_STATE", "INSERTOR_ID", "INSERT_STAMP", "OPERATION") AS 
7039 dpurdie 3009
  WITH building as (
3010
            SELECT unique rl.CURRENT_PV_ID as pv_id, rc.RTAG_ID 
3011
            FROM RELEASE_CONFIG rc, RELEASE_TAGS rt, RUN_LEVEL rl 
3012
            WHERE rt.RTAG_ID = rc.RTAG_ID 
3013
            AND rc.bmcon_id is not null
3014
            AND rt.OFFICIAL in ( 'N', 'R', 'C')
3015
            AND rl.RCON_ID(+) = rc.RCON_ID
3016
            AND rl.CURRENT_PKG_ID_BEING_BUILT is not null
3017
            AND NVL(rl.PAUSE,0) < 2
3018
        ), scheduled as (
3019
            SELECT pv_id, RTAG_ID from daemon_instructions di
3020
            WHERE di.op_code = 2
3021
        ) , buildFail as (
3022
            SELECT pv_id, root_pv_id, RTAG_ID from do_not_ripple dnr
3023
        ) , baseData as (
3024
            SELECT 2 AS ENV_AREA,
3025
                rc.PV_ID,
3026
                rc.RTAG_ID,
3027
                rc.BASE_VIEW_ID AS VIEW_ID,
3028
                rc.PKG_STATE,
3029
                rc.DEPRECATED_STATE,
3030
                rc.INSERTOR_ID,
3031
                rc.INSERT_STAMP,
3032
                ' ' AS OPERATION
3033
              FROM RELEASE_CONTENT rc
3034
            UNION
3035
            SELECT 0 AS ENV_AREA,
3036
                wip.PV_ID,
3037
                wip.RTAG_ID,
3038
                wip.VIEW_ID,
3039
                NULL AS PKG_STATE,
3040
             NULL AS DEPRECATED_STATE,
3041
                NULL AS INSERTOR_ID,
3042
                NULL AS INSERT_STAMP,
3043
                ' ' AS OPERATION
3044
              FROM WORK_IN_PROGRESS wip
3045
            UNION
3046
            SELECT 1 AS ENV_AREA,
3047
                pl.PV_ID,
3048
                pl.RTAG_ID,
3049
                pl.VIEW_ID,
3050
                NULL AS PKG_STATE,
3051
             NULL AS DEPRECATED_STATE,
3052
                NULL AS INSERTOR_ID,
3053
                NULL AS INSERT_STAMP,
3054
                pl.operation
3055
            FROM PLANNED pl
3056
        )
3057
 
3058
SELECT unique rc.ENV_AREA,
3059
    rc.PV_ID,
3060
    rc.RTAG_ID,
3061
    rc.VIEW_ID,
3062
    Case
3063
        When sdi.pv_id is not null then 14
3064
        When bb.pv_id is not null then 15
3065
        When bf.pv_id is not null AND bf.root_pv_id is NULL then 16
3066
        When bf.pv_id is not null AND bf.root_pv_id is NOT NULL then  17
3067
        When rc.pkg_state is not null then rc.pkg_state
3068
        Else 0
3069
    End as pkg_state,
3070
    rc.DEPRECATED_STATE,
3071
    rc.INSERTOR_ID,
3072
    rc.INSERT_STAMP,
3073
    rc.OPERATION
3074
  FROM baseData rc,
3075
       scheduled sdi,
3076
       buildFail bf,
3077
       building bb
3078
  WHERE sdi.pv_id(+)    = rc.pv_id  AND sdi.rtag_id(+) = rc.rtag_id
3079
        AND bf.pv_id(+) = rc.pv_id  AND bf.rtag_id(+) = rc.rtag_id
3080
        AND bb.pv_id(+) = rc.pv_id  AND bb.rtag_id(+) = rc.rtag_id
6999 dpurdie 3081
;
6031 dpurdie 3082
  GRANT SELECT ON "RELEASE_MANAGER"."ENVIRONMENT_VIEW" TO "RM_READONLY";
5892 dpurdie 3083
  GRANT SELECT ON "RELEASE_MANAGER"."ENVIRONMENT_VIEW" TO "MS_READONLY";
6999 dpurdie 3084
  GRANT SELECT ON "RELEASE_MANAGER"."ENVIRONMENT_VIEW" TO "RELEASE_MANAGER_READ";
4040 dpurdie 3085
--------------------------------------------------------
7340 dpurdie 3086
--  DDL for Index PACKAGE_VERSIONS_PLATFORMS_IN
3087
--------------------------------------------------------
3088
 
3089
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PACKAGE_VERSIONS_PLATFORMS_IN" ON "RELEASE_MANAGER"."PACKAGE_VERSION_PLATFORMS" ("PV_ID", "BP_ID") 
3090
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3091
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3092
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3093
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3094
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3095
--------------------------------------------------------
4211 dpurdie 3096
--  DDL for Index PK_LICENCES
4040 dpurdie 3097
--------------------------------------------------------
3098
 
5172 dpurdie 3099
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_LICENCES" ON "RELEASE_MANAGER"."LICENCES" ("LICENCE") 
3100
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3101
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3102
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3103
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3104
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3105
--------------------------------------------------------
4211 dpurdie 3106
--  DDL for Index UNQ_PKG_BUILD_ENV
4040 dpurdie 3107
--------------------------------------------------------
3108
 
5172 dpurdie 3109
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PKG_BUILD_ENV" ON "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" ("PV_ID", "BE_ID") 
3110
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3111
  STORAGE(INITIAL 6291456 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3112
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3113
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3114
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3115
--------------------------------------------------------
3116
--  DDL for Index SDK_NAMES_UK1
3117
--------------------------------------------------------
5172 dpurdie 3118
 
3119
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."SDK_NAMES_UK1" ON "RELEASE_MANAGER"."SDK_NAMES" ("SDK_NAME") 
3120
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3121
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3122
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3123
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3124
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3125
--------------------------------------------------------
4211 dpurdie 3126
--  DDL for Index UNQ_PACKAGES
4040 dpurdie 3127
--------------------------------------------------------
3128
 
6999 dpurdie 3129
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PACKAGES" ON "RELEASE_MANAGER"."PACKAGES" ("PKG_NAME", "PKG_ID") 
5172 dpurdie 3130
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3131
  STORAGE(INITIAL 262144 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3132
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3133
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3134
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3135
--------------------------------------------------------
3136
--  DDL for Index INX_PACKAGES_ALIAS
3137
--------------------------------------------------------
5172 dpurdie 3138
 
6999 dpurdie 3139
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGES_ALIAS" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PKG_ID", "V_EXT") 
5172 dpurdie 3140
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3141
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3142
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3143
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3144
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3145
--------------------------------------------------------
3146
--  DDL for Index CODE_REVIEW_URL_PK
3147
--------------------------------------------------------
3148
 
5172 dpurdie 3149
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."CODE_REVIEW_URL_PK" ON "RELEASE_MANAGER"."CODE_REVIEW_URL" ("CR_ID") 
3150
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3151
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3152
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3153
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3154
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3155
--------------------------------------------------------
3156
--  DDL for Index SDK_NAMES_PK
3157
--------------------------------------------------------
5172 dpurdie 3158
 
3159
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."SDK_NAMES_PK" ON "RELEASE_MANAGER"."SDK_NAMES" ("SDK_ID") 
3160
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3161
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3162
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3163
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3164
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3165
--------------------------------------------------------
3166
--  DDL for Index INX_ACTION_TIMESTAMP
3167
--------------------------------------------------------
5172 dpurdie 3168
 
3169
  CREATE INDEX "RELEASE_MANAGER"."INX_ACTION_TIMESTAMP" ON "RELEASE_MANAGER"."ACTION_LOG" ("ACTION_TIMESTAMP") 
3170
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3171
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3172
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3173
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3174
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3175
--------------------------------------------------------
4211 dpurdie 3176
--  DDL for Index INX_UT_COMPLETED
4040 dpurdie 3177
--------------------------------------------------------
3178
 
5172 dpurdie 3179
  CREATE INDEX "RELEASE_MANAGER"."INX_UT_COMPLETED" ON "RELEASE_MANAGER"."UNIT_TESTS" ("COMPLETION_DATE", "COMPLETED_BY") 
3180
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3181
  STORAGE(INITIAL 5242880 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3182
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3183
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3184
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3185
--------------------------------------------------------
6999 dpurdie 3186
--  DDL for Index BLAT_PROJECTS_INDEX1
3187
--------------------------------------------------------
3188
 
3189
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BLAT_PROJECTS_INDEX1" ON "RELEASE_MANAGER"."BLAT_PROJECTS" ("BLAT_ID", "PROJ_ID") 
3190
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3191
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3192
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3193
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3194
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3195
--------------------------------------------------------
4308 dpurdie 3196
--  DDL for Index INX_PV_ID_PKGDOC
3197
--------------------------------------------------------
4040 dpurdie 3198
 
5172 dpurdie 3199
  CREATE INDEX "RELEASE_MANAGER"."INX_PV_ID_PKGDOC" ON "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" ("PV_ID") 
3200
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3201
  STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3202
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3203
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3204
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3205
--------------------------------------------------------
3206
--  DDL for Index UNQ_VIEW_SETTINGS
3207
--------------------------------------------------------
4040 dpurdie 3208
 
5172 dpurdie 3209
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_VIEW_SETTINGS" ON "RELEASE_MANAGER"."VIEW_SETTINGS" ("USER_ID", "VIEW_ID") 
3210
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3211
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3212
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3213
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3214
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3215
--------------------------------------------------------
3216
--  DDL for Index INX_PP_PV_ID
3217
--------------------------------------------------------
4040 dpurdie 3218
 
5172 dpurdie 3219
  CREATE INDEX "RELEASE_MANAGER"."INX_PP_PV_ID" ON "RELEASE_MANAGER"."PACKAGE_PATCHES" ("PV_ID") 
3220
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3221
  STORAGE(INITIAL 327680 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3222
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3223
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3224
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3225
--------------------------------------------------------
7340 dpurdie 3226
--  DDL for Index BUILD_INSTANCE_PLATFORMS_INDE
3227
--------------------------------------------------------
3228
 
3229
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS_INDE" ON "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS" ("BUILD_ID", "BP_ID") 
3230
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3231
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3232
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3233
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3234
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3235
--------------------------------------------------------
4308 dpurdie 3236
--  DDL for Index PK_VIEWS
3237
--------------------------------------------------------
4040 dpurdie 3238
 
5172 dpurdie 3239
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_VIEWS" ON "RELEASE_MANAGER"."VIEWS" ("VIEW_ID") 
3240
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3241
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3242
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3243
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3244
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3245
--------------------------------------------------------
3246
--  DDL for Index CQ_USERS_PK
3247
--------------------------------------------------------
5384 dpurdie 3248
 
3249
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."CQ_USERS_PK" ON "RELEASE_MANAGER"."CQ_USERS" ("DBID") 
3250
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3251
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3252
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3253
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3254
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3255
--------------------------------------------------------
3256
--  DDL for Index PK_PACKAGES
3257
--------------------------------------------------------
4040 dpurdie 3258
 
5172 dpurdie 3259
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_PACKAGES" ON "RELEASE_MANAGER"."PACKAGES" ("PKG_ID") 
3260
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3261
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3262
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3263
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3264
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3265
--------------------------------------------------------
3266
--  DDL for Index PK_TEST_TYPES
3267
--------------------------------------------------------
4040 dpurdie 3268
 
5172 dpurdie 3269
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_TEST_TYPES" ON "RELEASE_MANAGER"."TEST_TYPES" ("TEST_TYPE_ID") 
3270
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3271
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3272
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3273
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3274
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3275
--------------------------------------------------------
3276
--  DDL for Index UNQ_ACTTYPE_ID
3277
--------------------------------------------------------
4040 dpurdie 3278
 
5172 dpurdie 3279
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_ACTTYPE_ID" ON "RELEASE_MANAGER"."ACTION_TYPE" ("ACTTYPE_ID") 
3280
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3281
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3282
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3283
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3284
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3285
--------------------------------------------------------
3286
--  DDL for Index INX_PROJ_ACTION_DATE_TIME
3287
--------------------------------------------------------
4040 dpurdie 3288
 
5172 dpurdie 3289
  CREATE INDEX "RELEASE_MANAGER"."INX_PROJ_ACTION_DATE_TIME" ON "RELEASE_MANAGER"."PROJECT_ACTION_LOG" ("ACTION_DATETIME") 
3290
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3291
  STORAGE(INITIAL 327680 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3292
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3293
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3294
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3295
--------------------------------------------------------
3296
--  DDL for Index INX_RC_PKG_STATE
3297
--------------------------------------------------------
4040 dpurdie 3298
 
5172 dpurdie 3299
  CREATE INDEX "RELEASE_MANAGER"."INX_RC_PKG_STATE" ON "RELEASE_MANAGER"."RELEASE_CONTENT" ("PKG_STATE") 
3300
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
3301
  STORAGE(INITIAL 7340032 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3302
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3303
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3304
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3305
--------------------------------------------------------
6999 dpurdie 3306
--  DDL for Index BLAT_SERVERS_PK
3307
--------------------------------------------------------
3308
 
3309
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BLAT_SERVERS_PK" ON "RELEASE_MANAGER"."BLAT_SERVERS" ("BLAT_ID") 
3310
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3311
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3312
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3313
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3314
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3315
--------------------------------------------------------
4308 dpurdie 3316
--  DDL for Index PROCESSES_PK
3317
--------------------------------------------------------
4040 dpurdie 3318
 
5172 dpurdie 3319
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PROCESSES_PK" ON "RELEASE_MANAGER"."PROCESSES" ("PROC_ID") 
3320
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3321
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3322
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3323
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3324
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3325
--------------------------------------------------------
3326
--  DDL for Index INX_PACKAGE_DEPS_DPV_ID
3327
--------------------------------------------------------
4040 dpurdie 3328
 
5172 dpurdie 3329
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGE_DEPS_DPV_ID" ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ("DPV_ID") 
3330
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
3331
  STORAGE(INITIAL 75497472 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3332
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3333
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3334
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3335
--------------------------------------------------------
6999 dpurdie 3336
--  DDL for Index PACKAGE_VERSIONS_RNOTE
3337
--------------------------------------------------------
6031 dpurdie 3338
 
7039 dpurdie 3339
  CREATE INDEX "RELEASE_MANAGER"."PACKAGE_VERSIONS_RNOTE" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("RELEASE_NOTES_INFO", "DLOCKED", "MODIFIED_STAMP") 
6031 dpurdie 3340
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3341
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3342
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3343
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3344
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3345
--------------------------------------------------------
4308 dpurdie 3346
--  DDL for Index INX_PACKAGES_PKG_VERSION
3347
--------------------------------------------------------
4040 dpurdie 3348
 
5172 dpurdie 3349
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGES_PKG_VERSION" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PKG_VERSION") 
3350
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
3351
  STORAGE(INITIAL 10485760 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3352
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3353
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3354
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3355
--------------------------------------------------------
3356
--  DDL for Index UNQ_PACKAGE_METRICS
3357
--------------------------------------------------------
4040 dpurdie 3358
 
5172 dpurdie 3359
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PACKAGE_METRICS" ON "RELEASE_MANAGER"."PACKAGE_METRICS" ("PV_ID") 
3360
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3361
  STORAGE(INITIAL 4194304 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3362
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3363
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3364
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3365
--------------------------------------------------------
3366
--  DDL for Index UNQ_PLATFORM
3367
--------------------------------------------------------
4040 dpurdie 3368
 
5172 dpurdie 3369
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PLATFORM" ON "RELEASE_MANAGER"."PLATFORMS" ("NAME") 
3370
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3371
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3372
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3373
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3374
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3375
--------------------------------------------------------
7340 dpurdie 3376
--  DDL for Index BUILD_PLATFORMS_UK1
3377
--------------------------------------------------------
3378
 
3379
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_PLATFORMS_UK1" ON "RELEASE_MANAGER"."BUILD_PLATFORMS" ("BP_NAME") 
3380
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3381
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3382
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3383
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3384
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3385
--------------------------------------------------------
4308 dpurdie 3386
--  DDL for Index UNQ_VIEWS
3387
--------------------------------------------------------
4040 dpurdie 3388
 
5172 dpurdie 3389
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_VIEWS" ON "RELEASE_MANAGER"."VIEWS" ("VIEW_NAME", "OWNER_ID") 
3390
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3391
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3392
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3393
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3394
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3395
--------------------------------------------------------
4211 dpurdie 3396
--  DDL for Index PRODUCT_STATES_PK
4040 dpurdie 3397
--------------------------------------------------------
3398
 
5172 dpurdie 3399
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PRODUCT_STATES_PK" ON "RELEASE_MANAGER"."PRODUCT_STATES" ("STATE_ID") 
3400
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3401
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3402
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3403
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3404
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3405
--------------------------------------------------------
4211 dpurdie 3406
--  DDL for Index PK_MESSAGE_BOARD
4040 dpurdie 3407
--------------------------------------------------------
3408
 
5172 dpurdie 3409
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_MESSAGE_BOARD" ON "RELEASE_MANAGER"."MESSAGE_BOARD" ("MSG_ID") 
3410
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3411
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3412
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3413
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3414
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3415
--------------------------------------------------------
3416
--  DDL for Index PK_BUILD_MACHINE_CONFIG
3417
--------------------------------------------------------
4040 dpurdie 3418
 
5172 dpurdie 3419
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_BUILD_MACHINE_CONFIG" ON "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" ("BMCON_ID") 
3420
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3421
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3422
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3423
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3424
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3425
--------------------------------------------------------
3426
--  DDL for Index INX_MSGBOARD
3427
--------------------------------------------------------
4040 dpurdie 3428
 
5172 dpurdie 3429
  CREATE INDEX "RELEASE_MANAGER"."INX_MSGBOARD" ON "RELEASE_MANAGER"."MESSAGE_BOARD" ("EXPIRY_DATE", "DUE_DATE") 
3430
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3431
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3432
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3433
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3434
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3435
--------------------------------------------------------
3436
--  DDL for Index PK_VTREES
3437
--------------------------------------------------------
4040 dpurdie 3438
 
5172 dpurdie 3439
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_VTREES" ON "RELEASE_MANAGER"."VTREES" ("VTREE_ID") 
3440
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3441
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3442
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3443
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3444
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3445
--------------------------------------------------------
3446
--  DDL for Index UNQ_UT_PART1
3447
--------------------------------------------------------
4040 dpurdie 3448
 
5172 dpurdie 3449
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_UT_PART1" ON "RELEASE_MANAGER"."UNIT_TESTS" ("PV_ID", "TEST_ID") 
3450
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3451
  STORAGE(INITIAL 7340032 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3452
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3453
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3454
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3455
--------------------------------------------------------
3456
--  DDL for Index UNQ_BUILD_ENV
3457
--------------------------------------------------------
4040 dpurdie 3458
 
5172 dpurdie 3459
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_BUILD_ENV" ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" ("BE_NAME") 
3460
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3461
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3462
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3463
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3464
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3465
--------------------------------------------------------
6999 dpurdie 3466
--  DDL for Index PK_RUN_LEVEL
3467
--------------------------------------------------------
6031 dpurdie 3468
 
3469
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_RUN_LEVEL" ON "RELEASE_MANAGER"."RUN_LEVEL" ("RCON_ID") 
3470
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3471
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3472
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3473
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3474
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3475
--------------------------------------------------------
7340 dpurdie 3476
--  DDL for Index BUILD_PLATFORMS_CONFIG2_INDEX1
3477
--------------------------------------------------------
3478
 
3479
  CREATE INDEX "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2_INDEX1" ON "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2" ("BP_ID") 
3480
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3481
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3482
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3483
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3484
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3485
--------------------------------------------------------
4211 dpurdie 3486
--  DDL for Index INX_ACTION_DATE_TIME
4040 dpurdie 3487
--------------------------------------------------------
3488
 
5172 dpurdie 3489
  CREATE INDEX "RELEASE_MANAGER"."INX_ACTION_DATE_TIME" ON "RELEASE_MANAGER"."ACTION_LOG" ("ACTION_DATETIME") 
3490
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3491
  STORAGE(INITIAL 92274688 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3492
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3493
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3494
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3495
--------------------------------------------------------
4308 dpurdie 3496
--  DDL for Index UNQ_BUILD_MACHINE_CONFIG02
3497
--------------------------------------------------------
4040 dpurdie 3498
 
5172 dpurdie 3499
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_BUILD_MACHINE_CONFIG02" ON "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" ("MACHINE_HOSTNAME") 
3500
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3501
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3502
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3503
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3504
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3505
--------------------------------------------------------
6999 dpurdie 3506
--  DDL for Index CQ_SOFTWARE_ISSUE_INDEX6
3507
--------------------------------------------------------
5384 dpurdie 3508
 
3509
  CREATE INDEX "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE_INDEX6" ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" ("NEW_NUM") 
3510
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3511
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3512
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3513
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3514
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3515
--------------------------------------------------------
4308 dpurdie 3516
--  DDL for Index BUILD_MACHINES_PK
3517
--------------------------------------------------------
4040 dpurdie 3518
 
5172 dpurdie 3519
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_MACHINES_PK" ON "RELEASE_MANAGER"."BUILD_MACHINES" ("BM_ID") 
3520
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3521
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3522
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3523
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3524
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3525
--------------------------------------------------------
3526
--  DDL for Index INX_TTB_SESSION
3527
--------------------------------------------------------
4040 dpurdie 3528
 
5172 dpurdie 3529
  CREATE INDEX "RELEASE_MANAGER"."INX_TTB_SESSION" ON "RELEASE_MANAGER"."TEMP_TREE_BROWSE" ("SESSION_NUM") 
3530
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3531
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3532
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3533
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3534
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3535
--------------------------------------------------------
3536
--  DDL for Index UNQ_RTD
3537
--------------------------------------------------------
4040 dpurdie 3538
 
5172 dpurdie 3539
  CREATE INDEX "RELEASE_MANAGER"."UNQ_RTD" ON "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" ("PV_ID", "RTD_ID") 
3540
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3541
  STORAGE(INITIAL 5242880 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3542
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3543
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3544
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3545
--------------------------------------------------------
3546
--  DDL for Index BUILD_PLAN_PK
3547
--------------------------------------------------------
5892 dpurdie 3548
 
3549
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_PLAN_PK" ON "RELEASE_MANAGER"."BUILD_PLAN" ("RTAG_ID", "BUILD_ORDER", "PV_ID") 
3550
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3551
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3552
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3553
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3554
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3555
--------------------------------------------------------
3556
--  DDL for Index SDK_CONTENT_INDEX1
3557
--------------------------------------------------------
5172 dpurdie 3558
 
3559
  CREATE INDEX "RELEASE_MANAGER"."SDK_CONTENT_INDEX1" ON "RELEASE_MANAGER"."SDK_CONTENT" ("SDKTAG_ID") 
3560
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3561
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3562
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3563
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3564
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3565
--------------------------------------------------------
3566
--  DDL for Index CQ_STATEDEF_PK
3567
--------------------------------------------------------
5384 dpurdie 3568
 
3569
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."CQ_STATEDEF_PK" ON "RELEASE_MANAGER"."CQ_STATEDEF" ("ID") 
3570
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3571
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3572
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3573
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3574
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3575
--------------------------------------------------------
4211 dpurdie 3576
--  DDL for Index INX_RL_RTAG_ID
4040 dpurdie 3577
--------------------------------------------------------
3578
 
5172 dpurdie 3579
  CREATE INDEX "RELEASE_MANAGER"."INX_RL_RTAG_ID" ON "RELEASE_MANAGER"."RELEASE_LINKS" ("RTAG_ID") 
3580
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3581
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3582
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3583
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3584
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3585
--------------------------------------------------------
4211 dpurdie 3586
--  DDL for Index UNQ_VIEW_DEF
4040 dpurdie 3587
--------------------------------------------------------
3588
 
5172 dpurdie 3589
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_VIEW_DEF" ON "RELEASE_MANAGER"."VIEW_DEF" ("VIEW_ID", "PKG_ID") 
3590
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3591
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3592
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3593
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3594
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3595
--------------------------------------------------------
4211 dpurdie 3596
--  DDL for Index INX_PACKAGES_PKG_NAME
4040 dpurdie 3597
--------------------------------------------------------
3598
 
5172 dpurdie 3599
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGES_PKG_NAME" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PKG_ID") 
3600
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
3601
  STORAGE(INITIAL 6291456 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3602
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3603
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3604
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3605
--------------------------------------------------------
4211 dpurdie 3606
--  DDL for Index INX_PCOMP_FK_PV_ID
4040 dpurdie 3607
--------------------------------------------------------
3608
 
5172 dpurdie 3609
  CREATE INDEX "RELEASE_MANAGER"."INX_PCOMP_FK_PV_ID" ON "RELEASE_MANAGER"."PRODUCT_COMPONENTS" ("PV_ID") 
3610
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3611
  STORAGE(INITIAL 11534336 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3612
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3613
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3614
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3615
--------------------------------------------------------
4211 dpurdie 3616
--  DDL for Index DAEMON_INSTRUCTIONS_UK1
4040 dpurdie 3617
--------------------------------------------------------
3618
 
5172 dpurdie 3619
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS_UK1" ON "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" ("OP_CODE", "RTAG_ID", "PV_ID") 
3620
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3621
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3622
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3623
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3624
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3625
--------------------------------------------------------
4211 dpurdie 3626
--  DDL for Index INX_FILE_NAME
4040 dpurdie 3627
--------------------------------------------------------
3628
 
5172 dpurdie 3629
  CREATE INDEX "RELEASE_MANAGER"."INX_FILE_NAME" ON "RELEASE_MANAGER"."RELEASE_COMPONENTS" (UPPER("FILE_NAME")) 
3630
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3631
  STORAGE(INITIAL 1147142144 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3632
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3633
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3634
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3635
--------------------------------------------------------
4211 dpurdie 3636
--  DDL for Index INX_IS_PATCH_IGNORE
4040 dpurdie 3637
--------------------------------------------------------
3638
 
5172 dpurdie 3639
  CREATE INDEX "RELEASE_MANAGER"."INX_IS_PATCH_IGNORE" ON "RELEASE_MANAGER"."IGNORE_WARNINGS" ("IS_PATCH_IGNORE") 
3640
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3641
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3642
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3643
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3644
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3645
--------------------------------------------------------
6999 dpurdie 3646
--  DDL for Index PK_TEST_RUN
3647
--------------------------------------------------------
6031 dpurdie 3648
 
3649
  CREATE INDEX "RELEASE_MANAGER"."PK_TEST_RUN" ON "RELEASE_MANAGER"."TEST_RUN" ("TESTRUN_ID") 
3650
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3651
  STORAGE(INITIAL 109051904 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3652
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3653
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3654
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3655
--------------------------------------------------------
4211 dpurdie 3656
--  DDL for Index UNQ_BUILD_ENV_DOCS
4040 dpurdie 3657
--------------------------------------------------------
3658
 
5172 dpurdie 3659
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_BUILD_ENV_DOCS" ON "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS" ("BE_ID", "DOC_NUM") 
3660
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3661
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3662
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3663
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3664
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3665
--------------------------------------------------------
4211 dpurdie 3666
--  DDL for Index INX_PROJ_ACTION_LOG_PROJ
4040 dpurdie 3667
--------------------------------------------------------
3668
 
5172 dpurdie 3669
  CREATE INDEX "RELEASE_MANAGER"."INX_PROJ_ACTION_LOG_PROJ" ON "RELEASE_MANAGER"."PROJECT_ACTION_LOG" ("PROJ_ID") 
3670
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3671
  STORAGE(INITIAL 327680 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3672
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3673
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3674
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3675
--------------------------------------------------------
3676
--  DDL for Index LICENCING_PK
3677
--------------------------------------------------------
5384 dpurdie 3678
 
3679
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."LICENCING_PK" ON "RELEASE_MANAGER"."LICENCING" ("PV_ID", "LICENCE") 
3680
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3681
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3682
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3683
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3684
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3685
--------------------------------------------------------
3686
--  DDL for Index BUILD_SERVICE_CONFIG_INDEX1
3687
--------------------------------------------------------
5172 dpurdie 3688
 
3689
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG_INDEX1" ON "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG" ("SERVICE") 
3690
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3691
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3692
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3693
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3694
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3695
--------------------------------------------------------
3696
--  DDL for Index RELEASE_MODIFIED_PK
3697
--------------------------------------------------------
5172 dpurdie 3698
 
3699
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."RELEASE_MODIFIED_PK" ON "RELEASE_MANAGER"."RELEASE_MODIFIED" ("RTAG_ID") 
3700
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3701
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3702
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3703
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3704
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3705
--------------------------------------------------------
3706
--  DDL for Index CQ_HISTORY_INDEX2
3707
--------------------------------------------------------
5384 dpurdie 3708
 
3709
  CREATE INDEX "RELEASE_MANAGER"."CQ_HISTORY_INDEX2" ON "RELEASE_MANAGER"."CQ_HISTORY" ("ENTITYDEF_ID") 
3710
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3711
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3712
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3713
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3714
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3715
--------------------------------------------------------
3716
--  DDL for Index INX_TTB_LEVEL_NUM
3717
--------------------------------------------------------
3718
 
5172 dpurdie 3719
  CREATE INDEX "RELEASE_MANAGER"."INX_TTB_LEVEL_NUM" ON "RELEASE_MANAGER"."TEMP_TREE_BROWSE" ("LEVEL_NUM") 
3720
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3721
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3722
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3723
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3724
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3725
--------------------------------------------------------
6999 dpurdie 3726
--  DDL for Index BLAT_SERVERS_UK1
3727
--------------------------------------------------------
3728
 
3729
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BLAT_SERVERS_UK1" ON "RELEASE_MANAGER"."BLAT_SERVERS" ("BLAT_SERVER_NAME") 
3730
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3731
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3732
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3733
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3734
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3735
--------------------------------------------------------
4211 dpurdie 3736
--  DDL for Index UNQ_WORK_IN_PROGRESS
4040 dpurdie 3737
--------------------------------------------------------
3738
 
5172 dpurdie 3739
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_WORK_IN_PROGRESS" ON "RELEASE_MANAGER"."WORK_IN_PROGRESS" ("RTAG_ID", "PV_ID") 
3740
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3741
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3742
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3743
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3744
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3745
--------------------------------------------------------
7340 dpurdie 3746
--  DDL for Index BUILD_PLATFORMS_CONFIG_INDEX1
3747
--------------------------------------------------------
3748
 
3749
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG_INDEX1" ON "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG" ("BP_ID", "GBE_ID") 
3750
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3751
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3752
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3753
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3754
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3755
--------------------------------------------------------
4211 dpurdie 3756
--  DDL for Index INX_PACKAGES_V_NMM
4040 dpurdie 3757
--------------------------------------------------------
3758
 
6999 dpurdie 3759
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGES_V_NMM" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("V_NMM") 
5172 dpurdie 3760
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
3761
  STORAGE(INITIAL 9437184 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3762
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3763
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3764
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3765
--------------------------------------------------------
6999 dpurdie 3766
--  DDL for Index TEST_RUN_IDX_BUILD_ID
3767
--------------------------------------------------------
6031 dpurdie 3768
 
3769
  CREATE INDEX "RELEASE_MANAGER"."TEST_RUN_IDX_BUILD_ID" ON "RELEASE_MANAGER"."TEST_RUN" ("BUILD_ID") 
3770
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3771
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3772
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3773
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3774
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3775
--------------------------------------------------------
4211 dpurdie 3776
--  DDL for Index UNQ_PLANNED
4040 dpurdie 3777
--------------------------------------------------------
3778
 
5172 dpurdie 3779
  CREATE INDEX "RELEASE_MANAGER"."UNQ_PLANNED" ON "RELEASE_MANAGER"."PLANNED" ("RTAG_ID", "PV_ID") 
3780
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3781
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3782
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3783
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3784
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3785
--------------------------------------------------------
6999 dpurdie 3786
--  DDL for Index PV_BUILDINFO
3787
--------------------------------------------------------
3788
 
3789
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PV_BUILDINFO" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PKG_ID", "PKG_VERSION", "MODIFIED_STAMP", "MODIFIER_ID", "DLOCKED", "BUILD_TIME", "BUILD_TYPE", "CREATED_STAMP") 
3790
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3791
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3792
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3793
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3794
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3795
--------------------------------------------------------
4211 dpurdie 3796
--  DDL for Index INX_TES_PKGEXT
4040 dpurdie 3797
--------------------------------------------------------
3798
 
5172 dpurdie 3799
  CREATE INDEX "RELEASE_MANAGER"."INX_TES_PKGEXT" ON "RELEASE_MANAGER"."TEMP_ENV_STATES" ("PKG_ID", "V_EXT") 
3800
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
3801
  STORAGE(INITIAL 524288 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3802
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3803
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3804
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3805
--------------------------------------------------------
3806
--  DDL for Index UNQ_BUILD_MACHINE_CONFIG01
3807
--------------------------------------------------------
4040 dpurdie 3808
 
5172 dpurdie 3809
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_BUILD_MACHINE_CONFIG01" ON "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" (LOWER("DISPLAY_NAME")) 
3810
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3811
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3812
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3813
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3814
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3815
--------------------------------------------------------
6999 dpurdie 3816
--  DDL for Index CQ_SOFTWARE_ISSUE_INDEX2
3817
--------------------------------------------------------
5384 dpurdie 3818
 
3819
  CREATE INDEX "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE_INDEX2" ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" ("STATE") 
3820
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3821
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3822
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3823
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3824
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3825
--------------------------------------------------------
3826
--  DDL for Index TEMP_ENV_DEPS_PK
3827
--------------------------------------------------------
5384 dpurdie 3828
 
3829
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."TEMP_ENV_DEPS_PK" ON "RELEASE_MANAGER"."TEMP_ENV_DEPS" ("PV_ID", "SESSION_NUM", "DPV_ID") 
3830
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3831
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3832
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3833
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3834
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3835
--------------------------------------------------------
4211 dpurdie 3836
--  DDL for Index UNQ_RELEASE_LINKS
4040 dpurdie 3837
--------------------------------------------------------
3838
 
5172 dpurdie 3839
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_RELEASE_LINKS" ON "RELEASE_MANAGER"."RELEASE_LINKS" ("RTAG_ID", "REF_RTAG_ID") 
3840
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3841
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3842
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3843
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3844
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3845
--------------------------------------------------------
3846
--  DDL for Index UNQ_PKG_DOC
3847
--------------------------------------------------------
4040 dpurdie 3848
 
5172 dpurdie 3849
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PKG_DOC" ON "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" ("PV_ID", "DOC_NUM") 
3850
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3851
  STORAGE(INITIAL 2097152 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3852
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3853
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3854
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3855
--------------------------------------------------------
3856
--  DDL for Index LXR_STATE_PK
3857
--------------------------------------------------------
5384 dpurdie 3858
 
3859
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."LXR_STATE_PK" ON "RELEASE_MANAGER"."LXR_STATE" ("RTAG_ID") 
3860
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3861
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3862
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3863
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3864
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3865
--------------------------------------------------------
4211 dpurdie 3866
--  DDL for Index DAEMON_INSTRUCTIONS_PK
4040 dpurdie 3867
--------------------------------------------------------
3868
 
5172 dpurdie 3869
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS_PK" ON "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" ("DAEMON_INSTRUCTIONS_ID") 
3870
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3871
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3872
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3873
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3874
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3875
--------------------------------------------------------
7340 dpurdie 3876
--  DDL for Index BUILD_PLATFORMS_CONFIG2_PK
3877
--------------------------------------------------------
3878
 
3879
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2_PK" ON "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2" ("BP_ID", "BMCON_ID") 
3880
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3881
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3882
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3883
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3884
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3885
--------------------------------------------------------
4308 dpurdie 3886
--  DDL for Index INX_DAEMON_INST_SCHED_DATETIME
3887
--------------------------------------------------------
4040 dpurdie 3888
 
5172 dpurdie 3889
  CREATE INDEX "RELEASE_MANAGER"."INX_DAEMON_INST_SCHED_DATETIME" ON "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" ("SCHEDULED_DATETIME") 
3890
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3891
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3892
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3893
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3894
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3895
--------------------------------------------------------
4211 dpurdie 3896
--  DDL for Index INX_TTB_PKG
4040 dpurdie 3897
--------------------------------------------------------
3898
 
5172 dpurdie 3899
  CREATE INDEX "RELEASE_MANAGER"."INX_TTB_PKG" ON "RELEASE_MANAGER"."TEMP_TREE_BROWSE" ("PKG_ID", "V_EXT") 
3900
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3901
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3902
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3903
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3904
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3905
--------------------------------------------------------
4211 dpurdie 3906
--  DDL for Index UNQ_VALIDATION_RULES
4040 dpurdie 3907
--------------------------------------------------------
3908
 
6031 dpurdie 3909
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_VALIDATION_RULES" ON "RELEASE_MANAGER"."VALIDATION_RULES_DELETE_ME" ("FIELD_NAME") 
5172 dpurdie 3910
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3911
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3912
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3913
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3914
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3915
--------------------------------------------------------
3916
--  DDL for Index BUILD_STANDARDS_ADDENDUM_PK
3917
--------------------------------------------------------
4040 dpurdie 3918
 
5172 dpurdie 3919
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM_PK" ON "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" ("BSA_ID") 
3920
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3921
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3922
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3923
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3924
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3925
--------------------------------------------------------
4211 dpurdie 3926
--  DDL for Index INX_PV_OWNER_ID
4040 dpurdie 3927
--------------------------------------------------------
3928
 
5172 dpurdie 3929
  CREATE INDEX "RELEASE_MANAGER"."INX_PV_OWNER_ID" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("OWNER_ID") 
3930
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3931
  STORAGE(INITIAL 7340032 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3932
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3933
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3934
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3935
--------------------------------------------------------
4211 dpurdie 3936
--  DDL for Index INX_TES_TES_STATE
4040 dpurdie 3937
--------------------------------------------------------
3938
 
5172 dpurdie 3939
  CREATE INDEX "RELEASE_MANAGER"."INX_TES_TES_STATE" ON "RELEASE_MANAGER"."TEMP_ENV_STATES" ("TES_STATE") 
3940
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
3941
  STORAGE(INITIAL 458752 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3942
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3943
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3944
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3945
--------------------------------------------------------
6999 dpurdie 3946
--  DDL for Index INX_PV_MODIFIER
3947
--------------------------------------------------------
3948
 
3949
  CREATE INDEX "RELEASE_MANAGER"."INX_PV_MODIFIER" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("MODIFIER_ID", "MODIFIED_STAMP") 
3950
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3951
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
3952
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3953
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
3954
  TABLESPACE "RELEASE_MANAGER_DATA" ;
3955
--------------------------------------------------------
4308 dpurdie 3956
--  DDL for Index UNQ_AN_PART1
3957
--------------------------------------------------------
4040 dpurdie 3958
 
5172 dpurdie 3959
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_AN_PART1" ON "RELEASE_MANAGER"."ADDITIONAL_NOTES" ("PV_ID", "NOTE_ID") 
3960
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3961
  STORAGE(INITIAL 3145728 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3962
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3963
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3964
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3965
--------------------------------------------------------
4211 dpurdie 3966
--  DDL for Index UNQ_RELEASE_CONTENTS
4040 dpurdie 3967
--------------------------------------------------------
3968
 
5172 dpurdie 3969
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_RELEASE_CONTENTS" ON "RELEASE_MANAGER"."RELEASE_CONTENT" ("RTAG_ID", "PV_ID") 
3970
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
3971
  STORAGE(INITIAL 10485760 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3972
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3973
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3974
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 3975
--------------------------------------------------------
3976
--  DDL for Index INX_ACTION_LOG_PV_ID
3977
--------------------------------------------------------
4040 dpurdie 3978
 
5172 dpurdie 3979
  CREATE INDEX "RELEASE_MANAGER"."INX_ACTION_LOG_PV_ID" ON "RELEASE_MANAGER"."ACTION_LOG" ("PV_ID") 
3980
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3981
  STORAGE(INITIAL 109051904 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3982
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3983
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3984
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 3985
--------------------------------------------------------
4211 dpurdie 3986
--  DDL for Index UNQ_TEST_TYPE_NAME
4040 dpurdie 3987
--------------------------------------------------------
3988
 
5172 dpurdie 3989
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_TEST_TYPE_NAME" ON "RELEASE_MANAGER"."TEST_TYPES" ("TEST_TYPE_NAME") 
3990
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
3991
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 3992
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
3993
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 3994
  TABLESPACE "RELEASE_MANAGER_INDX" ;
3995
--------------------------------------------------------
3996
--  DDL for Index PEGGED_VERSIONS_INDEX1
3997
--------------------------------------------------------
5172 dpurdie 3998
 
3999
  CREATE INDEX "RELEASE_MANAGER"."PEGGED_VERSIONS_INDEX1" ON "RELEASE_MANAGER"."PEGGED_VERSIONS" ("RTAG_ID", "PV_ID") 
4000
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4001
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4002
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4003
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4004
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4005
--------------------------------------------------------
4308 dpurdie 4006
--  DDL for Index PKNOTE_MANAGER1
4007
--------------------------------------------------------
4040 dpurdie 4008
 
5172 dpurdie 4009
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PKNOTE_MANAGER1" ON "RELEASE_MANAGER"."NOTE_MANAGER" ("NID") 
4010
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4011
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4012
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4013
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4014
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4015
--------------------------------------------------------
4016
--  DDL for Index INX_PACKAGES_V_MM
4017
--------------------------------------------------------
4040 dpurdie 4018
 
6999 dpurdie 4019
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGES_V_MM" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("V_MM") 
5172 dpurdie 4020
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
4021
  STORAGE(INITIAL 6291456 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4022
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4023
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4024
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4025
--------------------------------------------------------
4026
--  DDL for Index INX_CODE_REVIEW
4027
--------------------------------------------------------
4040 dpurdie 4028
 
5172 dpurdie 4029
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."INX_CODE_REVIEW" ON "RELEASE_MANAGER"."CODE_REVIEWS" ("PV_ID") 
4030
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4031
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4032
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4033
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4034
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4035
--------------------------------------------------------
4211 dpurdie 4036
--  DDL for Index UNQ_VTREES
4040 dpurdie 4037
--------------------------------------------------------
4038
 
5172 dpurdie 4039
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_VTREES" ON "RELEASE_MANAGER"."VTREES" ("PROJ_ID", "VTREE_NAME") 
4040
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4041
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4042
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4043
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4044
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4045
--------------------------------------------------------
4046
--  DDL for Index INX_PACKAGE_DEPS_PKG_ID
4047
--------------------------------------------------------
4040 dpurdie 4048
 
5172 dpurdie 4049
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGE_DEPS_PKG_ID" ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ("PKG_ID") 
4050
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
4051
  STORAGE(INITIAL 83886080 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4052
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4053
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4054
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4055
--------------------------------------------------------
4211 dpurdie 4056
--  DDL for Index UNQ_PROJECTS
4040 dpurdie 4057
--------------------------------------------------------
4058
 
5172 dpurdie 4059
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PROJECTS" ON "RELEASE_MANAGER"."PROJECTS" ("PROJ_NAME") 
4060
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4061
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4062
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4063
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4064
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4065
--------------------------------------------------------
4066
--  DDL for Index INX_PACKAGES_V_EXT
4067
--------------------------------------------------------
4040 dpurdie 4068
 
5172 dpurdie 4069
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGES_V_EXT" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("V_EXT") 
4070
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
4071
  STORAGE(INITIAL 7340032 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4072
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4073
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4074
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4075
--------------------------------------------------------
4211 dpurdie 4076
--  DDL for Index PK_PROJECTS
4040 dpurdie 4077
--------------------------------------------------------
4078
 
5172 dpurdie 4079
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_PROJECTS" ON "RELEASE_MANAGER"."PROJECTS" ("PROJ_ID") 
4080
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4081
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4082
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4083
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4084
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4085
--------------------------------------------------------
4086
--  DDL for Index INX_TES_PV
4087
--------------------------------------------------------
4040 dpurdie 4088
 
5172 dpurdie 4089
  CREATE INDEX "RELEASE_MANAGER"."INX_TES_PV" ON "RELEASE_MANAGER"."TEMP_ENV_STATES" ("PV_ID") 
4090
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
4091
  STORAGE(INITIAL 851968 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4092
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4093
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4094
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4095
--------------------------------------------------------
6999 dpurdie 4096
--  DDL for Index CQ_SOFTWARE_ISSUE_INDEX5
4097
--------------------------------------------------------
5384 dpurdie 4098
 
4099
  CREATE INDEX "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE_INDEX5" ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" ("PRODUCT") 
4100
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4101
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4102
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4103
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4104
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4105
--------------------------------------------------------
4211 dpurdie 4106
--  DDL for Index UNQ_VTREE_WORLD
4040 dpurdie 4107
--------------------------------------------------------
4108
 
5172 dpurdie 4109
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_VTREE_WORLD" ON "RELEASE_MANAGER"."VTREES_WORLD" ("WORLD_ID", "VTREE_ID") 
4110
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4111
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4112
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4113
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4114
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4115
--------------------------------------------------------
4308 dpurdie 4116
--  DDL for Index UNQ_IGW
4117
--------------------------------------------------------
4040 dpurdie 4118
 
5172 dpurdie 4119
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_IGW" ON "RELEASE_MANAGER"."IGNORE_WARNINGS" ("RTAG_ID", "PV_ID", "DPV_ID") 
4120
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4121
  STORAGE(INITIAL 5242880 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4122
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4123
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4124
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4125
--------------------------------------------------------
4126
--  DDL for Index INX_DAEMON_INST_RTAG_ID
4127
--------------------------------------------------------
4040 dpurdie 4128
 
5172 dpurdie 4129
  CREATE INDEX "RELEASE_MANAGER"."INX_DAEMON_INST_RTAG_ID" ON "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" ("RTAG_ID") 
4130
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4131
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4132
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4133
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4134
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4135
--------------------------------------------------------
4136
--  DDL for Index SDK_TAGS_PK
4137
--------------------------------------------------------
5172 dpurdie 4138
 
4139
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."SDK_TAGS_PK" ON "RELEASE_MANAGER"."SDK_TAGS" ("SDKTAG_ID") 
4140
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4141
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4142
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4143
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4144
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4145
--------------------------------------------------------
4146
--  DDL for Index CQ_SOFTWARE_ISSUE_INDEX7
4147
--------------------------------------------------------
5384 dpurdie 4148
 
4149
  CREATE INDEX "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE_INDEX7" ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" ("DEPENDANT_DEVIS") 
4150
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4151
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4152
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4153
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4154
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4155
--------------------------------------------------------
4156
--  DDL for Index PK_NOTIFICATION_HISTORY
4157
--------------------------------------------------------
4040 dpurdie 4158
 
5172 dpurdie 4159
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_NOTIFICATION_HISTORY" ON "RELEASE_MANAGER"."NOTIFICATION_HISTORY" ("RTAG_ID", "PV_ID", "USER_ID") 
4160
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4161
  STORAGE(INITIAL 2097152 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4162
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4163
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4164
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4165
--------------------------------------------------------
4166
--  DDL for Index UNQ_PACKAGE_DEPENDENCIES
4167
--------------------------------------------------------
4040 dpurdie 4168
 
5172 dpurdie 4169
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PACKAGE_DEPENDENCIES" ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ("PV_ID", "DPV_ID") 
4170
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4171
  STORAGE(INITIAL 100663296 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4172
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4173
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4174
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4175
--------------------------------------------------------
6999 dpurdie 4176
--  DDL for Index PACKAGE_PATCHES_INDEX1
4177
--------------------------------------------------------
6600 dpurdie 4178
 
4179
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PACKAGE_PATCHES_INDEX1" ON "RELEASE_MANAGER"."PACKAGE_PATCHES" ("PV_ID", "PATCH_ID") 
4180
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4181
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
4182
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4183
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4184
  TABLESPACE "RELEASE_MANAGER_DATA" ;
4185
--------------------------------------------------------
4308 dpurdie 4186
--  DDL for Index INX_PACKAGE_DEPS_PV_ID
4187
--------------------------------------------------------
4040 dpurdie 4188
 
5172 dpurdie 4189
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGE_DEPS_PV_ID" ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ("PV_ID") 
4190
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
4191
  STORAGE(INITIAL 75497472 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4192
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4193
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4194
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4195
--------------------------------------------------------
4211 dpurdie 4196
--  DDL for Index BUILD_STANDARDS_PK
4040 dpurdie 4197
--------------------------------------------------------
4198
 
5172 dpurdie 4199
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_STANDARDS_PK" ON "RELEASE_MANAGER"."BUILD_STANDARDS" ("BS_ID") 
4200
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4201
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4202
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4203
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4204
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4205
--------------------------------------------------------
4206
--  DDL for Index UNQ_CQ
4207
--------------------------------------------------------
4040 dpurdie 4208
 
5172 dpurdie 4209
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_CQ" ON "RELEASE_MANAGER"."CQ_ISSUES" ("PV_ID", "ISS_ID", "ISS_DB") 
4210
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4211
  STORAGE(INITIAL 4194304 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4212
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4213
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4214
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4215
--------------------------------------------------------
7340 dpurdie 4216
--  DDL for Index BUILD_PLATFORMS_PK
4217
--------------------------------------------------------
4218
 
4219
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_PLATFORMS_PK" ON "RELEASE_MANAGER"."BUILD_PLATFORMS" ("BP_ID") 
4220
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4221
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
4222
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4223
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
4224
  TABLESPACE "RELEASE_MANAGER_DATA" ;
4225
--------------------------------------------------------
4211 dpurdie 4226
--  DDL for Index UNQ_PACKAGE_VERSIONS
4040 dpurdie 4227
--------------------------------------------------------
4228
 
5172 dpurdie 4229
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PACKAGE_VERSIONS" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PKG_ID", "PKG_VERSION") 
4230
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4231
  STORAGE(INITIAL 11534336 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4232
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4233
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4234
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4235
--------------------------------------------------------
4236
--  DDL for Index INX_PV_ID_TEST_ID_PKGDOC
4237
--------------------------------------------------------
4040 dpurdie 4238
 
5172 dpurdie 4239
  CREATE INDEX "RELEASE_MANAGER"."INX_PV_ID_TEST_ID_PKGDOC" ON "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" ("PV_ID", "TEST_ID") 
4240
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4241
  STORAGE(INITIAL 2097152 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4242
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4243
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4244
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4245
--------------------------------------------------------
4211 dpurdie 4246
--  DDL for Index UNQ_PACKAGE_PATCHES
4040 dpurdie 4247
--------------------------------------------------------
4248
 
5172 dpurdie 4249
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PACKAGE_PATCHES" ON "RELEASE_MANAGER"."PACKAGE_PATCHES" ("PATCH_ID") 
4250
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
4251
  STORAGE(INITIAL 327680 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4252
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4253
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4254
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4255
--------------------------------------------------------
6999 dpurdie 4256
--  DDL for Index CQ_SOFTWARE_ISSUE_INDEX3
4257
--------------------------------------------------------
5384 dpurdie 4258
 
4259
  CREATE INDEX "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE_INDEX3" ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" ("PACKAGE_REF") 
4260
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4261
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4262
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4263
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4264
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4265
--------------------------------------------------------
4266
--  DDL for Index UNQ_PACKAGE_DEP_REV
4267
--------------------------------------------------------
5384 dpurdie 4268
 
6999 dpurdie 4269
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PACKAGE_DEP_REV" ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ("DPV_ID", "PV_ID") 
4270
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4271
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
4272
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4273
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
4274
  TABLESPACE "RELEASE_MANAGER_DATA" ;
4275
--------------------------------------------------------
4276
--  DDL for Index CQ_SOFTWARE_ISSUE_INDEX4
4277
--------------------------------------------------------
4278
 
5384 dpurdie 4279
  CREATE INDEX "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE_INDEX4" ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" ("PROJECT") 
4280
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4281
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4282
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4283
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4284
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4285
--------------------------------------------------------
4308 dpurdie 4286
--  DDL for Index UNQ_REL_COMPONENTS
4287
--------------------------------------------------------
4040 dpurdie 4288
 
5172 dpurdie 4289
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_REL_COMPONENTS" ON "RELEASE_MANAGER"."RELEASE_COMPONENTS" ("PV_ID", "FILE_NAME", "FILE_PATH") 
4290
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4291
  STORAGE(INITIAL 3489660928 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4292
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4293
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4294
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4295
--------------------------------------------------------
4296
--  DDL for Index PK_PACKAGE_VERSIONS
4297
--------------------------------------------------------
4040 dpurdie 4298
 
5172 dpurdie 4299
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_PACKAGE_VERSIONS" ON "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") 
4300
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4301
  STORAGE(INITIAL 5242880 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4302
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4303
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4304
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4305
--------------------------------------------------------
4306
--  DDL for Index UNQ_RELEASE_METRICS
4307
--------------------------------------------------------
4040 dpurdie 4308
 
5172 dpurdie 4309
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_RELEASE_METRICS" ON "RELEASE_MANAGER"."RELEASE_METRICS" ("RTAG_ID") 
4310
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4311
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4312
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4313
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4314
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4315
--------------------------------------------------------
4316
--  DDL for Index UNQ_BUILD_ORDER
4317
--------------------------------------------------------
4040 dpurdie 4318
 
5172 dpurdie 4319
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_BUILD_ORDER" ON "RELEASE_MANAGER"."BUILD_ORDER" ("RTAG_ID", "PV_ID", "STEP_NUM") 
4320
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4321
  STORAGE(INITIAL 3145728 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4322
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4323
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4324
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4325
--------------------------------------------------------
4326
--  DDL for Index PK_BUILD_ENVIRONMENTS
4327
--------------------------------------------------------
4040 dpurdie 4328
 
5172 dpurdie 4329
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_BUILD_ENVIRONMENTS" ON "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" ("BE_ID") 
4330
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4331
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4332
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4333
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4334
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4335
--------------------------------------------------------
4336
--  DDL for Index CQ_SOFTWARE_ISSUE_INDEX1
4337
--------------------------------------------------------
5384 dpurdie 4338
 
4339
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE_INDEX1" ON "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" ("DBID") 
4340
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4341
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4342
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4343
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4344
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4345
--------------------------------------------------------
4346
--  DDL for Index INX_PACKAGE_DEPS_DPKG_ID
4347
--------------------------------------------------------
4040 dpurdie 4348
 
5172 dpurdie 4349
  CREATE INDEX "RELEASE_MANAGER"."INX_PACKAGE_DEPS_DPKG_ID" ON "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ("DPKG_ID") 
4350
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
4351
  STORAGE(INITIAL 83886080 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4352
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4353
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4354
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4355
--------------------------------------------------------
4356
--  DDL for Index INX_RL_REFRTAG_ID
4357
--------------------------------------------------------
4040 dpurdie 4358
 
5172 dpurdie 4359
  CREATE INDEX "RELEASE_MANAGER"."INX_RL_REFRTAG_ID" ON "RELEASE_MANAGER"."RELEASE_LINKS" ("REF_RTAG_ID") 
4360
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4361
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4362
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4363
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4364
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4365
--------------------------------------------------------
4366
--  DDL for Index INX_RC_BASE_VIEW_ID
4367
--------------------------------------------------------
4040 dpurdie 4368
 
5172 dpurdie 4369
  CREATE INDEX "RELEASE_MANAGER"."INX_RC_BASE_VIEW_ID" ON "RELEASE_MANAGER"."RELEASE_CONTENT" ("BASE_VIEW_ID") 
4370
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING 
4371
  STORAGE(INITIAL 8388608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4372
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4373
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4374
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4375
--------------------------------------------------------
4376
--  DDL for Index INX_DAEMON_INST_PV_ID
4377
--------------------------------------------------------
4211 dpurdie 4378
 
5172 dpurdie 4379
  CREATE INDEX "RELEASE_MANAGER"."INX_DAEMON_INST_PV_ID" ON "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" ("PV_ID") 
4380
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4381
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4382
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4383
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4384
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4385
--------------------------------------------------------
4040 dpurdie 4386
--  DDL for Index UNQ_PROJECT_EXT
4387
--------------------------------------------------------
4388
 
5172 dpurdie 4389
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_PROJECT_EXT" ON "RELEASE_MANAGER"."PROJECT_EXTENTIONS" ("PROJ_ID", "EXT_NAME") 
4390
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4391
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4392
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4393
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4394
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4395
--------------------------------------------------------
4396
--  DDL for Index VCS_TYPE_PK
4397
--------------------------------------------------------
4040 dpurdie 4398
 
5172 dpurdie 4399
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."VCS_TYPE_PK" ON "RELEASE_MANAGER"."VCS_TYPE" ("VCS_TYPE_ID") 
4400
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4401
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4402
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4403
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4404
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4405
--------------------------------------------------------
4211 dpurdie 4406
--  DDL for Index INX_PC_FILE_NAME
4040 dpurdie 4407
--------------------------------------------------------
4408
 
5172 dpurdie 4409
  CREATE INDEX "RELEASE_MANAGER"."INX_PC_FILE_NAME" ON "RELEASE_MANAGER"."PRODUCT_COMPONENTS" (UPPER("FILE_NAME")) 
4410
  PCTFREE 10 INITRANS 2 MAXTRANS 167 COMPUTE STATISTICS 
4411
  STORAGE(INITIAL 18874368 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4412
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4413
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4414
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4415
--------------------------------------------------------
4416
--  DDL for Index PK_RELEASE_TAGS
4417
--------------------------------------------------------
4040 dpurdie 4418
 
5172 dpurdie 4419
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_RELEASE_TAGS" ON "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") 
4420
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4421
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4422
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4423
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4424
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4425
--------------------------------------------------------
4211 dpurdie 4426
--  DDL for Index FK_PROJ_ID_RELEASE_TAGS
4040 dpurdie 4427
--------------------------------------------------------
4428
 
5172 dpurdie 4429
  CREATE INDEX "RELEASE_MANAGER"."FK_PROJ_ID_RELEASE_TAGS" ON "RELEASE_MANAGER"."RELEASE_TAGS" ("PROJ_ID") 
4430
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4431
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4432
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4433
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4434
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4435
--------------------------------------------------------
4211 dpurdie 4436
--  DDL for Index INX_RCOMP_PV_ID
4040 dpurdie 4437
--------------------------------------------------------
4438
 
5172 dpurdie 4439
  CREATE INDEX "RELEASE_MANAGER"."INX_RCOMP_PV_ID" ON "RELEASE_MANAGER"."RELEASE_COMPONENTS" ("PV_ID") 
4440
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4441
  STORAGE(INITIAL 724566016 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4442
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4443
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4444
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4445
--------------------------------------------------------
4446
--  DDL for Index MICROSOFT_PK_DTPROPERTIES
4447
--------------------------------------------------------
4040 dpurdie 4448
 
5172 dpurdie 4449
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."MICROSOFT_PK_DTPROPERTIES" ON "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" ("ID", "PROPERTY") 
4450
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4451
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4452
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4453
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4454
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4455
--------------------------------------------------------
4456
--  DDL for Index BLAT_RELEASES_INDEX1
4457
--------------------------------------------------------
5172 dpurdie 4458
 
6999 dpurdie 4459
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BLAT_RELEASES_INDEX1" ON "RELEASE_MANAGER"."BLAT_RELEASES" ("BLAT_ID", "RTAG_ID") 
4460
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4461
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
4462
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4463
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
4464
  TABLESPACE "RELEASE_MANAGER_DATA" ;
4465
--------------------------------------------------------
4466
--  DDL for Index BUILD_ID
4467
--------------------------------------------------------
4468
 
5172 dpurdie 4469
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."BUILD_ID" ON "RELEASE_MANAGER"."BUILD_INSTANCES" ("BUILD_ID") 
4470
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4471
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4472
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4473
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4474
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4040 dpurdie 4475
--------------------------------------------------------
4308 dpurdie 4476
--  DDL for Index INX_UT_PV_TEST_TYPE
4477
--------------------------------------------------------
4040 dpurdie 4478
 
5172 dpurdie 4479
  CREATE INDEX "RELEASE_MANAGER"."INX_UT_PV_TEST_TYPE" ON "RELEASE_MANAGER"."UNIT_TESTS" ("PV_ID", "TEST_TYPES_FK") 
4480
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4481
  STORAGE(INITIAL 7340032 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4482
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4483
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4484
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4485
--------------------------------------------------------
4486
--  DDL for Index PK_WORLDS
4487
--------------------------------------------------------
4040 dpurdie 4488
 
5172 dpurdie 4489
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."PK_WORLDS" ON "RELEASE_MANAGER"."WORLDS" ("WORLD_ID") 
4490
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4491
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4492
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4493
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4494
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4495
--------------------------------------------------------
4496
--  DDL for Index CQ_HISTORY_INDEX1
4497
--------------------------------------------------------
5384 dpurdie 4498
 
4499
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."CQ_HISTORY_INDEX1" ON "RELEASE_MANAGER"."CQ_HISTORY" ("DBID") 
4500
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4501
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4502
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4503
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4504
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4505
--------------------------------------------------------
4308 dpurdie 4506
--  DDL for Index UNQ_AN_PART2
4507
--------------------------------------------------------
4040 dpurdie 4508
 
5172 dpurdie 4509
  CREATE UNIQUE INDEX "RELEASE_MANAGER"."UNQ_AN_PART2" ON "RELEASE_MANAGER"."ADDITIONAL_NOTES" ("PV_ID", "NOTE_TITLE") 
4510
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
4511
  STORAGE(INITIAL 6291456 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
6031 dpurdie 4512
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
4513
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
6999 dpurdie 4514
  TABLESPACE "RELEASE_MANAGER_INDX" ;
4308 dpurdie 4515
--------------------------------------------------------
6999 dpurdie 4516
--  DDL for Trigger TRIGGER_BLAT_SERVER_ID
4040 dpurdie 4517
--------------------------------------------------------
4518
 
6999 dpurdie 4519
  CREATE OR REPLACE TRIGGER "RELEASE_MANAGER"."TRIGGER_BLAT_SERVER_ID" 
4520
BEFORE INSERT ON BLAT_SERVERS 
4521
for each row
4522
BEGIN
4523
  select SEQ_BLAT_SERVER_ID.nextval
4524
  into :new.BLAT_ID
4525
  from DUAL;
4526
END;
4527
/
4528
ALTER TRIGGER "RELEASE_MANAGER"."TRIGGER_BLAT_SERVER_ID" ENABLE;
4040 dpurdie 4529
--------------------------------------------------------
6999 dpurdie 4530
--  DDL for Trigger TRIGGER_BSA_ID
4308 dpurdie 4531
--------------------------------------------------------
4040 dpurdie 4532
 
6999 dpurdie 4533
  CREATE OR REPLACE TRIGGER "RELEASE_MANAGER"."TRIGGER_BSA_ID" 
4534
BEFORE INSERT ON BUILD_STANDARDS_ADDENDUM
4535
for each row
4536
BEGIN
4537
  select SEQ_BSA_ID.nextval
4538
  into :new.BSA_ID
4539
  from DUAL;
4540
END;
4541
/
4542
ALTER TRIGGER "RELEASE_MANAGER"."TRIGGER_BSA_ID" ENABLE;
4040 dpurdie 4543
--------------------------------------------------------
6999 dpurdie 4544
--  DDL for Trigger TRIGGER_BUILD_INSTANCE
4040 dpurdie 4545
--------------------------------------------------------
4546
 
6999 dpurdie 4547
  CREATE OR REPLACE TRIGGER "RELEASE_MANAGER"."TRIGGER_BUILD_INSTANCE" 
4548
BEFORE INSERT ON BUILD_INSTANCES
4549
for each row
4550
BEGIN
4551
  If :new.BUILD_ID is null then
4552
  select SEQ_BUILD_INSTANCE.nextval
4553
  into :new.BUILD_ID
4554
  from DUAL;
4555
  End If;
4556
END;
4557
/
4558
ALTER TRIGGER "RELEASE_MANAGER"."TRIGGER_BUILD_INSTANCE" ENABLE;
4040 dpurdie 4559
--------------------------------------------------------
7340 dpurdie 4560
--  DDL for Trigger TRIGGER_BUILD_PLATFORMS
4561
--------------------------------------------------------
4562
 
4563
  CREATE OR REPLACE TRIGGER "RELEASE_MANAGER"."TRIGGER_BUILD_PLATFORMS" 
4564
BEFORE INSERT ON BUILD_PLATFORMS 
4565
for each row
4566
BEGIN
4567
    If :new.BP_ID is null then
4568
      select SEQ_BUILD_PLATFORMS.nextval
4569
      into :new.BP_ID
4570
      from DUAL;
4571
  END IF;
4572
END;
4573
/
4574
ALTER TRIGGER "RELEASE_MANAGER"."TRIGGER_BUILD_PLATFORMS" ENABLE;
4575
--------------------------------------------------------
6999 dpurdie 4576
--  DDL for Trigger TRIGGER_SDK_NAMES
4040 dpurdie 4577
--------------------------------------------------------
4578
 
6999 dpurdie 4579
  CREATE OR REPLACE TRIGGER "RELEASE_MANAGER"."TRIGGER_SDK_NAMES" 
4580
BEFORE INSERT ON SDK_NAMES
4581
for each row
4582
BEGIN
4583
  select SEQ_SDK_ID.nextval
4584
  into :new.SDK_ID
4585
  from DUAL;
4586
END;
4587
/
4588
ALTER TRIGGER "RELEASE_MANAGER"."TRIGGER_SDK_NAMES" ENABLE;
4308 dpurdie 4589
--------------------------------------------------------
6999 dpurdie 4590
--  DDL for Trigger TRIGGER_SDK_TAGS
4308 dpurdie 4591
--------------------------------------------------------
4211 dpurdie 4592
 
6999 dpurdie 4593
  CREATE OR REPLACE TRIGGER "RELEASE_MANAGER"."TRIGGER_SDK_TAGS" 
4594
BEFORE INSERT ON SDK_TAGS
4595
for each row
4596
BEGIN
4597
  select SEQ_SDKTAG_ID.nextval
4598
  into :new.SDKTAG_ID
4599
  from DUAL;
4600
END;
4601
/
4602
ALTER TRIGGER "RELEASE_MANAGER"."TRIGGER_SDK_TAGS" ENABLE;
4040 dpurdie 4603
--------------------------------------------------------
6999 dpurdie 4604
--  DDL for Trigger TRIGGER_TEST_RUNS
4040 dpurdie 4605
--------------------------------------------------------
4606
 
6999 dpurdie 4607
  CREATE OR REPLACE TRIGGER "RELEASE_MANAGER"."TRIGGER_TEST_RUNS" 
4608
  BEFORE INSERT ON TEST_RUN
4609
  for each row
4610
BEGIN
4611
  if :new.TESTRUN_ID is null then
4612
  select SEQ_TESTRUN_ID.nextval
4613
    into :new.TESTRUN_ID
4614
  from DUAL;
4615
  end if;
4616
END;
4617
/
4618
ALTER TRIGGER "RELEASE_MANAGER"."TRIGGER_TEST_RUNS" ENABLE;
4040 dpurdie 4619
--------------------------------------------------------
6999 dpurdie 4620
--  DDL for Procedure ADD_AUTOBUILD_FAILURE_INFO
4040 dpurdie 4621
--------------------------------------------------------
6999 dpurdie 4622
set define off;
4040 dpurdie 4623
 
6999 dpurdie 4624
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."ADD_AUTOBUILD_FAILURE_INFO" (
4625
   nprojid     IN   NUMBER,
4626
   nviewid     IN   NUMBER,
4627
   suserlist   IN   VARCHAR2
4628
)
4629
IS
4630
   groupid   NUMBER;
4631
/******************************************************************************
4632
   NAME:       ADD_AUTOBUILD_FAILURE
4633
   PURPOSE:
4040 dpurdie 4634
 
6999 dpurdie 4635
   REVISIONS:
4636
   Ver        Date        Author           Description
4637
   ---------  ----------  ---------------  ------------------------------------
4638
   1.0        11/04/2006   Rupesh Solanki Created this procedure.
4040 dpurdie 4639
 
6999 dpurdie 4640
   NOTES:
4040 dpurdie 4641
 
6999 dpurdie 4642
   Automatically available Auto Replace Keywords:
4643
      Object Name:     ADD_AUTOBUILD_FAILURE
4644
      Sysdate:         11/04/2006
4645
      Date and Time:   11/04/2006, 9:28:28 AM, and 11/04/2006 9:28:28 AM
4646
      Username:         (set in TOAD Options, Procedure Editor)
4647
      Table Name:       (set in the "New PL/SQL Object" dialog)
4040 dpurdie 4648
 
6999 dpurdie 4649
******************************************************************************/
4650
BEGIN
4651
   BEGIN
4652
      SELECT group_email_id
4653
        INTO groupid
4654
        FROM autobuild_failure
4655
       WHERE proj_id = nprojid AND view_id = nviewid;
4656
   EXCEPTION
4657
      WHEN NO_DATA_FOUND
4658
      THEN
4659
         --  Create Next Sequence Id ---
4660
         SELECT seq_group_email_id.NEXTVAL
4661
           INTO groupid
4662
           FROM DUAL;
4040 dpurdie 4663
 
6999 dpurdie 4664
         INSERT INTO autobuild_failure
4665
                     (group_email_id, proj_id, view_id
4666
                     )
4667
              VALUES (groupid, nprojid, nviewid
4668
                     );
4669
   END;
4040 dpurdie 4670
 
6999 dpurdie 4671
   add_view_members (groupid, suserlist);
4672
END add_autobuild_failure_info;
4040 dpurdie 4673
 
6999 dpurdie 4674
/
4040 dpurdie 4675
--------------------------------------------------------
6999 dpurdie 4676
--  DDL for Procedure ADD_COMPONENT
4308 dpurdie 4677
--------------------------------------------------------
6999 dpurdie 4678
set define off;
4040 dpurdie 4679
 
6999 dpurdie 4680
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."ADD_COMPONENT" ( nPvId IN RELEASE_COMPONENTS.PV_ID%TYPE,
4681
	   	  		  						  	sFileName IN RELEASE_COMPONENTS.FILE_NAME%TYPE,
4682
											sFilePath IN RELEASE_COMPONENTS.FILE_PATH%TYPE DEFAULT NULL,
4683
											nByteSize IN RELEASE_COMPONENTS.BYTE_SIZE%TYPE,
4684
											sCRCcksum IN RELEASE_COMPONENTS.CRC_CKSUM%TYPE DEFAULT NULL,
4685
											sCRCmodcrc IN RELEASE_COMPONENTS.CRC_MODCRC%TYPE DEFAULT NULL
4686
                                           ) IS
4687
/* ---------------------------------------------------------------------------
4688
    Version: 3.0.0
4689
   --------------------------------------------------------------------------- */
4040 dpurdie 4690
 
5172 dpurdie 4691
 
6999 dpurdie 4692
BEGIN
4040 dpurdie 4693
 
6999 dpurdie 4694
	 --- Insert into RELEASE_COMPONENTS
4695
	 INSERT INTO RELEASE_COMPONENTS ( PV_ID, FILE_NAME, FILE_PATH, BYTE_SIZE, CRC_CKSUM, CRC_MODCRC )
4696
	 VALUES ( nPvId, sFileName, sFilePath, nByteSize, sCRCcksum, sCRCmodcrc  );
4040 dpurdie 4697
 
4698
 
5172 dpurdie 4699
 
4040 dpurdie 4700
 
6999 dpurdie 4701
END Add_Component;
4040 dpurdie 4702
 
6999 dpurdie 4703
/
4040 dpurdie 4704
--------------------------------------------------------
6999 dpurdie 4705
--  DDL for Procedure ADD_PACKAGE_INTEREST
4040 dpurdie 4706
--------------------------------------------------------
6999 dpurdie 4707
set define off;
4040 dpurdie 4708
 
6999 dpurdie 4709
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."ADD_PACKAGE_INTEREST" (
4710
    nProjId    IN PROJECTS.PROJ_ID%TYPE,
4711
    nPkgIdList IN VARCHAR2,
4712
    nUserId    IN NUMBER )
4713
IS
4714
  npkgidcollector relmgr_number_tab_t := relmgr_number_tab_t ();
4715
  nPkgId        NUMBER;
4716
  alreadyExists NUMBER;
4717
BEGIN
4718
  npkgidcollector := in_list_number2 (nPkgIdList);
4719
  FOR i IN 1..npkgidcollector.COUNT
4720
  LOOP
4721
    nPkgId := npkgidcollector(i);
4722
    --- Ensure it doesn't already exist
4723
    SELECT COUNT(*)
4724
    INTO alreadyExists
4725
    FROM PACKAGE_INTEREST
4726
    WHERE USER_ID      = nUserId
4727
    AND PKG_ID         = nPkgId
4728
    AND PROJ_ID        = nProjId;
4040 dpurdie 4729
 
6999 dpurdie 4730
    IF ( alreadyExists = 0 ) THEN
4731
      --- Insert into PACKAGE_INTEREST TABLE
4732
      INSERT
4733
        INTO PACKAGE_INTEREST (PROJ_ID, PKG_ID, USER_ID )
4734
        VALUES (nProjId, nPkgId, nUserId );
4735
    END IF;
4736
  END LOOP;
4737
END ADD_PACKAGE_INTEREST;
4040 dpurdie 4738
 
6999 dpurdie 4739
/
4308 dpurdie 4740
--------------------------------------------------------
6999 dpurdie 4741
--  DDL for Procedure ADD_RUNTIME_DEPENDENCY
4308 dpurdie 4742
--------------------------------------------------------
6999 dpurdie 4743
set define off;
4040 dpurdie 4744
 
6999 dpurdie 4745
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."ADD_RUNTIME_DEPENDENCY" ( NNpv_id IN NUMBER,
4746
                                                     SSrtd_name IN PACKAGES.pkg_name%TYPE,
4747
                                                     SSrtd_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
4748
                                                     NNuser_id IN NUMBER
4749
                                                    ) IS
4750
/* ---------------------------------------------------------------------------
4751
    Version: 3.1
4752
   --------------------------------------------------------------------------- */
4040 dpurdie 4753
 
6999 dpurdie 4754
    retRTD_ID NUMBER;
4040 dpurdie 4755
 
6999 dpurdie 4756
	CURSOR rtd_cur IS
4757
        SELECT rtd_id FROM runtime_dependencies WHERE pv_id = NNpv_id AND rtd_id = retRTD_ID;
4758
    rtd_rec rtd_cur%ROWTYPE;
4040 dpurdie 4759
 
6999 dpurdie 4760
BEGIN
4761
    --- Seed database with package_name and version if required ---
4762
    Seed_Package_Names_Versions ( SSrtd_name, SSrtd_version, NNuser_id, retRTD_ID );
4040 dpurdie 4763
 
6999 dpurdie 4764
	OPEN rtd_cur;
4765
    FETCH rtd_cur INTO rtd_rec;
5384 dpurdie 4766
 
6999 dpurdie 4767
    IF rtd_cur%NOTFOUND
4768
    THEN
4769
		/* Make sure it does not exists already as runtime dependency */
4040 dpurdie 4770
 
6999 dpurdie 4771
		--- Add new Runtime Dependency ---
4772
	    INSERT INTO runtime_dependencies ( pv_id, rtd_id, mod_date, mod_user )
7000 dpurdie 4773
	    VALUES (  NNpv_id, retRTD_ID, ora_sysdatetime , NNuser_id );
4040 dpurdie 4774
 
6999 dpurdie 4775
    	/* LOG ACTION */
4776
        Log_Action ( NNpv_id, 'runtime_add', NNuser_id,
4777
    			     'Runtime package: '|| SSrtd_name ||' '|| SSrtd_version );
4040 dpurdie 4778
 
6999 dpurdie 4779
	END IF;
4040 dpurdie 4780
 
6031 dpurdie 4781
 
6999 dpurdie 4782
END Add_Runtime_Dependency;
5892 dpurdie 4783
 
6999 dpurdie 4784
/
4040 dpurdie 4785
--------------------------------------------------------
6999 dpurdie 4786
--  DDL for Procedure ADD_VIEW_MEMBERS
6031 dpurdie 4787
--------------------------------------------------------
6999 dpurdie 4788
set define off;
4040 dpurdie 4789
 
6999 dpurdie 4790
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."ADD_VIEW_MEMBERS" (nGroupId IN NUMBER, sUserList IN VARCHAR2) IS
4040 dpurdie 4791
 
6999 dpurdie 4792
/******************************************************************************
4793
   NAME:       ADD_VIEW_MEMBERS
4794
   PURPOSE:
4040 dpurdie 4795
 
6999 dpurdie 4796
   REVISIONS:
4797
   Ver        Date        Author           Description
4798
   ---------  ----------  ---------------  ------------------------------------
4799
   1.0        11/04/2006          1. Created this procedure.
5384 dpurdie 4800
 
6999 dpurdie 4801
   NOTES:
6031 dpurdie 4802
 
6999 dpurdie 4803
   Automatically available Auto Replace Keywords:
4804
      Object Name:     ADD_VIEW_MEMBERS
4805
      Sysdate:         11/04/2006
4806
      Date and Time:   11/04/2006, 9:52:58 AM, and 11/04/2006 9:52:58 AM
4807
      Username:         (set in TOAD Options, Procedure Editor)
4808
      Table Name:       (set in the "New PL/SQL Object" dialog)
4040 dpurdie 4809
 
6999 dpurdie 4810
******************************************************************************/
4811
CURSOR user_cur IS
4812
	SELECT u.USER_ID
4813
	  FROM USERS u
4814
	 WHERE u.USER_ID IN (
4815
	 	   			   	SELECT *
4816
						  FROM THE ( SELECT CAST( IN_LIST_NUMBER( sUserList ) AS RELMGR_NUMBER_TAB_t ) FROM dual )
4817
						);
4818
user_rec user_cur%ROWTYPE;
5384 dpurdie 4819
 
4040 dpurdie 4820
 
6999 dpurdie 4821
BEGIN
4040 dpurdie 4822
 
6999 dpurdie 4823
	 OPEN user_cur;
4824
	 FETCH user_cur INTO user_rec;
6031 dpurdie 4825
 
6999 dpurdie 4826
	 WHILE user_cur%FOUND
4827
	 LOOP
4828
	 	 INSERT INTO MEMBERS_GROUP (GROUP_EMAIL_ID, USER_ID)
4829
	 	 VALUES ( nGroupId, user_rec.USER_ID);
6031 dpurdie 4830
 
6999 dpurdie 4831
	 	 FETCH user_cur INTO user_rec;
4832
	 END LOOP;
6031 dpurdie 4833
 
5172 dpurdie 4834
 
6999 dpurdie 4835
 
4836
END ADD_VIEW_MEMBERS;
4837
 
4838
/
4040 dpurdie 4839
--------------------------------------------------------
6999 dpurdie 4840
--  DDL for Procedure BASIC_CLONE
4040 dpurdie 4841
--------------------------------------------------------
6999 dpurdie 4842
set define off;
4040 dpurdie 4843
 
6999 dpurdie 4844
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."BASIC_CLONE" (
4845
        nFROMpv_id IN NUMBER,
4846
        nTOpv_id IN NUMBER,
4847
        nRtag_id IN NUMBER,
4848
        nUser_id IN NUMBER,
4849
        nTOpkg_id IN NUMBER DEFAULT NULL,
4850
        enumISSUES_STATE_IMPORTED IN NUMBER DEFAULT NULL ) IS
5172 dpurdie 4851
 
6999 dpurdie 4852
   FromVersion PACKAGE_VERSIONS.PKG_VERSION%TYPE;
4853
   major NUMBER;
4854
   minor NUMBER;
4855
   patch NUMBER;
4856
   buildn NUMBER;
4857
   from_vcs_type_id NUMBER;
4858
BEGIN
4859
------------------------------ Version Control System ------------------------------------------
4860
   SELECT vcs_type_id
4861
      INTO from_vcs_type_id
4862
      FROM package_versions WHERE pv_id = nFROMpv_id;
5384 dpurdie 4863
 
6999 dpurdie 4864
   UPDATE package_versions
4865
      SET vcs_type_id = from_vcs_type_id
4866
      WHERE pv_id = nTOpv_id;
4867
------------------------------------- Limits ---------------------------------------------------
4868
   select major_limit, minor_limit, patch_limit, build_number_limit
4869
   into major, minor, patch, buildn
4870
   from package_versions where pv_id=nFROMpv_id;
4871
    UPDATE package_versions SET
4872
           major_limit = major,
4873
           minor_limit = minor,
4874
           patch_limit = patch,
4875
           build_number_limit = buildn
4876
     WHERE PV_ID = nTOpv_id;
4877
------------------------------------- Clone Dependencies ---------------------------------------------------
4878
   IF NOT nRtag_id IS NULL
4879
   THEN
4880
      -- Auto Update Dependencies --
4881
      INSERT INTO PACKAGE_DEPENDENCIES
4882
           SELECT nTOpv_id AS pv_id,
4883
                  DECODE(nUser_id,
4884
                         frc.modifier_id,
4885
                         frc.pv_id,
4886
                         DECODE(frc.dlocked,
4887
                                'Y',
4888
                                frc.pv_id,
4889
                                dep.dpv_id)
4890
                         ) AS dpv_id,
4891
                  nTOpkg_id AS pkg_id,
4892
                  dep.dpkg_id,
4893
                  dep.build_type,
4894
                  dep.display_order
4895
             FROM PACKAGE_DEPENDENCIES dep,
4896
                  PACKAGE_VERSIONS pv,
4897
                  (
4898
                  /* Full Release Contents used for reference*/
4899
                  SELECT rpv.pv_id, rpv.pkg_id, NVL(rpv.v_ext, '|LINK_A_NULL|') AS v_ext, rpv.modifier_id, rpv.dlocked
4900
                  FROM RELEASE_CONTENT rel, PACKAGE_VERSIONS rpv
4901
                  WHERE rel.pv_id = rpv.pv_id AND rtag_id = nRtag_id
4902
                  ) frc
4903
            WHERE dep.pv_id = nFROMpv_id
4904
              AND dep.dpv_id = pv.pv_id
4905
              AND pv.pkg_id = frc.pkg_id(+)
4906
              AND NVL(pv.v_ext, '|LINK_A_NULL|') = frc.v_ext(+);
4907
   ELSE
4908
      -- Clone Dependencies --
4909
      INSERT INTO PACKAGE_DEPENDENCIES
4910
           SELECT nTOpv_id         AS pv_id,
4911
                  dep.dpv_id,
4912
                  nTOpkg_id        AS pkg_id,
4913
                  dep.dpkg_id,
4914
                  dep.build_type,
4915
                  dep.display_order
4916
             FROM PACKAGE_DEPENDENCIES dep
4917
            WHERE dep.pv_id = nFROMpv_id;
6031 dpurdie 4918
 
6999 dpurdie 4919
   END IF;
4040 dpurdie 4920
 
6999 dpurdie 4921
----------------------------------------- Clone Issues -------------------------------------------------------
4922
   IF enumISSUES_STATE_IMPORTED IS NULL
4923
   THEN
4924
        /* All Issues */
4925
       INSERT INTO CQ_ISSUES ( pv_id, iss_db, iss_id, iss_state, mod_date, notes )
4926
            SELECT nTOpv_id AS pv_id, iss_db, iss_id, iss_state, mod_date, notes
4927
              FROM CQ_ISSUES
4928
             WHERE pv_id = nFROMpv_id;
4929
   ELSE
4930
       /* Outstanding Issues Only */
4931
       INSERT INTO CQ_ISSUES ( pv_id, iss_db, iss_id, iss_state, mod_date, notes )
4932
            SELECT nTOpv_id AS pv_id, iss_db, iss_id, iss_state, mod_date, notes
4933
              FROM CQ_ISSUES
4934
             WHERE pv_id = nFROMpv_id
4935
               AND iss_state = enumISSUES_STATE_IMPORTED;
4936
   END IF;
4040 dpurdie 4937
 
6999 dpurdie 4938
------------------------------------ Clone Runtime Dependencies -----------------------------------------------
4939
   INSERT INTO RUNTIME_DEPENDENCIES (pv_id, rtd_id, rtd_url, rtd_comments, mod_date, mod_user)
4940
       SELECT nTOpv_id AS pv_id, rtd_id, rtd_url, rtd_comments, mod_date, mod_user
4941
       FROM RUNTIME_DEPENDENCIES WHERE pv_id = nFROMpv_id;
4040 dpurdie 4942
 
6999 dpurdie 4943
--------------------------------------- Clone Additional Notes ------------------------------------------------
4944
   INSERT INTO ADDITIONAL_NOTES ( NOTE_ID, PV_ID, NOTE_TITLE, NOTE_BODY, MOD_DATE, MOD_USER )
4945
        SELECT an.NOTE_ID,
4946
               nTOpv_id AS PV_ID,
4947
               an.NOTE_TITLE,
4948
               an.NOTE_BODY,
4949
               an.MOD_DATE,
4950
               an.MOD_USER
4951
          FROM ADDITIONAL_NOTES an
4952
         WHERE an.PV_ID = nFROMpv_id;
4040 dpurdie 4953
 
6999 dpurdie 4954
-------------------------------------------- Clone Unit Tests -------------------------------------------------
4955
-- Only clone 'Auto Unit Test', 'Interactive Unit Test' and 'Autobuild UTF'
4956
-- Only clone the basic information: TEST_SUMMARY
6031 dpurdie 4957
 
6999 dpurdie 4958
    INSERT INTO UNIT_TESTS (
4959
                            TEST_ID,
4960
                            PV_ID,
4961
                            TEST_TYPES_FK,
4962
                            TEST_SUMMARY
4963
                           )
4964
       SELECT ut.TEST_ID,
4965
              nTOpv_id AS PV_ID,
4966
              ut.TEST_TYPES_FK,
4967
              ut.TEST_SUMMARY
4968
         FROM UNIT_TESTS ut
4969
        WHERE ut.PV_ID = nFROMpv_id
4970
          AND ut.TEST_TYPES_FK IN (5,6,7);
4040 dpurdie 4971
 
6999 dpurdie 4972
-------------------------------------------- Clone Package Documents ------------------------------------------
4973
   INSERT INTO PACKAGE_DOCUMENTS ( PV_ID, TEST_ID, DOC_NUM, DOC_ID, IS_LATEST )
4974
        SELECT nTOpv_id AS PV_ID,
4975
               pd.test_id,
4976
               pd.doc_num,
4977
               pd.doc_id,
4978
               pd.IS_LATEST
4979
          FROM PACKAGE_DOCUMENTS pd
4980
         WHERE pd.PV_ID = nFROMpv_id;
5892 dpurdie 4981
 
6999 dpurdie 4982
-------------------------------------------- Clone Build Environments -----------------------------------------
4983
    INSERT INTO PACKAGE_BUILD_ENV ( PV_ID, BE_ID, BUILD_TYPE )
4984
    SELECT nTOpv_id AS PV_ID,
4985
           pkgbe.BE_ID,
4986
           pkgbe.BUILD_TYPE
4987
      FROM PACKAGE_BUILD_ENV pkgbe
4988
     WHERE pkgbe.PV_ID = nFROMpv_id;
4040 dpurdie 4989
 
6999 dpurdie 4990
---------------------------------------------Clone Package Build Info------------------------------------------
4991
    INSERT INTO PACKAGE_BUILD_INFO (PV_ID, BM_ID, BSA_ID)
4992
    SELECT nTOpv_id AS PV_ID,
4993
           pkgbinfo.BM_ID,
4994
           pkgbinfo.BSA_ID
4995
      FROM PACKAGE_BUILD_INFO pkgbinfo
4996
     WHERE pkgbinfo.PV_ID = nFROMpv_id;
4040 dpurdie 4997
 
6999 dpurdie 4998
---------------------------------------------Clone Package Version Processes-----------------------------------
4999
    INSERT INTO PACKAGE_PROCESSES ( PV_ID, PROC_ID )
5000
    SELECT nTOpv_id AS PV_ID,
5001
           pp.PROC_ID
5002
      FROM PACKAGE_PROCESSES pp
5003
     WHERE pp.PV_ID = nFROMpv_id;
6031 dpurdie 5004
 
6999 dpurdie 5005
---------------------------------------------Clone Licencing Associations-----------------------------------
5006
    PK_LICENCING.CLONE_LICENCING(nFROMpv_id, nTOpv_id, nUser_id);
5007
---------------------------------------------------------------------------------------------------------------
4040 dpurdie 5008
 
6999 dpurdie 5009
    /* LOG ACTION */
5010
    SELECT pv.PKG_VERSION INTO FromVersion
5011
      FROM PACKAGE_VERSIONS pv
5012
     WHERE pv.PV_ID = nFROMpv_id;
4040 dpurdie 5013
 
6999 dpurdie 5014
    Log_Action ( nTOpv_id, 'clone_from', nUser_id,
5015
                 'Details cloned from: '|| FromVersion );
4040 dpurdie 5016
 
6999 dpurdie 5017
---------------------------------------------------------------------------------------------------------------
4040 dpurdie 5018
 
6999 dpurdie 5019
END Basic_Clone;
4040 dpurdie 5020
 
6999 dpurdie 5021
/
4040 dpurdie 5022
--------------------------------------------------------
6999 dpurdie 5023
--  DDL for Procedure BUILD_TREE
4308 dpurdie 5024
--------------------------------------------------------
6999 dpurdie 5025
set define off;
4040 dpurdie 5026
 
6999 dpurdie 5027
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."BUILD_TREE" ( nRtag_id IN NUMBER,
5028
	   	  		  					     retSessionNum OUT NUMBER ) IS
6031 dpurdie 5029
 
6999 dpurdie 5030
/* ---------------------------------------------------------------------------
5031
    Version: 3.0.0
5032
   --------------------------------------------------------------------------- */
5033
    rowCnt 			NUMBER := 0;						-- Iterations counter
5034
    iteration 		NUMBER := 1;                  -- Maximum number of iterations allowed.
5035
    maxIterations 	NUMBER := 50;      	  	-- This will prevent infinite loops if cyrcular dependencies are found
5036
	UP_THE_TREE 	CONSTANT NUMBER DEFAULT 1;
5037
	DOWN_THE_TREE 	CONSTANT NUMBER DEFAULT -1;
5038
    sessionNum 		NUMBER;
5039
	levelNum		NUMBER;
6031 dpurdie 5040
 
6999 dpurdie 5041
BEGIN
5042
    SELECT SEQ_session_num.nextval INTO sessionNum FROM DUAL;
4040 dpurdie 5043
 
6999 dpurdie 5044
	/*
5045
	||	   Start UP THE TREE
5046
	*/
6031 dpurdie 5047
 
5048
 
6999 dpurdie 5049
	/* Packages with no dependencies */
5050
    INSERT INTO TEMP_TREE_BROWSE (SESSION_NUM, LEVEL_NUM, DIRECTION, PV_ID, PKG_ID, V_EXT )
5051
		SELECT sessionNum AS SESSION_NUM,
5052
			   iteration AS LEVEL_NUM,
5053
			   UP_THE_TREE AS DIRECTION,
5054
			   rc.pv_id, pv.pkg_id, pv.v_ext
5055
		  FROM release_content rc,
5056
		  	   package_versions pv
5057
		 WHERE rc.rtag_id = nRtag_id
5058
		   AND rc.pv_id = pv.pv_id
5059
		 MINUS
5060
		SELECT sessionNum AS SESSION_NUM,
5061
			   iteration AS LEVEL_NUM,
5062
			   UP_THE_TREE AS DIRECTION,
5063
			   dep.pv_id, pv.pkg_id, pv.v_ext
5064
		  FROM package_dependencies dep,
5065
		  	   package_versions pv
5066
		 WHERE dep.pv_id IN ( SELECT pv_id FROM release_content WHERE rtag_id = nRtag_id )
5067
		   AND dep.pv_id = pv.pv_id;
4040 dpurdie 5068
 
5069
 
6999 dpurdie 5070
	/* Browse UP the build tree */
5071
	iteration := iteration + 1;
5072
    LOOP
6031 dpurdie 5073
 
6999 dpurdie 5074
		INSERT INTO TEMP_TREE_BROWSE (SESSION_NUM, LEVEL_NUM, DIRECTION, PV_ID, PKG_ID, V_EXT )
5075
			SELECT DISTINCT
5076
			       sessionNum AS SESSION_NUM,
5077
			       iteration AS LEVEL_NUM,
5078
				   UP_THE_TREE AS DIRECTION,
5079
				   rdep.pv_id, rdep.pkg_id, rdep.v_ext
5080
			  FROM (
5081
			        SELECT dep.pv_id, pv.pkg_id, pv.v_ext, dep.dpv_id, dpv.pkg_id AS dpkg_id, dpv.v_ext AS dv_ext
5082
			          FROM package_dependencies dep,
5083
			               release_content rc,
5084
						   package_versions pv,
5085
						   package_versions dpv
5086
			         WHERE dep.pv_id = rc.pv_id
5087
			           AND rc.rtag_id = nRtag_id
5088
					   AND dep.pv_id = pv.pv_id
5089
					   AND dep.dpv_id = dpv.pv_id
5090
					) rdep,
5091
					temp_tree_browse ttb
5092
			 WHERE rdep.dpkg_id  = ttb.pkg_id
5093
			   AND NVL(rdep.dv_ext ,'|LINK_A_NULL|') = NVL(ttb.v_ext,'|LINK_A_NULL|')
5094
			   AND ttb.SESSION_NUM = sessionNum
5095
			   AND ttb.LEVEL_NUM = iteration - 1
5096
			MINUS
5097
			/* Packages with all depencencies NOT matched */
5098
			SELECT DISTINCT
5099
			       sessionNum AS SESSION_NUM,
5100
			       iteration AS LEVEL_NUM,
5101
				   UP_THE_TREE AS DIRECTION,
5102
				   rdep.pv_id, rdep.pkg_id, rdep.v_ext
5103
			  FROM (
5104
			        SELECT dep.pv_id, pv.pkg_id, pv.v_ext, dep.dpv_id, dpv.pkg_id AS dpkg_id, dpv.v_ext AS dv_ext
5105
			          FROM package_dependencies dep,
5106
			               release_content rc,
5107
						   package_versions pv,
5108
						   package_versions dpv
5109
			         WHERE dep.pv_id = rc.pv_id
5110
			           AND rc.rtag_id = nRtag_id
5111
					   AND dep.pv_id = pv.pv_id
5112
					   AND dep.dpv_id = dpv.pv_id
5113
					) rdep,
5114
					(
5115
					 SELECT tb.*
5116
					   FROM temp_tree_browse tb
5117
					  WHERE tb.SESSION_NUM = sessionNum
5118
					) ttb
5119
			 WHERE rdep.dpkg_id  = ttb.pkg_id (+)
5120
			   AND NVL(rdep.dv_ext ,'|LINK_A_NULL|') = NVL(ttb.v_ext (+),'|LINK_A_NULL|')
5121
			   AND ttb.SESSION_NUM IS NULL;
6031 dpurdie 5122
 
6999 dpurdie 5123
		rowCnt := SQL%ROWCOUNT;
5124
		IF rowCnt > 0 THEN
5125
           iteration := iteration + 1;
5126
		END IF;
5127
        EXIT WHEN (rowCnt < 1) OR (iteration > maxIterations);
5128
    END LOOP;
4040 dpurdie 5129
 
6999 dpurdie 5130
	/*---------------------------------------------------------------------------------------------------------------------*/
4040 dpurdie 5131
 
6999 dpurdie 5132
	/*     Check for unresolved dependencies
5133
	||
5134
	*/
5135
	/* UNRESOLVED */
5136
	 SELECT COUNT(*) INTO rowCnt
5137
	   FROM (
5138
			 SELECT pv.pv_id, pv.pkg_id, pv.v_ext
5139
			  FROM release_content rc,
5140
			  	   package_versions pv
5141
			 WHERE rc.rtag_id = nRtag_id
5142
			   AND rc.pv_id = pv.pv_id
5143
			MINUS
5144
			SELECT ttb.pv_id, ttb.pkg_id, ttb.v_ext
5145
			  FROM temp_tree_browse ttb
5146
			 WHERE ttb.session_num = sessionNum
5147
			);
6031 dpurdie 5148
 
4040 dpurdie 5149
 
5150
 
6999 dpurdie 5151
	 IF rowCnt > 0
5152
	 THEN
5153
	 	 /*     Circular dependencies detected.
5154
		 ||     Try to resolve build order from the top now.
5155
		 ||		Start DOWN THE TREE
5156
		 */
4040 dpurdie 5157
 
6999 dpurdie 5158
		iteration := 0;
5159
		 /* Top Level packages */
5160
		INSERT INTO TEMP_TREE_BROWSE (SESSION_NUM, LEVEL_NUM, DIRECTION, PV_ID, PKG_ID, V_EXT )
5161
			SELECT sessionNum AS SESSION_NUM,
5162
			       iteration AS LEVEL_NUM,
5163
				   DOWN_THE_TREE AS DIRECTION,
5164
				   pv.pv_id, pv.pkg_id, pv.v_ext
5165
			  FROM (
5166
					/* Packages no one depends on ( Top level packages )*/
5167
					(
5168
					/* All parents*/
5169
					SELECT pv.pkg_id, pv.v_ext
5170
			          FROM package_dependencies dep,
5171
			               release_content rc,
5172
						   package_versions pv
5173
			         WHERE dep.pv_id = rc.pv_id
5174
			           AND rc.rtag_id = nRtag_id
5175
					   AND dep.pv_id = pv.pv_id
5176
					 MINUS
5177
					 /* All children */
5178
					SELECT dpv.pkg_id, dpv.v_ext
5179
			          FROM package_dependencies dep,
5180
			               release_content rc,
5181
						   package_versions dpv
5182
			         WHERE dep.pv_id = rc.pv_id
5183
			           AND rc.rtag_id = nRtag_id
5184
					   AND dep.dpv_id = dpv.pv_id
5185
					 )
5186
					 MINUS
5187
					/* Packages with resolved dependencies from UP THE TREE */
5188
					SELECT ttb.pkg_id, ttb.v_ext
5189
					  FROM temp_tree_browse ttb
5190
					 WHERE ttb.session_num = sessionNum
5191
				  ) tpkg,
5192
				  package_versions pv,
5193
				  release_content rc
5194
			WHERE rc.rtag_id = nRtag_id
5195
			  AND rc.pv_id = pv.pv_id
5196
			  AND tpkg.pkg_id = pv.pkg_id
5197
			  AND NVL(tpkg.v_ext,'|LINK_A_NULL|') = NVL(pv.v_ext,'|LINK_A_NULL|');
4040 dpurdie 5198
 
6999 dpurdie 5199
 
5200
		 /* Keep taking packages which no one depende on */
5201
		 iteration := iteration - 1;
5202
		 LOOP
5203
			   INSERT INTO TEMP_TREE_BROWSE (SESSION_NUM, LEVEL_NUM, DIRECTION, PV_ID, PKG_ID, V_EXT )
5204
					SELECT sessionNum AS SESSION_NUM,
5205
					       iteration AS LEVEL_NUM,
5206
					       DOWN_THE_TREE AS DIRECTION,
5207
					       pv.pv_id, pv.pkg_id, pv.v_ext
5208
					  FROM (
5209
					 	/* All Unresolved */
5210
					 	(
5211
					 	SELECT pv.pkg_id, pv.v_ext
5212
					 	  FROM release_content rc,
5213
					 	  	   package_versions pv
5214
					 	 WHERE rc.rtag_id = nRtag_id
5215
					 	   AND rc.pv_id = pv.pv_id
5216
					 	MINUS
5217
					 	SELECT ttb.pkg_id, ttb.v_ext
5218
					 	  FROM temp_tree_browse ttb
5219
					 	 WHERE ttb.session_num = sessionNum
5220
					 	)
5221
					 	 MINUS
5222
					 	(
5223
					 	 /* Children of Unresolved */
5224
					 	SELECT dpv.pkg_id, dpv.V_EXT
5225
					 	  FROM (
5226
					 			SELECT pv.pv_id, pv.pkg_id, pv.v_ext
5227
					 			  FROM release_content rc,
5228
					 			  	   package_versions pv
5229
					 			 WHERE rc.rtag_id = nRtag_id
5230
					 			   AND rc.pv_id = pv.pv_id
5231
					 			MINUS
5232
					 			SELECT ttb.pv_id, ttb.pkg_id, ttb.v_ext
5233
					 			  FROM temp_tree_browse ttb
5234
					 			 WHERE ttb.session_num = sessionNum
5235
					 		   ) unr,
5236
					 		   package_dependencies dep,
5237
					 		   package_versions dpv
5238
					 	 WHERE unr.pv_id = dep.pv_id
5239
					 	   AND dep.dpv_id = dpv.pv_id
5240
					 	 )
5241
					   ) tpkg,
5242
					   package_versions pv,
5243
					   release_content rc
5244
					WHERE rc.rtag_id = nRtag_id
5245
					  AND rc.pv_id = pv.pv_id
5246
					  AND tpkg.pkg_id = pv.pkg_id
5247
					  AND NVL(tpkg.v_ext,'|LINK_A_NULL|') = NVL(pv.v_ext,'|LINK_A_NULL|');
5248
 
5249
            rowCnt := SQL%ROWCOUNT;
5250
        	IF rowCnt > 0 THEN
5251
	           iteration := iteration - 1;
5252
			END IF;
5253
            EXIT WHEN (rowCnt < 1);
5254
     	END LOOP;
5255
 
5256
	 END IF;
5257
 
5258
 
5259
	/*---------------------------------------------------------------------------------------------------------------------*/
5260
 
5261
	/*
5262
	|| 	 Save results from temp table
5263
	*/
5264
	/* Clean up build_order table */
5265
	DELETE FROM BUILD_ORDER WHERE rtag_id = nRtag_id;
5266
 
5267
	/* Save UP THE TREE */
5268
	INSERT INTO BUILD_ORDER ( RTAG_ID, STEP_NUM, PV_ID )
5269
		SELECT nRtag_id AS rtag_id,
5270
			   ttb.level_num AS step_num,
5271
			   ttb.PV_ID
5272
		  FROM temp_tree_browse ttb
5273
		 WHERE ttb.session_num = sessionNum
5274
		   AND ttb.direction = UP_THE_TREE;
5275
 
5276
	/*Get last step_num */
5277
	SELECT MAX(ttb.level_num) + 1 INTO levelNum
5278
	FROM temp_tree_browse ttb WHERE ttb.session_num = sessionNum AND ttb.DIRECTION = UP_THE_TREE;
5279
 
5280
	/* UNRESOLVED */
5281
	 SELECT COUNT(*) INTO rowCnt
5282
	   FROM (
5283
			 SELECT pv.pv_id, pv.pkg_id, pv.v_ext
5284
			  FROM release_content rc,
5285
			  	   package_versions pv
5286
			 WHERE rc.rtag_id = nRtag_id
5287
			   AND rc.pv_id = pv.pv_id
5288
			MINUS
5289
			SELECT ttb.pv_id, ttb.pkg_id, ttb.v_ext
5290
			  FROM temp_tree_browse ttb
5291
			 WHERE ttb.session_num = sessionNum
5292
			);
5293
 
5294
 
5295
	IF rowCnt > 0
5296
	THEN
5297
		/* Save unresolved packages */
5298
 		INSERT INTO BUILD_ORDER ( RTAG_ID, STEP_NUM, PV_ID, UNRESOLVED )
5299
		    SELECT  nRtag_id AS rtag_id,
5300
				    levelNum AS step_num,
5301
				    upv.PV_ID,
5302
					'Y' AS UNRESOLVED
5303
			   FROM (
5304
					 SELECT pv.pv_id, pv.pkg_id, pv.v_ext
5305
					  FROM release_content rc,
5306
					  	   package_versions pv
5307
					 WHERE rc.rtag_id = nRtag_id
5308
					   AND rc.pv_id = pv.pv_id
5309
					MINUS
5310
					SELECT ttb.pv_id, ttb.pkg_id, ttb.v_ext
5311
					  FROM temp_tree_browse ttb
5312
					 WHERE ttb.session_num = sessionNum
5313
					) upv;
5314
	END IF;
5315
 
5316
	/* Save DOWN THE TREE */
5317
	levelNum := 1000;
5318
	INSERT INTO BUILD_ORDER ( RTAG_ID, STEP_NUM, PV_ID )
5319
		SELECT nRtag_id AS rtag_id,
5320
			   levelNum + ttb.level_num  AS step_num,
5321
			   ttb.PV_ID
5322
		  FROM temp_tree_browse ttb
5323
		 WHERE ttb.session_num = sessionNum
5324
		   AND ttb.direction = DOWN_THE_TREE;
5325
 
5326
 
5327
	/*---------------------------------------------------------------------------------------------------------------------*/
5328
 
5329
	/* Clean up temp table */
5330
	DELETE FROM TEMP_TREE_BROWSE WHERE session_num = sessionNum;
5331
 
5332
	retSessionNum := sessionNum;
5333
END Build_Tree;
5334
 
5335
/
4040 dpurdie 5336
--------------------------------------------------------
6999 dpurdie 5337
--  DDL for Procedure CHANGE_PACKAGE_STATE
4040 dpurdie 5338
--------------------------------------------------------
6999 dpurdie 5339
set define off;
4040 dpurdie 5340
 
6999 dpurdie 5341
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."CHANGE_PACKAGE_STATE" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,
5342
											 nRtagId IN RELEASE_TAGS.RTAG_ID%TYPE ) IS
5343
/* ---------------------------------------------------------------------------
5344
    Version: 4.0
5345
   --------------------------------------------------------------------------- */
5346
 
5347
BEGIN
5348
 
5349
    -- Unlock Package
5350
    UPDATE RELEASE_CONTENT rc SET
5351
    	rc.PKG_STATE = 0
5352
    WHERE rc.PV_ID = nPvId
5353
	AND rc.RTAG_ID = nRtagId;
5354
 
5355
    /* LOG ACTION */
5356
   /*	Log_Action ( nPvId, 'unlock_package', nUserId );*/
5357
 
5358
END Change_Package_State;
5359
 
5360
/
4040 dpurdie 5361
--------------------------------------------------------
6999 dpurdie 5362
--  DDL for Procedure CHANGE_RELEASE_MODE
4040 dpurdie 5363
--------------------------------------------------------
6999 dpurdie 5364
set define off;
4040 dpurdie 5365
 
6999 dpurdie 5366
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."CHANGE_RELEASE_MODE" ( nModeCode IN NUMBER, nRtagId IN NUMBER, UserId IN NUMBER ) IS
5367
/* ---------------------------------------------------------------------------
5368
    Version: 3.0.0
5369
   --------------------------------------------------------------------------- */
5172 dpurdie 5370
 
6999 dpurdie 5371
	cMode CHAR(1) := NULL;
5372
	nProjId NUMBER;
5373
 
5374
BEGIN
5375
 
5376
 
5377
	/*
5378
	Author: Rupesh Solanki
5379
	Modified: 24th October 2006
5380
	Reason: Added the archive mode state into Release Manager
5381
	||	1 - Open Mode
5382
	||	2 - Restrictive Mode
5383
	||	3 - Closed Mode
5384
	||	4 - CCB Mode
5385
	||	5 - Archive Mode
5386
  ||  6 - Preserve Mode
5387
	*/
5388
	-- Get project Id
5389
	SELECT rt.PROJ_ID INTO nProjId
5390
	  FROM RELEASE_TAGS rt
5391
	 WHERE rt.RTAG_ID = nRtagId;
5392
 
5393
	IF nModeCode = 1 THEN
5394
		-- Open Mode
5395
		cMode := 'N';
5396
 
5397
		/* LOG ACTION */
5398
   		Log_Project_Action ( nProjId, 'set_to_open_mode', UserId, 'Release is set to Open Mode', nRtagId );
5399
 
5400
	ELSIF nModeCode = 2 THEN
5401
		-- Restrictive Mode
5402
		cMode := 'R';
5403
 
5404
		/* LOG ACTION */
5405
   		Log_Project_Action ( nProjId, 'set_to_restrictive_mode', UserId, 'Release is set to Restrictive Mode', nRtagId );
5406
 
5407
	ELSIF nModeCode = 3 THEN
5408
		-- Closed Mode
5409
		cMode := 'Y';
5410
 
5411
		/* LOG ACTION */
5412
   		Log_Project_Action ( nProjId, 'set_to_closed_mode', UserId, 'Release is set to Closed Mode', nRtagId  );
5413
 
5414
	ELSIF nModeCode = 4 THEN
5415
		-- CCB Mode
5416
		cMode := 'C';
5417
 
5418
		/* LOG ACTION */
5419
   		Log_Project_Action ( nProjId, 'set_to_ccb_mode', UserId, 'Release is set to CCB Mode', nRtagId  );
5420
 
5421
	ELSIF nModeCode = 5 THEN
5422
		-- Archive Mode
5423
		cMode := 'A';
5424
 
5425
		/* LOG ACTION */
5426
   		Log_Project_Action ( nProjId, 'set_to_archive_mode', UserId, 'Release is set to Archive Mode', nRtagId  );
5427
 
5428
  ELSIF nModeCode = 6 THEN
5429
		-- Archive Mode
5430
		cMode := 'P';
5431
 
5432
		/* LOG ACTION */
5433
   		Log_Project_Action ( nProjId, 'set_to_archive_mode', UserId, 'Release is set to Preserve Mode', nRtagId  );
5434
	END IF;
5435
 
5436
 
5437
 
5438
	-- Now update table
5439
	IF NOT cMode IS NULL THEN
5440
		UPDATE RELEASE_TAGS rt SET
5441
		rt.OFFICIAL = cMode,
5442
    rt.OFFICIAL_STAMP = ORA_SYSDATETIME,
5443
    rt.OFFICIAL_ID = UserId
5444
		WHERE rt.RTAG_ID = nRtagId;
5445
 
5446
	END IF;
5447
 
5448
 
5449
END CHANGE_RELEASE_MODE;
5450
 
5451
/
4040 dpurdie 5452
--------------------------------------------------------
6999 dpurdie 5453
--  DDL for Procedure CHECK_NEW_PATCHES
4040 dpurdie 5454
--------------------------------------------------------
6999 dpurdie 5455
set define off;
4040 dpurdie 5456
 
6999 dpurdie 5457
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."CHECK_NEW_PATCHES" (
5458
   nrtagid   IN   release_content.rtag_id%TYPE
5459
)
5460
IS
5461
/* ---------------------------------------------------------------------------
5462
    Version: 3.0
5463
   --------------------------------------------------------------------------- */
5464
BEGIN
5465
   /*--------------- Business Rules Here -------------------*/
5466
   /*IF nRtagId NOT IN (SELECT RTAG_ID FROM RELEASE_TAGS ) THEN
5467
      RAISE_APPLICATION_ERROR (-20000, 'Please contact the person in charge of Release Manager now.' );
5468
   END IF
5469
 
5470
   /*-------------------------------------------------------*/
5471
   UPDATE release_content rc
5472
      SET rc.pkg_state = 5                          -- enumPKG_STATE_NEW_PATCH
5473
    WHERE rc.pv_id IN (
5474
             SELECT prod.pv_id
5475
               FROM (SELECT   pp.pv_id AS orig_parent_id,
5476
                              COUNT (*) AS num_of_patches
5477
                         FROM release_content rc, package_patches pp
5478
                        WHERE rc.pv_id = pp.pv_id AND rc.rtag_id = nrtagid
5479
                     GROUP BY pp.pv_id) orig,
5480
                    (SELECT   prodpp.pv_id, pp.pv_id AS parent_id,
5481
                              COUNT (*) AS num_of_patches
5482
                         FROM release_content rc,
5483
                              package_patches pp,
5484
                              package_dependencies dep,
5485
                              package_versions pv,
5486
                              package_patches prodpp
5487
                        WHERE rc.pv_id = pp.pv_id
5488
                          AND rc.rtag_id = nrtagid
5489
                          AND pp.patch_id = dep.dpv_id
5490
                          AND dep.pv_id = pv.pv_id
5491
                          AND pv.is_patch = 'Y'
5492
                          AND pv.dlocked = 'Y'
5493
                          AND prodpp.patch_id = dep.pv_id
5494
                     GROUP BY prodpp.pv_id, pp.pv_id) prod,
5495
                    release_content rc
5496
              WHERE orig.orig_parent_id = prod.pv_id
5497
                AND orig.num_of_patches != prod.num_of_patches
5498
                AND rc.rtag_id = nrtagid
5499
                AND rc.pv_id = prod.pv_id
5500
                AND rc.pkg_state = 0
5501
             UNION
5502
             SELECT   prodpp.pv_id
5503
                 FROM release_content rc,
5504
                      package_patches pp,
5505
                      package_dependencies dep,
5506
                      package_versions pv,
5507
                      package_patches prodpp
5508
                WHERE rc.pv_id = pp.pv_id
5509
                  AND rc.rtag_id = nrtagid
5510
                  AND pp.patch_id = dep.dpv_id
5511
                  AND dep.pv_id = pv.pv_id
5512
                  AND pv.is_patch = 'Y'
5513
                  AND pv.dlocked = 'Y'
5514
                  AND prodpp.patch_id = dep.pv_id
5515
             GROUP BY prodpp.pv_id, pp.pv_id
5516
             MINUS
5517
             SELECT   pp.pv_id
5518
                 FROM release_content rc, package_patches pp
5519
                WHERE rc.pv_id = pp.pv_id AND rc.rtag_id = nrtagid
5520
             GROUP BY pp.pv_id);
5521
END check_new_patches;
5522
 
5523
/
4040 dpurdie 5524
--------------------------------------------------------
6999 dpurdie 5525
--  DDL for Procedure CLEAN_ADVISORY_RIPPLE
4040 dpurdie 5526
--------------------------------------------------------
6999 dpurdie 5527
set define off;
4040 dpurdie 5528
 
6999 dpurdie 5529
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."CLEAN_ADVISORY_RIPPLE" (nrtagid IN NUMBER)
5530
IS
5531
/******************************************************************************
5532
   NAME:       clean_advisory_ripple
5892 dpurdie 5533
 
6999 dpurdie 5534
   PURPOSE:    To delete entries from the advisory_ripple table based upon
5535
               an RTAG_ID only
5536
 
5537
               This is a tidy-up operation performed against the advisory_ripple
5538
               table, ensuring that the table does not have rtag_id/pv_id
5539
               combinations that cannot be found in the release's wip/pending/release
5540
               tabs.
5541
 
5542
******************************************************************************/
5543
BEGIN
5544
   -- Delete any invalid rtag_id/pv_id combination from the advisory_ripple table.
5545
   -- An invalid rtag_id/pv_id combination is one that cannot be found in the
5546
   -- work_in_progress, planned, or release_content table.
5547
   -- NOTE: Planned operations that represent pending additive/subtractive merge
5548
   -- operations are ignored because they have not been approved yet and so
5549
   -- cannot be said to be "in the release".
5550
   DELETE FROM advisory_ripple
5551
         WHERE rtag_id = nrtagid
5552
           AND pv_id not in
5553
               ((SELECT pv_id FROM release_content WHERE rtag_id = nrtagid)
5554
                 UNION
5555
                (SELECT pv_id FROM work_in_progress WHERE rtag_id = nrtagid)
5556
                 UNION
5557
                (SELECT pv_id FROM planned WHERE rtag_id = nrtagid AND (operation is null OR operation = 'R'))
5558
               );
5559
END clean_advisory_ripple;
5560
 
5561
/
4040 dpurdie 5562
--------------------------------------------------------
6999 dpurdie 5563
--  DDL for Procedure CLEAN_DO_NOT_RIPPLE
4040 dpurdie 5564
--------------------------------------------------------
6999 dpurdie 5565
set define off;
4040 dpurdie 5566
 
6999 dpurdie 5567
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."CLEAN_DO_NOT_RIPPLE" (nrtagid IN NUMBER)
5568
IS
5569
/******************************************************************************
5570
   NAME:       clean_do_not_ripple
5571
 
5572
   PURPOSE:    To delete entries from the do_not_ripple table based upon
5573
               an RTAG_ID only
5574
 
5575
               This is a tidy-up operation performed against the do_not_ripple
5576
               table, ensuring that the table does not have rtag_id/pv_id
5577
               combinations that cannot be found in the release's wip/pending/release
5578
               tabs.
5579
 
5580
******************************************************************************/
5581
BEGIN
5582
   -- Delete any invalid rtag_id/pv_id combination from the do_not_ripple table.
5583
   -- An invalid rtag_id/pv_id combination is one that cannot be found in the
5584
   -- work_in_progress, planned, or release_content table.
5585
   -- NOTE: Planned operations that represent pending additive/subtractive merge
5586
   -- operations are ignored because they have not been approved yet and so
5587
   -- cannot be said to be "in the release".
5588
   DELETE FROM do_not_ripple
5589
         WHERE rtag_id = nrtagid
5590
           AND pv_id not in
5591
               ((SELECT pv_id FROM release_content WHERE rtag_id = nrtagid)
5592
                 UNION
5593
                (SELECT pv_id FROM work_in_progress WHERE rtag_id = nrtagid)
5594
                 UNION
5595
                (SELECT pv_id FROM planned WHERE rtag_id = nrtagid AND (operation is null OR operation = 'R'))
5596
               );
5597
END clean_do_not_ripple;
5598
 
5599
/
4040 dpurdie 5600
--------------------------------------------------------
6999 dpurdie 5601
--  DDL for Procedure CLEAR_ADVISORY_RIPPLE
4040 dpurdie 5602
--------------------------------------------------------
6999 dpurdie 5603
set define off;
4040 dpurdie 5604
 
6999 dpurdie 5605
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."CLEAR_ADVISORY_RIPPLE" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,
5606
	   	  		  							   nRtagId IN RELEASE_TAGS.RTAG_ID%TYPE,
5607
											 nUserId IN NUMBER ) IS
5608
/* ---------------------------------------------------------------------------
5609
    Version: 4.0
5610
   --------------------------------------------------------------------------- */
5611
 
5612
BEGIN
5613
 
5614
    -- Clear Advisory Ripple Package
5615
    DELETE FROM ADVISORY_RIPPLE
5616
	WHERE PV_ID = nPvId
5617
	AND RTAG_ID = nRtagId;
5618
 
5619
    /* LOG ACTION */
5620
   	Log_Action ( nPvId, 'clear_advisory_ripple', nUserId );
5621
 
5622
	/*Rebuild_Environment(nRtagId);*/
5623
 
5624
END Clear_Advisory_Ripple;
5625
 
5626
/
4040 dpurdie 5627
--------------------------------------------------------
6999 dpurdie 5628
--  DDL for Procedure CLONED_PACKAGE_PROCESSES
4040 dpurdie 5629
--------------------------------------------------------
6999 dpurdie 5630
set define off;
4040 dpurdie 5631
 
6999 dpurdie 5632
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."CLONED_PACKAGE_PROCESSES" 
5633
IS
5634
 
5635
proc_id NUMBER;
5636
/******************************************************************************
5637
   NAME:       DELETE_DO_NOT_RIPPLE
5638
   PURPOSE:    TO DELETE ENTRIES FROM THE DO_NOT_RIPPLE TABLE WHEN A PACKAGE
5639
               IS RELEASED
5640
 
5641
   REVISIONS:
5642
   Ver        Date        Author           Description
5643
   ---------  ----------  ---------------  ------------------------------------
5644
   1.0        21/04/2006  Rupesh Solanki     1. Created this procedure.
5645
 
5646
   NOTES:
5647
 
5648
   Automatically available Auto Replace Keywords:
5649
      Object Name:     DELETE_DO_NOT_RIPPLE
5650
      Sysdate:         21/04/2006
5651
      Date and Time:   21/04/2006, 3:21:55 PM, and 21/04/2006 3:21:55 PM
5652
      Username:         (set in TOAD Options, Procedure Editor)
5653
      Table Name:       (set in the "New PL/SQL Object" dialog)
5654
 
5655
******************************************************************************/
5656
   CURSOR ripple_cur
5657
   IS
5658
      select distinct proc_id, prod_id from deployment_manager.processes_config;
5659
 
5660
   ripple_rec   ripple_cur%ROWTYPE;
5661
BEGIN
5662
   OPEN ripple_cur;
5663
 
5664
   FETCH ripple_cur
5665
    INTO ripple_rec;
5666
 
5667
   WHILE ripple_cur%FOUND
5668
   LOOP
5669
 
5670
 
5671
 
5672
insert into package_processes (PROC_ID, PV_ID)
5673
values( ripple_rec.proc_id, ripple_rec.prod_id);
5674
 
5675
      FETCH ripple_cur
5676
       INTO ripple_rec;
5677
   END LOOP;
5678
END CLONED_PACKAGE_PROCESSES;
5679
 
5680
/
4040 dpurdie 5681
--------------------------------------------------------
6999 dpurdie 5682
--  DDL for Procedure CLONED_PROCESSES
4040 dpurdie 5683
--------------------------------------------------------
6999 dpurdie 5684
set define off;
4040 dpurdie 5685
 
6999 dpurdie 5686
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."CLONED_PROCESSES" 
5687
IS
5688
 
5689
proc_id NUMBER;
5690
/******************************************************************************
5691
   NAME:       DELETE_DO_NOT_RIPPLE
5692
   PURPOSE:    TO DELETE ENTRIES FROM THE DO_NOT_RIPPLE TABLE WHEN A PACKAGE
5693
               IS RELEASED
5694
 
5695
   REVISIONS:
5696
   Ver        Date        Author           Description
5697
   ---------  ----------  ---------------  ------------------------------------
5698
   1.0        21/04/2006  Rupesh Solanki     1. Created this procedure.
5699
 
5700
   NOTES:
5701
 
5702
   Automatically available Auto Replace Keywords:
5703
      Object Name:     DELETE_DO_NOT_RIPPLE
5704
      Sysdate:         21/04/2006
5705
      Date and Time:   21/04/2006, 3:21:55 PM, and 21/04/2006 3:21:55 PM
5706
      Username:         (set in TOAD Options, Procedure Editor)
5707
      Table Name:       (set in the "New PL/SQL Object" dialog)
5708
 
5709
******************************************************************************/
5710
   CURSOR ripple_cur
5711
   IS
5712
      select distinct pkg_health_tag, cmd_interface, pkg_owner, is_interface from deployment_manager.processes_config;
5713
 
5714
   ripple_rec   ripple_cur%ROWTYPE;
5715
BEGIN
5716
   OPEN ripple_cur;
5717
 
5718
   FETCH ripple_cur
5719
    INTO ripple_rec;
5720
 
5721
   WHILE ripple_cur%FOUND
5722
   LOOP
5723
 
5724
   select deployment_manager.seq_proc_id.nextval into proc_id from dual;
5725
 
5726
insert into processes (PROC_ID, PROC_NAME, RUN_AS, PKG_OWNER, IS_INTERFACE)
5727
values(proc_id, ripple_rec.pkg_health_tag, ripple_rec.cmd_interface, ripple_rec.pkg_owner, ripple_rec.is_interface);
5728
 
5729
      FETCH ripple_cur
5730
       INTO ripple_rec;
5731
   END LOOP;
5732
END CLONED_PROCESSES;
5733
 
5734
/
4040 dpurdie 5735
--------------------------------------------------------
6999 dpurdie 5736
--  DDL for Procedure DELETE_AUTOBUILD_FAILURE_INFO
4040 dpurdie 5737
--------------------------------------------------------
6999 dpurdie 5738
set define off;
4040 dpurdie 5739
 
6999 dpurdie 5740
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."DELETE_AUTOBUILD_FAILURE_INFO" 
5741
IS
5742
/******************************************************************************
5743
   NAME:       DELETE_AUTOBUILD_FAILURE_INFO
5744
   PURPOSE:
5745
 
5746
   REVISIONS:
5747
   Ver        Date        Author           Description
5748
   ---------  ----------  ---------------  ------------------------------------
5749
   1.0        2/06/2006    Rupesh Solanki      1. Created this procedure.
5750
 
5751
   NOTES:
5752
 
5753
   Automatically available Auto Replace Keywords:
5754
      Object Name:     DELETE_AUTOBUILD_FAILURE_INFO
5755
      Sysdate:         2/06/2006
5756
      Date and Time:   2/06/2006, 8:44:25 AM, and 2/06/2006 8:44:25 AM
5757
      Username:         (set in TOAD Options, Procedure Editor)
5758
      Table Name:       (set in the "New PL/SQL Object" dialog)
5759
 
5760
******************************************************************************/
5761
BEGIN
5762
   DELETE FROM autobuild_failure
5763
         WHERE group_email_id NOT IN (SELECT group_email_id
5764
                                        FROM members_group);
5765
END delete_autobuild_failure_info;
5766
 
5767
/
4040 dpurdie 5768
--------------------------------------------------------
6999 dpurdie 5769
--  DDL for Procedure DEPRECATE_PACKAGE
4040 dpurdie 5770
--------------------------------------------------------
6999 dpurdie 5771
set define off;
4040 dpurdie 5772
 
6999 dpurdie 5773
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."DEPRECATE_PACKAGE" (
5774
    nPvId     IN PACKAGE_VERSIONS.PV_ID%TYPE,
5775
    nRtagId   IN DEPRECATED_PACKAGES.RTAG_ID%TYPE,
5776
    nPkgId    IN DEPRECATED_PACKAGES.PKG_ID%TYPE,
5777
    sComments IN DEPRECATED_PACKAGES.COMMENTS%TYPE,
5778
    nUserId   IN NUMBER)
5779
IS
5780
  ext VARCHAR2(50);
5781
BEGIN
5782
  --Extract the package version extension
5783
  SELECT V_EXT INTO ext
5784
  FROM PACKAGE_VERSIONS
5785
  WHERE PV_ID = nPvId;
5786
 
5787
  -- Deprecate Package
5788
  INSERT INTO DEPRECATED_PACKAGES
5789
    ( RTAG_ID, PKG_ID, COMMENTS, V_EXT )
5790
    VALUES ( nRtagId, nPkgId, sComments, ext );
5791
 
5792
  -- Update Release Contents entry
5793
  -- Process PackageName.ext for the package. ie: Allow multiple
5794
  -- versions of the package to be in the release.
5795
    UPDATE RELEASE_CONTENT
5796
    SET
5797
      DEPRECATED_STATE = 6
5798
    WHERE RTAG_ID      = nRtagId
5799
    AND PV_ID IN (
5800
      SELECT PV.PV_ID
5801
      FROM PACKAGE_VERSIONS PV
5802
      WHERE PV.PKG_ID   = nPkgId
5803
      AND NVL(PV.V_EXT, '.NULL') = NVL(ext,'.NULL')
5804
      );
5805
 
5806
  -- Update consumers of the package
5807
  --  Update ALL packages in the Release
5808
 
5809
  REBUILD_DEPRECATE_STATE(nRtagId);
5810
 
5811
  /* LOG ACTION */
5812
  /*Log_Action ( nPkgId, 'deprecated_package', nUserId );*/
5813
END Deprecate_Package;
5814
 
5815
/
4040 dpurdie 5816
--------------------------------------------------------
6999 dpurdie 5817
--  DDL for Procedure DT_DROPUSEROBJECTBYID
4040 dpurdie 5818
--------------------------------------------------------
6999 dpurdie 5819
set define off;
4040 dpurdie 5820
 
6999 dpurdie 5821
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."DT_DROPUSEROBJECTBYID" ( PARAM_ID IN NUMBER ) AS BEGIN DELETE FROM MICROSOFTDTPROPERTIES WHERE OBJECTID = PARAM_ID; END DT_DROPUSEROBJECTBYID;
5822
 
5823
/
4040 dpurdie 5824
--------------------------------------------------------
6999 dpurdie 5825
--  DDL for Procedure DT_SETPROPERTYBYID
4040 dpurdie 5826
--------------------------------------------------------
6999 dpurdie 5827
set define off;
4040 dpurdie 5828
 
6999 dpurdie 5829
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."DT_SETPROPERTYBYID" (
5830
    PARAM_ID       IN NUMBER,
5831
    PARAM_PROPERTY IN VARCHAR2,
5832
    PARAM_VALUE    IN VARCHAR2,
5833
    PARAM_LVALUE   IN LONG RAW )
5834
AS
5835
BEGIN
5836
  DECLARE
5837
    X NUMBER(38);
5838
  BEGIN
5839
    SELECT COUNT(*)
5840
    INTO X
5841
    FROM MICROSOFTDTPROPERTIES
5842
    WHERE OBJECTID=PARAM_ID
5843
    AND PROPERTY  =PARAM_PROPERTY;
5844
    IF X          = 0 THEN
5845
      INSERT
5846
      INTO MICROSOFTDTPROPERTIES
5847
        (
5848
          ID,
5849
          PROPERTY,
5850
          OBJECTID,
5851
          VALUE,
5852
          LVALUE,
5853
          VERSION
5854
        )
5855
        VALUES
5856
        (
5857
          MICROSOFTSEQDTPROPERTIES.NEXTVAL,
5858
          PARAM_PROPERTY,
5859
          PARAM_ID,
5860
          PARAM_VALUE,
5861
          PARAM_LVALUE,
5862
 
5863
        );
5864
    ELSE
5865
      UPDATE MICROSOFTDTPROPERTIES
5866
      SET VALUE     =PARAM_VALUE,
5867
        LVALUE      =PARAM_LVALUE,
5868
        VERSION     =VERSION+1
5869
      WHERE OBJECTID=PARAM_ID
5870
      AND PROPERTY  =PARAM_PROPERTY;
5871
    END IF;
5872
  END;
5873
END DT_SETPROPERTYBYID;
5874
 
5875
/
4040 dpurdie 5876
--------------------------------------------------------
6999 dpurdie 5877
--  DDL for Procedure IGNORE_DEPENDENCY_WARNINGS
4040 dpurdie 5878
--------------------------------------------------------
6999 dpurdie 5879
set define off;
4040 dpurdie 5880
 
6999 dpurdie 5881
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."IGNORE_DEPENDENCY_WARNINGS" ( nRtagId IN IGNORE_WARNINGS.RTAG_ID%TYPE,
5882
                                                         nPvId IN IGNORE_WARNINGS.PV_ID%TYPE,
5883
                                                         sIgnoreIdList IN VARCHAR2,
5884
                                                         bDoPatchIgnore IN BOOLEAN DEFAULT FALSE,
5885
                                                         nUserId IN NUMBER DEFAULT NULL ) IS
5886
/* ---------------------------------------------------------------------------
5887
    Updates the ignore warnings table - this is really two functions in one.
5888
 
5889
    1) One function updates the table based on a list of dependent PV_IDs and a parent PV_ID
5890
       and is called from the RM website's SetIgnoreWarnings() function after a user changes
5891
       the ignore warnings checkboxes and submits the form.
5892
       This can (at time of writing this) only be done within releases that are not build
5893
       daemon enabled. The ignore warnings feature is a feature we would like to see the end
5894
       of in an ideal world.
5895
       The SetIgnoreWarnings() website function now calls Touch_Release so there is no need to
5896
       do so in this stored procedure, thereby making this stored procedure much more precise in
5897
       that it only updates the ignore_warnings table (action log table too although that is just
5898
       a log and doesn't affect any subsequent business rules behaviour) and it cares nothing
5899
       about website presentation layer states, etc.
5900
 
5901
    2) The other function updates the table for out of sync dependencies that have in fact
5902
       been satisfied by patches made to some other product in the release.
5903
       This seems to be a seldom used feature in current projects.
5904
       It is probably the most often taken path through this function given that it occurs when
5905
       this function is called from Rebuild_Environment, and that is called in many circumstances
5906
       from the RM website whenever the seems to be a possibility that the state of a package
5907
       in a release might have changed and therefore affects the state of other packages in
5908
       that same release.
5909
 
5910
    Parameter Usage:
5911
                        when called from    | when called from
5912
                        Rebuild_Environment | SetIgnoreWarnings()
5913
                        stored procedure.   | in the Website
5914
      --------------------------------------+----------------------------
5915
      nRtagId           RTAG_ID             | RTAG_ID
5916
      nPvId             NULL                | PV_ID
5917
      sIgnoreIdList     NULL                | list of dependent PV_ID's
5918
      bDoPatchIgnore    TRUE                | FALSE
5919
      nUserId           NULL                | current user ID
5920
   --------------------------------------------------------------------------- */
5921
 
5922
oIgnoreIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
5923
ReleaseLocation VARCHAR2(4000);
5924
ActionTypeId NUMBER;
5925
 
5926
BEGIN
5927
 
5928
   IF (NOT bDoPatchIgnore) THEN
5929
      /* Manual Ignore Warnings - this execution path is the one taken when called from SetIgnoreWarnings() in the Website
5930
      */
5931
      oIgnoreIdCollector := IN_LIST_NUMBER ( sIgnoreIdList );
5932
 
5933
 
5934
      /* Log Action */
5935
      -- Get Release Location
5936
      SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
5937
        FROM PROJECTS proj,
5938
             RELEASE_TAGS rt
5939
       WHERE rt.PROJ_ID = proj.PROJ_ID
5940
         AND rt.RTAG_ID = nRtagId;
5941
 
5942
      -- Get Action Type Id for IGNORE_ON
5943
      SELECT act.ACTTYPE_ID INTO ActionTypeId
5944
        FROM ACTION_TYPE act
5945
       WHERE act.NAME = 'ignore_on';
5946
 
5947
      -- Get Ignored (Current MINUS Old)
5948
      INSERT INTO ACTION_LOG ( USER_ID, PV_ID, DESCRIPTION, ACTTYPE_ID )
5949
      SELECT nUserId, nPvId, pkg.PKG_NAME ||' '|| rpv.PKG_VERSION ||' at '|| ReleaseLocation, ActionTypeId
5950
        FROM (
5951
              SELECT TO_NUMBER(nRtagId) AS RTAG_ID, TO_NUMBER(nPvId), pv.PV_ID AS DPV_ID
5952
                FROM PACKAGE_VERSIONS pv
5953
               WHERE pv.PV_ID IN ( SELECT * FROM TABLE ( CAST ( oIgnoreIdCollector AS RELMGR_NUMBER_TAB_t ) ) )
5954
              MINUS
5955
              SELECT igw.RTAG_ID, igw.PV_ID, igw.DPV_ID
5956
                FROM IGNORE_WARNINGS igw
5957
               WHERE igw.RTAG_ID = nRtagId
5958
                 AND igw.PV_ID = nPvId
5959
             ) qry,
5960
             PACKAGE_VERSIONS pv,
5961
             PACKAGES pkg,
5962
             RELEASE_CONTENT rc,
5963
             PACKAGE_VERSIONS rpv
5964
       WHERE pv.PKG_ID = pkg.PKG_ID
5965
         AND rc.RTAG_ID = nRtagId
5966
         AND rc.PV_ID = rpv.PV_ID
5967
         AND rpv.PKG_ID = pv.PKG_ID
5968
         AND NVL( rpv.V_EXT, 'LINK_A_NULL' ) = NVL( pv.V_EXT, 'LINK_A_NULL' )
5969
         AND qry.DPV_ID = pv.PV_ID;
5970
 
5971
 
5972
      -- Get Action Type Id for IGNORE_OFF
5973
      SELECT act.ACTTYPE_ID INTO ActionTypeId
5974
        FROM ACTION_TYPE act
5975
       WHERE act.NAME = 'ignore_off';
5976
 
5977
      -- Get UnIgnored (Old MINUS Current)
5978
      INSERT INTO ACTION_LOG ( USER_ID, PV_ID, DESCRIPTION, ACTTYPE_ID )
5979
      SELECT nUserId, nPvId, pkg.PKG_NAME ||' '|| rpv.PKG_VERSION ||' at '|| ReleaseLocation, ActionTypeId
5980
        FROM (
5981
              SELECT igw.RTAG_ID, igw.PV_ID, igw.DPV_ID
5982
                FROM IGNORE_WARNINGS igw
5983
               WHERE igw.RTAG_ID = nRtagId
5984
                 AND igw.PV_ID = nPvId
5985
              MINUS
5986
              SELECT TO_NUMBER(nRtagId) AS RTAG_ID, TO_NUMBER(nPvId), pv.PV_ID AS DPV_ID
5987
                FROM PACKAGE_VERSIONS pv
5988
               WHERE pv.PV_ID IN ( SELECT * FROM TABLE ( CAST ( oIgnoreIdCollector AS RELMGR_NUMBER_TAB_t ) ) )
5989
             ) qry,
5990
             PACKAGE_VERSIONS pv,
5991
             PACKAGES pkg,
5992
             RELEASE_CONTENT rc,
5993
             PACKAGE_VERSIONS rpv
5994
       WHERE pv.PKG_ID = pkg.PKG_ID
5995
         AND rc.RTAG_ID = nRtagId
5996
         AND rc.PV_ID = rpv.PV_ID
5997
         AND rpv.PKG_ID = pv.PKG_ID
5998
         AND NVL( rpv.V_EXT, 'LINK_A_NULL' ) = NVL( pv.V_EXT, 'LINK_A_NULL' )
5999
         AND qry.DPV_ID = pv.PV_ID;
6000
 
6001
 
6002
      -- Delete Current Ignore Warnings
6003
      DELETE
6004
        FROM IGNORE_WARNINGS igw
6005
       WHERE igw.RTAG_ID = nRtagId
6006
         AND igw.PV_ID = nPvId
6007
         AND igw.IS_PATCH_IGNORE IS NULL;
6008
 
6009
 
6010
      IF (oIgnoreIdCollector.COUNT > 0) THEN
6011
         -- Insert Ignore Warnings
6012
         INSERT INTO IGNORE_WARNINGS igw ( RTAG_ID, PV_ID, DPV_ID )
6013
         SELECT nRtagId,
6014
                nPvId,
6015
                pv.PV_ID AS DPV_ID
6016
           FROM PACKAGE_VERSIONS pv
6017
          WHERE pv.PV_ID IN ( SELECT * FROM TABLE ( CAST ( oIgnoreIdCollector AS RELMGR_NUMBER_TAB_t ) ) );
6018
      END IF;
6019
 
6020
   ELSE
6021
      /* Patch Ignore Warnings - this execution path is the one taken when called from the Rebuild_Environment stored procedure */
6022
 
6023
      -- Delete Current Patch Ignore Warnings
6024
      DELETE
6025
        FROM IGNORE_WARNINGS igw
6026
       WHERE igw.RTAG_ID = nRtagId
6027
         AND igw.IS_PATCH_IGNORE = 'Y';
6028
 
6029
 
6030
      -- Delete Manual Ignores that need to be Patch Ignores
6031
      DELETE
6032
        FROM IGNORE_WARNINGS igw
6033
       WHERE ( RTAG_ID, PV_ID, DPV_ID ) IN
6034
             (
6035
              SELECT DISTINCT
6036
                     nRtagId,
6037
                     err.PV_ID,
6038
                     err.ERR_DPV AS DPV_ID
6039
               FROM  (
6040
                      /* Full Release Contents used for reference*/
6041
                      SELECT rpv.PV_ID, rpv.pkg_id, NVL(rpv.v_ext, '|LINK_A_NULL|') AS v_ext
6042
                        FROM release_content rel, package_versions rpv
6043
                       WHERE rel.pv_id = rpv.pv_id
6044
                         AND rtag_id = nRtagId
6045
                     ) frc,
6046
                     (
6047
                      /* DPV_IDs not fount in release*/
6048
                      SELECT dep.pv_id, dep.dpv_id AS err_dpv
6049
                        FROM package_dependencies dep
6050
                       WHERE dep.pv_id IN ( SELECT pv_id FROM release_content WHERE rtag_id = nRtagId )
6051
                         AND NOT dep.dpv_id IN ( SELECT pv_id FROM release_content WHERE rtag_id = nRtagId )
6052
                     ) err,
6053
                     (
6054
                      SELECT DISTINCT pp.PV_ID, dep.DPV_ID
6055
                        FROM PACKAGE_PATCHES pp,
6056
                             PACKAGE_DEPENDENCIES dep,
6057
                             RELEASE_CONTENT rc
6058
                       WHERE rc.RTAG_ID = nRtagId
6059
                         AND rc.PV_ID = pp.PV_ID
6060
                         AND dep.PV_ID = pp.PATCH_ID
6061
                     ) pp,
6062
                     package_versions errpkg,
6063
                     package_versions errpv
6064
               WHERE err.err_dpv = errpv.pv_id
6065
                 AND errpv.pkg_id = frc.pkg_id(+)
6066
                 AND NVL(errpv.v_ext, '|LINK_A_NULL|') = frc.v_ext(+)
6067
                 AND err.pv_id = errpkg.pv_id
6068
                 AND err.PV_ID = pp.PV_ID
6069
                 AND frc.PV_ID = pp.DPV_ID
6070
             );
6071
 
6072
      /*
6073
      ---------------------------------------------------
6074
      --  Make sure that select statement above and below are same
6075
      ---------------------------------------------------
6076
      */
6077
 
6078
      -- Insert Patch Ignores
6079
      INSERT INTO IGNORE_WARNINGS igw ( RTAG_ID, PV_ID, DPV_ID, IS_PATCH_IGNORE )
6080
      SELECT DISTINCT
6081
             nRtagId,
6082
             err.PV_ID,
6083
             err.ERR_DPV AS DPV_ID,
6084
             'Y'
6085
        FROM (
6086
              /* Full Release Contents used for reference*/
6087
              SELECT rpv.PV_ID, rpv.pkg_id, NVL(rpv.v_ext, '|LINK_A_NULL|') AS v_ext
6088
                FROM release_content rel, package_versions rpv
6089
               WHERE rel.pv_id = rpv.pv_id
6090
                 AND rtag_id = nRtagId
6091
             ) frc,
6092
             (
6093
               /* DPV_IDs not fount in release*/
6094
               SELECT dep.pv_id, dep.dpv_id AS err_dpv
6095
                 FROM package_dependencies dep
6096
                WHERE dep.pv_id IN ( SELECT pv_id FROM release_content WHERE rtag_id = nRtagId )
6097
                  AND NOT dep.dpv_id IN ( SELECT pv_id FROM release_content WHERE rtag_id = nRtagId )
6098
             ) err,
6099
             (
6100
              SELECT DISTINCT pp.PV_ID, dep.DPV_ID
6101
                FROM PACKAGE_PATCHES pp,
6102
                     PACKAGE_DEPENDENCIES dep,
6103
                     RELEASE_CONTENT rc
6104
               WHERE rc.RTAG_ID = nRtagId
6105
                 AND rc.PV_ID = pp.PV_ID
6106
                 AND dep.PV_ID = pp.PATCH_ID
6107
             ) pp,
6108
             package_versions errpkg,
6109
             package_versions errpv
6110
       WHERE err.err_dpv = errpv.pv_id
6111
         AND errpv.pkg_id = frc.pkg_id(+)
6112
         AND NVL(errpv.v_ext, '|LINK_A_NULL|') = frc.v_ext(+)
6113
         AND err.pv_id = errpkg.pv_id
6114
         AND err.PV_ID = pp.PV_ID
6115
         AND frc.PV_ID = pp.DPV_ID;
6116
 
6117
    END IF;
6118
 
6119
END Ignore_Dependency_Warnings;
6120
 
6121
/
4040 dpurdie 6122
--------------------------------------------------------
6999 dpurdie 6123
--  DDL for Procedure INSERT_INTO_PACKAGE_BUILD_INFO
4040 dpurdie 6124
--------------------------------------------------------
6999 dpurdie 6125
set define off;
4040 dpurdie 6126
 
6999 dpurdie 6127
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."INSERT_INTO_PACKAGE_BUILD_INFO" IS
6128
 
6129
/******************************************************************************
6130
   NAME:       INSERT_INTO_PACKAGE_BUILD_INFO
6131
   PURPOSE:
6132
 
6133
   REVISIONS:
6134
   Ver        Date        Author           Description
6135
   ---------  ----------  ---------------  ------------------------------------
6136
   1.0        6/12/2006          1. Created this procedure.
6137
 
6138
   NOTES:
6139
 
6140
   Automatically available Auto Replace Keywords:
6141
      Object Name:     INSERT_INTO_PACKAGE_BUILD_INFO
6142
      Sysdate:         6/12/2006
6143
      Date and Time:   6/12/2006, 1:53:40 PM, and 6/12/2006 1:53:40 PM
6144
      Username:         (set in TOAD Options, Procedure Editor)
6145
      Table Name:       (set in the "New PL/SQL Object" dialog)
6146
 
6147
******************************************************************************/
6148
 
6149
	CURSOR curInfo IS
6150
    SELECT PV_ID
6151
	FROM PACKAGE_BUILD_ENV
6152
	WHERE BE_ID IN (11, 12);
6153
    recInfo curInfo%ROWTYPE;
6154
 
6155
 
6156
BEGIN
6157
 
6158
	OPEN curInfo;
6159
    FETCH curInfo INTO recInfo;
6160
 
6161
	WHILE curInfo%FOUND
6162
	LOOP
6163
 
6164
		INSERT INTO PACKAGE_BUILD_INFO ( PV_ID, BM_ID, BSA_ID )
6165
		VALUES( recInfo.PV_ID, 2, 5);
6166
 
6167
		UPDATE PACKAGE_VERSIONS SET BS_ID = 2 WHERE PV_ID = recInfo.PV_ID;
6168
 
6169
		FETCH curInfo INTO recInfo;
6170
 
6171
	END LOOP;
6172
 
6173
	CLOSE curInfo;
6174
 
6175
 
6176
 
6177
 
6178
END INSERT_INTO_PACKAGE_BUILD_INFO;
6179
 
6180
/
4040 dpurdie 6181
--------------------------------------------------------
6999 dpurdie 6182
--  DDL for Procedure INSERT_MULTIPLE_STICKY_NOTES
4040 dpurdie 6183
--------------------------------------------------------
6999 dpurdie 6184
set define off;
4040 dpurdie 6185
 
6999 dpurdie 6186
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."INSERT_MULTIPLE_STICKY_NOTES" IS
6187
 
6188
/******************************************************************************
6189
   NAME:       INSERT_MULTIPLE_STICKY_NOTES
6190
   PURPOSE:
6191
 
6192
   REVISIONS:
6193
   Ver        Date        Author           Description
6194
   ---------  ----------  ---------------  ------------------------------------
6195
   1.0        6/12/2006          1. Created this procedure.
6196
 
6197
   NOTES:
6198
 
6199
   Automatically available Auto Replace Keywords:
6200
      Object Name:     INSERT_MULTIPLE_STICKY_NOTES
6201
      Sysdate:         6/12/2006
6202
      Date and Time:   6/12/2006, 1:53:40 PM, and 6/12/2006 1:53:40 PM
6203
      Username:         (set in TOAD Options, Procedure Editor)
6204
      Table Name:       (set in the "New PL/SQL Object" dialog)
6205
 
6206
******************************************************************************/
6207
 
6208
	CURSOR curInfo IS
6209
    SELECT PV_ID
6210
	FROM PACKAGE_BUILD_ENV
6211
	WHERE BE_ID IN (11, 12);
6212
    recInfo curInfo%ROWTYPE;
6213
 
6214
 
6215
BEGIN
6216
 
6217
	OPEN curInfo;
6218
    FETCH curInfo INTO recInfo;
6219
 
6220
	WHILE curInfo%FOUND
6221
	LOOP
6222
 
6223
		INSERT INTO NOTE_MANAGER ( NID, LAST_USER, LAST_DATE, DESCRIPTION )
6224
		VALUES( recInfo.PV_ID, 'awehalle', ORA_SYSDATETIME, '' );
6225
 
6226
		FETCH curInfo INTO recInfo;
6227
 
6228
	END LOOP;
6229
 
6230
	CLOSE curInfo;
6231
 
6232
 
6233
 
6234
 
6235
END INSERT_MULTIPLE_STICKY_NOTES;
6236
 
6237
/
4040 dpurdie 6238
--------------------------------------------------------
6999 dpurdie 6239
--  DDL for Procedure LEVEL_N_CONFLICTS
4040 dpurdie 6240
--------------------------------------------------------
6999 dpurdie 6241
set define off;
4040 dpurdie 6242
 
6999 dpurdie 6243
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."LEVEL_N_CONFLICTS" (
6244
   nnrtag_id       IN       NUMBER,
6245
   nnsession_num   IN       NUMBER,
6246
   nnrowcnt        OUT      NUMBER,
6247
   nniteration     IN       NUMBER
6248
)
6249
IS
6250
/* ---------------------------------------------------------------------------
6251
    Version: 3.0.1
6252
   --------------------------------------------------------------------------- */
6253
   previteration   NUMBER := nniteration - 1;
6254
BEGIN
6255
  -- Map broken dependency information from a package into a consumer
6256
  -- package. ie: Ripple need-to-build info up the dependency tree.
5384 dpurdie 6257
 
6999 dpurdie 6258
   /* ---------  LEVEL 1 CONFILCTS -----------
6259
   || Following states are used:
6260
   || 0 -> NOT FOUND
6261
   || 1 -> MAJOR
6262
   || 2 -> MINOR MINOR
6263
   */
6264
   INSERT INTO temp_env_states
6265
               SELECT DISTINCT nnsession_num AS session_num, nniteration AS level_num,
6266
                      dpv.pv_id, dpv.pkg_id, dpv.v_ext,
6267
                      DECODE (tes.tes_state, 2, 2, 1) AS MESSAGE,
6268
                      'X'
6269
                 FROM TEMP_ENV_DEPS dpv,
6270
                      temp_env_states tes
6271
                WHERE dpv.SESSION_NUM = nnsession_num
6272
                  AND dpv.dpkg_id = tes.pkg_id
6273
                  AND NVL (dpv.dv_ext, '|LINK_A_NULL|') = NVL (tes.v_ext, '|LINK_A_NULL|')
6274
                  AND tes.session_num = nnsession_num
6275
                  AND tes.level_num = previteration;
4040 dpurdie 6276
 
6999 dpurdie 6277
   nnrowcnt := SQL%ROWCOUNT;
6278
END level_n_conflicts;
6279
 
6280
/
4040 dpurdie 6281
--------------------------------------------------------
6999 dpurdie 6282
--  DDL for Procedure LEVEL_ONE_CONFLICTS
4040 dpurdie 6283
--------------------------------------------------------
6999 dpurdie 6284
set define off;
4040 dpurdie 6285
 
6999 dpurdie 6286
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."LEVEL_ONE_CONFLICTS" (
6287
   nnrtag_id       IN   NUMBER,
6288
   nnsession_num   IN   NUMBER
6289
)
6290
IS
6291
BEGIN
6292
  --  Prepare the TEMP_ENV_DEPS table
6293
  --  This table maps package-versions to their dependencies and is
6294
  --  used to walk up the dependency tree.
6295
  --  This table consists of PV_ID -> DPV_ID in the release in which we are interested
6296
  --  ie: Those that ARE NOT a part of:
6297
  --    Pegged Package
6298
  --    SDK imported package
6299
  --    Marked with an ignore warnings
6300
  --    Marked as an advisory ripple
6301
  --
6302
  --  This table speeds up the process by a huge (really huge) amount
6303
  --
6304
      INSERT into TEMP_ENV_DEPS
6305
      (
6306
      SELECT DISTINCT nnsession_num AS session_num,
6307
                      pv.pv_id, pv.pkg_id, pv.v_ext,
6308
                      dpv.pv_id as dpv_id, dpv.pkg_id as dpkg_id, dpv.v_ext as dv_ext
6309
 
6310
                 FROM release_content rel,
6311
                      package_dependencies dep,
6312
                      package_versions dpv,
6313
                      package_versions pv
6314
 
6315
                WHERE rel.pv_id = dep.pv_id
6316
                  AND rel.rtag_id = nnrtag_id
6317
                  AND dep.pv_id = pv.pv_id
6318
                  AND dep.dpv_id = dpv.pv_id
6319
                  --AND rel.SDKTAG_ID is null
6320
                  --AND NOT dep.pv_id IN (SELECT pegv.pv_id FROM PEGGED_VERSIONS pegv WHERE pegv.rtag_id = nnrtag_id)
6321
                  AND NOT (dep.pv_id, dep.dpv_id) in (SELECT igw.pv_id, igw.DPV_ID from ignore_warnings igw where igw.rtag_id = nnrtag_id)
6322
                  );
6323
 
6324
   /* ---------  LEVEL 1 CONFILCTS -----------
6325
   || Following states are used:
6326
   || 0 -> NOT FOUND
6327
   || 1 -> MAJOR
6328
   || 2 -> MINOR MINOR
6329
   */
6330
   INSERT INTO temp_env_states
6331
   (
6332
      SELECT nnsession_num AS session_num, 
6333
        1 AS level_num,
6334
        rd.pv_id, 
6335
        rd.pkg_id, 
6336
        rd.v_ext,
6337
        DECODE (rd.v_nmm,
6338
                    NULL, 0,
6339
                    pv2.v_nmm, DECODE (rd.v_mm,
6340
                                       pv2.v_mm, 0,
6341
                                                 2
6342
                                       ),
6343
                    1
6344
              ) AS MESSAGE,
6345
        rd.build_type
6346
from (
6347
      SELECT DISTINCT err.pv_id, errpkg.pkg_id, errpkg.v_ext,
6348
                      frc.build_type,
6349
                      frc.v_nmm,
6350
                      frc.v_mm,
6351
                      errpv.pv_id as errpv_id
6352
                 FROM (
6353
                       /* Full Release Contents used for reference*/
6354
                        SELECT rel.rtag_id, rpv.pv_id, rpv.pkg_id,
6355
                                NVL (rpv.v_ext, '|LINK_A_NULL|') AS v_ext,
6356
                                rpv.pkg_version, rpv.v_nmm, rpv.v_mm,
6357
                                (SELECT COUNT(*) FROM ADVISORY_RIPPLE avr WHERE avr.rtag_id = rel.rtag_id AND avr.pv_id = rel.pv_id ) AS IsAvr,
6358
                                rpv.build_type
6359
                          FROM release_content rel,
6360
                                package_versions rpv
6361
                          WHERE rel.pv_id = rpv.pv_id
6362
                             AND rtag_id = nnrtag_id
6363
                      ) frc,
6364
 
6365
                      (
6366
                       /* DPV_IDs not found in release. Excluding:
6367
                              Those from pegged versions
6368
                              Those from packages imported via an SDK
6369
                              */
6370
                       SELECT dep.pv_id, dep.dpv_id AS err_dpv
6371
                         FROM package_dependencies dep
6372
                        WHERE dep.pv_id IN (SELECT pv_id FROM release_content WHERE rtag_id = nnrtag_id AND release_content.SDKTAG_ID is NULL)
6373
                          AND NOT dep.pv_id IN (SELECT pegv.pv_id FROM PEGGED_VERSIONS pegv WHERE pegv.rtag_id = nnrtag_id)
6374
                          AND NOT dep.dpv_id IN (SELECT pv_id FROM release_content WHERE rtag_id = nnrtag_id)
6375
 
6376
                       /* INCLUDE Unbuildable packages to force missing */
6377
                       UNION
6378
                       SELECT bpv.pv_id, bpv.pv_id as err_dpv
6379
                        FROM package_versions bpv, release_content brc
6380
                        WHERE bpv.build_type = 'U' AND brc.rtag_id = nnrtag_id AND bpv.pv_id = brc.pv_id
6381
 
6382
                       MINUS
6383
                       /* MINUS Dependencies to be ignored */
6384
                       SELECT igw.pv_id, igw.dpv_id AS err_dpv
6385
                         FROM ignore_warnings igw
6386
                        WHERE igw.rtag_id = nnrtag_id
6387
 
6388
                      ) err,
6389
                      package_versions errpkg,
6390
                      package_versions errpv
6391
                WHERE err.err_dpv = errpv.pv_id
6392
                  AND errpv.pkg_id = frc.pkg_id(+)
6393
                  AND NVL (errpv.v_ext, '|LINK_A_NULL|') = frc.v_ext(+)
6394
                  AND err.pv_id = errpkg.pv_id
6395
                  AND NVL(frc.IsAvr,0) = 0
6396
                  ) rd,
6397
                  package_versions pv2
6398
                  where rd.errpv_id = pv2.PV_ID
6399
                  );
6400
END level_one_conflicts;
6401
 
6402
/
4040 dpurdie 6403
--------------------------------------------------------
6999 dpurdie 6404
--  DDL for Procedure LOCK_PACKAGE
4040 dpurdie 6405
--------------------------------------------------------
6999 dpurdie 6406
set define off;
4040 dpurdie 6407
 
6999 dpurdie 6408
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."LOCK_PACKAGE" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,
6409
											 nUserId IN NUMBER ) IS
6410
/* ---------------------------------------------------------------------------
6411
    Version: 4.0
6412
   --------------------------------------------------------------------------- */
6413
 
6414
BEGIN
6415
 
6416
    -- Lock Package
6417
    UPDATE PACKAGE_VERSIONS pv SET
6418
    	pv.DLOCKED = 'Y'
6419
    WHERE pv.PV_ID = nPvId;
6420
 
6421
    /* LOG ACTION */
6422
   	Log_Action ( nPvId, 'lock_package', nUserId );
6423
 
6424
END Lock_Package;
6425
 
6426
/
4040 dpurdie 6427
--------------------------------------------------------
6999 dpurdie 6428
--  DDL for Procedure LOG_ACTION
4040 dpurdie 6429
--------------------------------------------------------
6999 dpurdie 6430
set define off;
4040 dpurdie 6431
 
6999 dpurdie 6432
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."LOG_ACTION" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,
6433
										 enumActionTypeName IN ACTION_TYPE.NAME%TYPE,
6434
                                         nUserId IN ACTION_LOG.USER_ID%TYPE,
6435
										 sAdditionalComments IN ACTION_LOG.DESCRIPTION%TYPE DEFAULT NULL  ) IS
6436
/* ---------------------------------------------------------------------------
6437
    Version: 3.0
6438
   --------------------------------------------------------------------------- */
5892 dpurdie 6439
 
6999 dpurdie 6440
    ActionTypeId NUMBER;
4040 dpurdie 6441
 
6999 dpurdie 6442
BEGIN
6443
 
6444
    -- Get Action Type FK
6445
    SELECT act.ACTTYPE_ID INTO ActionTypeId
6446
      FROM ACTION_TYPE act
6447
     WHERE act.NAME = enumActionTypeName;
6448
 
6449
 
6450
    INSERT INTO ACTION_LOG ( USER_ID, PV_ID, DESCRIPTION, ACTTYPE_ID )
6451
    VALUES ( nUserId, nPvId, sAdditionalComments, ActionTypeId );
6452
 
6453
 
6454
END Log_Action;
6455
 
6456
/
4040 dpurdie 6457
--------------------------------------------------------
6999 dpurdie 6458
--  DDL for Procedure LOG_ACTION_BULK
4040 dpurdie 6459
--------------------------------------------------------
6999 dpurdie 6460
set define off;
4040 dpurdie 6461
 
6999 dpurdie 6462
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."LOG_ACTION_BULK" ( nPvIdList IN VARCHAR2,
6463
										 	  enumActionTypeName IN ACTION_TYPE.NAME%TYPE,
6464
                                         	  nUserId IN ACTION_LOG.USER_ID%TYPE,
6465
										 	  sAdditionalComments IN ACTION_LOG.DESCRIPTION%TYPE DEFAULT NULL  ) IS
6466
/* ---------------------------------------------------------------------------
6467
    Version: 3.0
6468
   --------------------------------------------------------------------------- */
6469
 
6470
    ActionTypeId NUMBER;
6471
    oPvIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
6472
 
6473
BEGIN
6474
 
6475
    oPvIdCollector := IN_LIST_NUMBER ( nPvIdList );
6476
 
6477
    -- Get Action Type FK
6478
    SELECT act.ACTTYPE_ID INTO ActionTypeId
6479
      FROM ACTION_TYPE act
6480
     WHERE act.NAME = enumActionTypeName;
6481
 
6482
    -- Log Action
6483
    INSERT INTO ACTION_LOG ( USER_ID, PV_ID, DESCRIPTION, ACTTYPE_ID )
6484
    SELECT nUserId,
6485
    	     pv.PV_ID,
6486
           sAdditionalComments,
6487
           ActionTypeId
6488
      FROM PACKAGE_VERSIONS pv
6489
     WHERE pv.PV_ID IN ( SELECT * FROM TABLE ( CAST ( oPvIdCollector AS RELMGR_NUMBER_TAB_t ) ) );
6490
 
6491
 
6492
END Log_Action_Bulk;
6493
 
6494
/
4040 dpurdie 6495
--------------------------------------------------------
6999 dpurdie 6496
--  DDL for Procedure LOG_DAEMON_ACTION
4040 dpurdie 6497
--------------------------------------------------------
6999 dpurdie 6498
set define off;
4040 dpurdie 6499
 
6999 dpurdie 6500
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."LOG_DAEMON_ACTION" ( nRconId IN NUMBER,
6501
												 enumActionTypeName IN VARCHAR2,
6502
		                                         nUserId IN NUMBER,
6503
												 sAdditionalComments IN VARCHAR2 DEFAULT NULL  ) IS
6504
/* ---------------------------------------------------------------------------
6505
    Version: 3.0
6506
   --------------------------------------------------------------------------- */
6507
 
6508
    ActionTypeId NUMBER;
6509
 
6510
BEGIN
6511
 
6512
    -- Get Action Type FK
6513
    SELECT act.ACTTYPE_ID INTO ActionTypeId
6514
      FROM ACTION_TYPE act
6515
     WHERE act.NAME = enumActionTypeName;
6516
 
6517
 
6518
    INSERT INTO DAEMON_ACTION_LOG
6519
    VALUES ( nUserId, ORA_SYSDATETIME, nRconId, sAdditionalComments, ActionTypeId );
6520
 
6521
 
6522
END Log_Daemon_Action;
6523
 
6524
/
4040 dpurdie 6525
--------------------------------------------------------
6999 dpurdie 6526
--  DDL for Procedure LOG_PROJECT_ACTION
4040 dpurdie 6527
--------------------------------------------------------
6999 dpurdie 6528
set define off;
4040 dpurdie 6529
 
6999 dpurdie 6530
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."LOG_PROJECT_ACTION" ( nProjId IN NUMBER,
6531
												 enumActionTypeName IN VARCHAR2,
6532
		                                         nUserId IN NUMBER,
6533
												 sAdditionalComments IN VARCHAR2 DEFAULT NULL,
6534
												 nRtagId IN NUMBER  ) IS
6535
/* ---------------------------------------------------------------------------
6536
    Version: 3.0
6537
   --------------------------------------------------------------------------- */
6538
 
6539
    ActionTypeId NUMBER;
6540
 
6541
BEGIN
6542
 
6543
    -- Get Action Type FK
6544
    SELECT act.ACTTYPE_ID INTO ActionTypeId
6545
      FROM ACTION_TYPE act
6546
     WHERE act.NAME = enumActionTypeName;
6547
 
6548
 
6549
    INSERT INTO PROJECT_ACTION_LOG ( USER_ID, ACTION_DATETIME, PROJ_ID, DESCRIPTION, ACTTYPE_ID, RTAG_ID)
6550
    VALUES ( nUserId, ORA_SYSDATETIME, nProjId, sAdditionalComments, ActionTypeId, nRtagId);
6551
 
6552
 
6553
END Log_Project_Action;
6554
 
6555
/
4040 dpurdie 6556
--------------------------------------------------------
6999 dpurdie 6557
--  DDL for Procedure NEW_ADDITIONAL_NOTE
4040 dpurdie 6558
--------------------------------------------------------
6999 dpurdie 6559
set define off;
4040 dpurdie 6560
 
6999 dpurdie 6561
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."NEW_ADDITIONAL_NOTE" ( pnPv_id IN NUMBER,
6562
                                                  psNote_title IN ADDITIONAL_NOTES.NOTE_TITLE%TYPE,
6563
                                                  psNote_body IN ADDITIONAL_NOTES.NOTE_BODY%TYPE,
6564
                                                  pnUser_id IN NUMBER,
6565
                                                  outErrCode OUT NUMBER
6566
                                                 ) IS
6567
/* ---------------------------------------------------------------------------
6568
    Version: 3.0.0
6569
   --------------------------------------------------------------------------- */
6570
 
6571
    newID NUMBER;
6572
 
6573
	CURSOR an_duplicate_cur IS
6574
        SELECT note_id
6575
          FROM ADDITIONAL_NOTES
6576
         WHERE pv_id = pnPv_id
6577
           AND note_title = psNote_title;
6578
    an_duplicate_rec an_duplicate_cur%ROWTYPE;
6579
 
6580
BEGIN
6581
	outErrCode := -1;		-- Set default return error code to ERROR state
6582
 
6583
	OPEN an_duplicate_cur;
6584
    FETCH an_duplicate_cur INTO an_duplicate_rec;
6585
 
6586
    IF an_duplicate_cur%NOTFOUND
6587
    THEN
6588
		/* No duplicate titles */
6589
		-- Get new ID --
6590
    	SELECT SEQ_ADDITIONAL_NOTES.NEXTVAL INTO newID FROM DUAL;
6591
 
6592
		--- Add Additional Note ---
6593
	    INSERT INTO ADDITIONAL_NOTES ( note_id, pv_id, note_title, note_body, mod_date, mod_user  )
7000 dpurdie 6594
	    VALUES (  newID, pnPv_id, psNote_title, psNote_body, ora_sysdatetime, pnUser_id );
6999 dpurdie 6595
		outErrCode := 0;		-- Set return to SUCCESS
6596
	END IF;
6597
 
6598
	CLOSE an_duplicate_cur;
6599
END New_Additional_Note;
6600
 
6601
/
4040 dpurdie 6602
--------------------------------------------------------
6999 dpurdie 6603
--  DDL for Procedure NEW_PACKAGE_NAME
4040 dpurdie 6604
--------------------------------------------------------
6999 dpurdie 6605
set define off;
4040 dpurdie 6606
 
6999 dpurdie 6607
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."NEW_PACKAGE_NAME" ( SSpkg_name IN PACKAGES.pkg_name%TYPE,
6608
                                               retPKG_ID OUT NUMBER ) IS
6609
/* ---------------------------------------------------------------------------
6610
    Version: 3.0.0
6611
   --------------------------------------------------------------------------- */
6612
 
6613
    CURSOR packages_cur IS
6614
        SELECT pkg.pkg_id
6615
          FROM packages pkg
6616
         WHERE pkg.pkg_name = SSpkg_name;
6617
    packages_rec packages_cur%ROWTYPE;
6618
 
6619
 
6620
BEGIN
6621
 
6622
    /* ---------------------------------------------------- */
6623
    /* Find if package name exists                          */
6624
    /* ---------------------------------------------------- */
6625
 
6626
    OPEN packages_cur;
6627
    FETCH packages_cur INTO packages_rec;
6628
 
6629
    IF packages_cur%NOTFOUND
6630
    THEN
6631
        -- Create new pkg_name --
6632
        SELECT SEQ_PKG_ID.nextval INTO retPKG_ID FROM DUAL;
6633
 
6634
        INSERT INTO packages ( pkg_id, pkg_name )
6635
        VALUES ( retPKG_ID, SSpkg_name );
6636
 
6637
    ELSE
6638
        retPKG_ID := packages_rec.pkg_id;
6639
 
6640
    END IF;
6641
 
6642
 
6643
    CLOSE packages_cur;
6644
 
6645
END New_Package_Name;
6646
 
6647
/
4040 dpurdie 6648
--------------------------------------------------------
6999 dpurdie 6649
--  DDL for Procedure NEW_PATCH
4040 dpurdie 6650
--------------------------------------------------------
6999 dpurdie 6651
set define off;
4040 dpurdie 6652
 
6999 dpurdie 6653
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."NEW_PATCH" ( SSpatch_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
6654
 	   	  		  					  	NNparent_id IN NUMBER,
6655
                                        sPatchIdList IN VARCHAR2,
6656
										NNuser_id IN NUMBER ) IS
6657
/* ---------------------------------------------------------------------------
6658
    Version: 3.5
6659
   --------------------------------------------------------------------------- */
6660
 
6661
    patchPv_id    NUMBER;
6662
	parPkg_id	  NUMBER;
6663
    LastInstallOrder NUMBER;
6664
    isPatchDlocked PACKAGE_VERSIONS.DLOCKED%TYPE;
6665
    SSV_MM PACKAGE_VERSIONS.V_MM%TYPE;
6666
    SSV_NMM PACKAGE_VERSIONS.V_NMM%TYPE;
6667
    SSV_EXT PACKAGE_VERSIONS.V_EXT%TYPE;
6668
	oPatchDepCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
6669
 
6670
	CURSOR parent_cur IS
6671
        SELECT pv.*, pkg.pkg_name
6672
          FROM package_versions pv,
6673
		       packages pkg
6674
         WHERE pv.pv_id = NNparent_id
6675
		   AND pv.pkg_id = pkg.pkg_id;
6676
    parent_rec parent_cur%ROWTYPE;
6677
 
6678
    CURSOR patch_cur IS
6679
        SELECT pv.*, pg.pkg_name
6680
          FROM package_versions pv,
6681
		       packages pg
6682
         WHERE pv.pkg_id = parPkg_id
6683
		   AND pv.pkg_version = SSpatch_version
6684
		   AND pv.pkg_id = pg.pkg_id;
6685
    patch_rec patch_cur%ROWTYPE;
6686
 
6687
	CURSOR releases_cur IS
6688
        SELECT rc.pv_id
6689
		  FROM release_content rc
6690
		 WHERE rc.pv_id = patch_rec.pv_id;
6691
    releases_rec releases_cur%ROWTYPE;
6692
 
6693
 
6694
BEGIN
6695
 
6696
	-- Get Last Install Order
6697
    SELECT Count(*) INTO LastInstallOrder
6698
	  FROM PACKAGE_PATCHES pp
6699
	 WHERE pp.PV_ID = NNparent_id;
6700
 
6701
 
6702
    -- Get parent details
6703
	OPEN parent_cur;
6704
    FETCH parent_cur INTO parent_rec;
6705
	parPkg_id := parent_rec.pkg_id;
6706
 
6707
 
6708
	-- Find if patch exists in database
6709
    OPEN patch_cur;
6710
    FETCH patch_cur INTO patch_rec;
6711
 
6712
 
6713
    -- Parent must be official
6714
    IF parent_rec.dlocked = 'Y' THEN
6715
 
6716
	    IF patch_cur%NOTFOUND
6717
	    THEN
6718
        	isPatchDlocked := 'N';
6719
 
6720
	        -- Create new patch version --
6721
	        SELECT SEQ_PV_ID.nextval INTO patchPv_id FROM DUAL;
6722
 
6723
 
6724
	        Split_version ( SSpatch_version, SSV_MM, SSV_NMM, SSV_EXT );
6725
 
6726
	        INSERT INTO package_versions ( pv_id, pkg_id, pkg_version, dlocked, created_stamp, creator_id, modified_stamp, modifier_id, V_MM, V_NMM, V_EXT, src_path, pv_description, owner_id, is_patch, LAST_PV_ID, bs_id, is_autobuildable, ripple_field )
6727
				   VALUES (
6728
						   patchPv_id,
6729
	                       parPkg_id,
6730
	                       SSpatch_version,
6731
	                       isPatchDlocked,
7000 dpurdie 6732
	                       ora_sysdatetime,
6999 dpurdie 6733
	                       NNuser_id,
6734
	                       ORA_SYSDATETIME,
6735
	                       NNuser_id,
6736
	                       SSV_MM,
6737
	                       SSV_NMM,
6738
	                       SSV_EXT,
6739
	                       parent_rec.src_path,
6740
	                       'This is a patch to ' || parent_rec.pkg_name || ' ' || parent_rec.pkg_version,
6741
	                       NNuser_id,
6742
						   'Y',
6743
                           patchPv_id,
6744
						   parent_rec.bs_id,
6745
						   parent_rec.is_autobuildable,
6746
						   parent_rec.ripple_field
6747
 
6748
						   );
6749
 
6750
			INSERT INTO package_patches ( pv_id, patch_id, INSTALL_ORDER )
6751
		    	   ( SELECT NNparent_id AS pv_id,
6752
				            pv.pv_id AS patch_id,
6753
	                        LastInstallOrder + 1 AS INSTALL_ORDER
6754
				       FROM package_versions pv
6755
					  WHERE pv.pv_id = patchPv_id
6756
					    AND pv.is_patch = 'Y' );
6757
 
6758
	        /* LOG ACTION */
6759
            Log_Action ( patchPv_id, 'new_version', NNuser_id,
6760
        			     'Patch version created: '|| SSpatch_version );
6761
 
6762
        	Log_Action ( NNparent_id, 'patch_add', NNuser_id,
6763
        			     'New patch created and attached: '|| SSpatch_version );
6764
 
6765
 
6766
	    ELSE
6767
 
6768
		    patchPv_id := patch_rec.pv_id;
6769
	    	isPatchDlocked := patch_rec.dlocked;
6770
 
6771
			-- Find if pv_id exists in release content (i.e. it cannot be a patch)
6772
		    OPEN releases_cur;
6773
		    FETCH releases_cur INTO releases_rec;
6774
 
6775
			IF releases_cur%NOTFOUND
6776
	   		THEN
6777
				-- This pv_id is trully a patch, hence add Y to column IS_PATCH
6778
				UPDATE package_versions SET
6779
					   is_patch = 'Y'
6780
					   WHERE pv_id = patchPv_id;
6781
 
6782
				INSERT INTO package_patches ( pv_id, patch_id, INSTALL_ORDER )
6783
			    	   ( SELECT NNparent_id AS pv_id,
6784
					            pv.pv_id AS patch_id,
6785
	                            LastInstallOrder + 1 AS INSTALL_ORDER
6786
					       FROM package_versions pv
6787
						  WHERE pv.pv_id = patchPv_id
6788
						    AND pv.is_patch = 'Y' );
6789
 
6790
			END IF;
6791
 
6792
			CLOSE releases_cur;
6793
 
6794
            /* LOG ACTION */
6795
        	Log_Action ( NNparent_id, 'patch_add', NNuser_id,
6796
        			     'Patch version was found and attached: '|| SSpatch_version );
6797
 
6798
	    END IF;
6799
 
6800
 
6801
 
6802
 
6803
    END IF;
6804
 
6805
 
6806
 
6807
    /* Create Patch Dependencies */
6808
    oPatchDepCollector := IN_LIST_NUMBER ( sPatchIdList );
6809
 
6810
 
6811
    -- Make sure patch is unofficial before altering its dependencies
6812
    IF (oPatchDepCollector.COUNT > 0) AND (isPatchDlocked = 'N') THEN
6813
    	-- Delete Existing Dependencies
6814
        DELETE
6815
          FROM PACKAGE_DEPENDENCIES dep
6816
         WHERE dep.PV_ID = patchPv_id;
6817
 
6818
 
6819
        -- Insert new dependencies
6820
        INSERT INTO PACKAGE_DEPENDENCIES ( PV_ID, DPV_ID, PKG_ID, DPKG_ID, BUILD_TYPE )
6821
        SELECT patchPv_id AS PV_ID,
6822
        	   pv.PV_ID AS DPV_ID,
6823
               parPkg_id AS PKG_ID,
6824
               pv.PKG_ID AS DPKG_ID,
6825
               'L' AS BUILD_TYPE
6826
          FROM PACKAGE_VERSIONS pv
6827
         WHERE pv.PV_ID IN ( SELECT * FROM TABLE ( CAST ( oPatchDepCollector AS RELMGR_NUMBER_TAB_t ) ) );
6828
 
6829
 
6830
    END IF;
6831
 
6832
 
6833
    CLOSE parent_cur;
6834
    CLOSE patch_cur;
6835
END New_Patch;
6836
 
6837
/
4040 dpurdie 6838
--------------------------------------------------------
6999 dpurdie 6839
--  DDL for Procedure NEW_UNIT_TEST
4040 dpurdie 6840
--------------------------------------------------------
6999 dpurdie 6841
set define off;
4040 dpurdie 6842
 
6999 dpurdie 6843
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."NEW_UNIT_TEST" ( nPv_id IN NUMBER,
6844
                                            nTestTypeId IN UNIT_TESTS.TEST_TYPES_FK%TYPE,
6845
                                            sTest_summary IN UNIT_TESTS.TEST_SUMMARY%TYPE,
6846
                                            sNumOfTest IN UNIT_TESTS.NUMOF_TEST%TYPE,
6847
                                            sDpkg_path IN VARCHAR2,
6848
                                            sResults IN VARCHAR2,
6849
                                            sCompletion_date IN VARCHAR2,
6850
                                            nCompleted_by IN NUMBER,
6851
											enumTEST_TYPE_AUTOMATIC IN NUMBER,
6852
											enumTEST_TYPE_NOT_DONE IN NUMBER,
6853
											outFileName OUT VARCHAR2
6854
                                           ) IS
6855
/* ---------------------------------------------------------------------------
6856
    Version: 3.2.0
6857
   --------------------------------------------------------------------------- */
6858
 
6859
   	FILENAME_PREFIX CONSTANT VARCHAR2(50) := 'RM_UNIT_TEST';
6860
 
6861
    newID NUMBER;
6862
    ResultsURL UNIT_TESTS.RESULTS_URL%TYPE DEFAULT NULL;
6863
    ResultsAttachment UNIT_TESTS.RESULTS_ATTACHMENT_NAME%TYPE DEFAULT NULL;
6864
 
6865
BEGIN
6866
 
6867
	-- Get new ID --
6868
   	SELECT SEQ_UNIT_TESTS.NEXTVAL INTO newID FROM DUAL;
6869
 
6870
       IF nTestTypeId = enumTEST_TYPE_AUTOMATIC THEN
6871
       	ResultsURL := sResults;
6872
       ELSE
6873
       	IF (sResults <> '') OR ( NOT sResults IS NULL ) THEN
6874
        	outFileName := FILENAME_PREFIX || newID ||'_'|| sResults;
6875
    		ResultsAttachment := sDpkg_path || '/' || outFileName;
6876
           END IF;
6877
       END IF;
6878
 
6879
	-- Remove NOT_DONE entry if exists
6880
	DELETE FROM UNIT_TESTS
6881
	 WHERE pv_id = nPv_id
6882
	   AND test_types_fk = enumTEST_TYPE_NOT_DONE;
6883
 
6884
	--- Add Additional Note ---
6885
    INSERT INTO UNIT_TESTS ( TEST_ID,
6886
								PV_ID,
6887
								TEST_TYPES_FK,
6888
								TEST_SUMMARY,
6889
								COMPLETION_DATE,
6890
								COMPLETED_BY,
6891
								RESULTS_URL,
6892
								RESULTS_ATTACHMENT_NAME,
6893
								NUMOF_TEST )
6894
    VALUES (
6895
       	newID,
6896
           nPv_id,
6897
           nTestTypeId,
6898
           sTest_summary,
6899
           TO_DATE( sCompletion_date,'DD/MM/YYYY' ),
6900
           nCompleted_by,
6901
           ResultsURL,
6902
           ResultsAttachment,
6903
		   sNumOfTest );
6904
 
6905
END New_Unit_Test;
6906
 
6907
/
4040 dpurdie 6908
--------------------------------------------------------
6999 dpurdie 6909
--  DDL for Procedure PAOLO_BUILD_TREE
4040 dpurdie 6910
--------------------------------------------------------
6999 dpurdie 6911
set define off;
4040 dpurdie 6912
 
6999 dpurdie 6913
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."PAOLO_BUILD_TREE" ( nRtag_id IN NUMBER ) IS
6914
 
6915
    sessionNumber NUMBER := 0;
6916
    iteration NUMBER := 1;
6917
    rowCnt NUMBER := 0;
6918
    maxIterations 	NUMBER := 50;
6919
 
6920
BEGIN
6921
 
6922
 
6923
    INSERT INTO TEMP_TREE_BROWSE ( SESSION_NUM, LEVEL_NUM, PV_ID )
6924
    SELECT sessionNumber, iteration, rc.PV_ID
6925
      FROM RELEASE_CONTENT rc
6926
     WHERE rc.RTAG_ID = nRtag_id;
6927
 
6928
    iteration := iteration + 1;
6929
    LOOP
6930
 
6931
        INSERT INTO TEMP_TREE_BROWSE ( SESSION_NUM, LEVEL_NUM, PV_ID )
6932
		SELECT sessionNumber,
6933
               iteration,
6934
               dep.DPV_ID
6935
          FROM TEMP_TREE_BROWSE ttb,
6936
               PACKAGE_DEPENDENCIES dep
6937
         WHERE dep.PV_ID = ttb.PV_ID
6938
           AND ttb.LEVEL_NUM = iteration - 1
6939
 
6940
         MINUS
6941
 
6942
        SELECT sessionNumber, iteration, ttb.PV_ID
6943
          FROM TEMP_TREE_BROWSE ttb;
6944
 
6945
 
6946
 
6947
 
6948
		rowCnt := SQL%ROWCOUNT;
6949
		IF rowCnt > 0 THEN
6950
           iteration := iteration + 1;
6951
		END IF;
6952
        EXIT WHEN (rowCnt < 1) OR (iteration > maxIterations);
6953
    END LOOP;
6954
 
6955
END PAOLO_Build_Tree;
6956
 
6957
/
4040 dpurdie 6958
--------------------------------------------------------
6999 dpurdie 6959
--  DDL for Procedure REBUILD_DEPRECATE_STATE
4040 dpurdie 6960
--------------------------------------------------------
6999 dpurdie 6961
set define off;
4040 dpurdie 6962
 
6999 dpurdie 6963
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."REBUILD_DEPRECATE_STATE" ( nRtagId IN INT ) AS
6964
BEGIN
6965
 
6966
  --  Clear the 'calculated' values from the Release Conetnts
6967
  --
6968
  UPDATE RELEASE_CONTENT
6969
      SET DEPRECATED_STATE = NULL
6970
  WHERE RTAG_ID =  nRtagId
6971
  AND DEPRECATED_STATE != 6
6972
  AND DEPRECATED_STATE is NOT NULL;
6973
 
6974
  --
6975
  --  Insert new calculated values into the table
6976
  --  Use of 'AAA' speeds up the CONNECT BY PRIOR query (lots)
6977
  UPDATE RELEASE_CONTENT
6978
      SET DEPRECATED_STATE = 7
6979
  WHERE RTAG_ID =  nRtagId
6980
  AND DEPRECATED_STATE is null
6981
  AND PV_ID in (
6982
        WITH AAA AS
6983
          (SELECT pd.*
6984
          FROM PACKAGE_DEPENDENCIES pd,
6985
            RELEASE_CONTENT RC1
6986
          WHERE rc1.rtag_id = nRtagId
6987
          AND RC1.PV_ID     = pd.PV_ID
6988
          )
6989
      SELECT DISTINCT qry.PV_ID
6990
      FROM
6991
        (SELECT dep.*,
6992
          LEVEL AS LEVEL_NUM
6993
        FROM AAA dep
6994
          START WITH dep.DPV_ID IN (
6995
                SELECT rc.pv_id as pv_id
6996
                FROM RELEASE_CONTENT rc
6997
                WHERE rc.rtag_id  = nRtagId
6998
                AND rc.DEPRECATED_STATE = 6 )
6999
          CONNECT BY PRIOR dep.PV_ID = dep.DPV_ID
7000
        ) qry,
7001
        PACKAGES pkg,
7002
        PACKAGE_VERSIONS pv,
7003
        RELEASE_CONTENT rc
7004
      WHERE qry.PV_ID          = pv.PV_ID
7005
      AND pv.PKG_ID            = pkg.PKG_ID
7006
      AND rc.RTAG_ID           = nRtagId
7007
      AND rc.PV_ID             = qry.PV_ID
7008
      );
7009
END REBUILD_DEPRECATE_STATE;
7010
 
7011
/
4040 dpurdie 7012
--------------------------------------------------------
6999 dpurdie 7013
--  DDL for Procedure REBUILD_ENVIRONMENT
4040 dpurdie 7014
--------------------------------------------------------
6999 dpurdie 7015
set define off;
4040 dpurdie 7016
 
6999 dpurdie 7017
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."REBUILD_ENVIRONMENT" ( NNrtag_id IN NUMBER ) IS
7018
  --
7019
  --  Recalculate the package_state
7020
  --  Triggered by the Web Interface
7021
  --
7022
    rowCnt NUMBER := 0;
7023
    iteration NUMBER := 2;          -- Iterations counter
7024
    maxIterations NUMBER := 30;     -- Maximum number of iterations allowed.
7025
                                    -- This will prevent infinite loops if cyrcular dependencies are found
7026
    sessionNum NUMBER;
7027
BEGIN
7028
    SELECT SEQ_session_num.nextval INTO sessionNum FROM DUAL;
7029
 
7030
 
7031
    -- Redo Patch Ignore warnings
7032
    Ignore_Dependency_Warnings ( NNrtag_id, NULL, NULL, TRUE );
7033
 
7034
    Level_One_Conflicts ( NNrtag_id, sessionNum );
7035
    --commit;
7036
 
7037
    LOOP
7038
        Level_N_Conflicts ( NNrtag_id, sessionNum, rowCnt, iteration );
7039
        --commit;
7040
        iteration := iteration + 1;
7041
        EXIT WHEN (rowCnt < 1) OR (iteration > maxIterations);
7042
    END LOOP;
7043
 
7044
    Update_Package_States ( NNrtag_id, sessionNum );
7045
 
7046
    DELETE FROM temp_env_states WHERE session_num = sessionNum;
7047
    DELETE FROM TEMP_ENV_DEPS WHERE session_num = sessionNum;
7048
 
7049
    -- Flag Packages with New Patches Available
7050
    -- Temp deleted 28-Mar-2017 (25-Jul-2018)
7051
    -- Reason: It takes a very long time and we dont use patches any more
7052
    -- Check_New_Patches ( NNrtag_id );
7053
 
7054
	Clean_Do_Not_Ripple( NNrtag_id );
7055
 
7056
 
7057
	/* Circular Dependency Flag */
7058
    /*
7059
	IF iteration > maxIterations
7060
	THEN
7061
		UPDATE release_tags SET
7062
		   	   circular_dependency = 'Y'
7063
		 WHERE rtag_id = NNrtag_id;
7064
	ELSE
7065
		UPDATE release_tags SET
7066
		   	   circular_dependency = NULL
7067
		 WHERE rtag_id = NNrtag_id;
7068
	END IF;
7069
    */
7070
END Rebuild_Environment;
7071
 
7072
/
4040 dpurdie 7073
--------------------------------------------------------
6999 dpurdie 7074
--  DDL for Procedure REMOVE_COMPONENTS
4040 dpurdie 7075
--------------------------------------------------------
6999 dpurdie 7076
set define off;
4040 dpurdie 7077
 
6999 dpurdie 7078
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."REMOVE_COMPONENTS" ( nPvId IN RELEASE_COMPONENTS.PV_ID%TYPE ) IS
7079
/* ---------------------------------------------------------------------------
7080
    Version: 3.0.0
7081
   --------------------------------------------------------------------------- */
7082
 
7083
 
7084
BEGIN
7085
 
7086
	 --- Delete From RELEASE_COMPONENTS
7087
	 DELETE FROM RELEASE_COMPONENTS
7088
	 WHERE PV_ID = nPvId;
7089
 
7090
END Remove_Components;
7091
 
7092
/
4040 dpurdie 7093
--------------------------------------------------------
6999 dpurdie 7094
--  DDL for Procedure REMOVE_DOCUMENT
4040 dpurdie 7095
--------------------------------------------------------
6999 dpurdie 7096
set define off;
4040 dpurdie 7097
 
6999 dpurdie 7098
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."REMOVE_DOCUMENT" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,
7099
											  nDocId IN PACKAGE_DOCUMENTS.DOC_ID%TYPE,
7100
                                              nUserId IN NUMBER ) IS
7101
/* ---------------------------------------------------------------------------
7102
    Version: 3.0
7103
   --------------------------------------------------------------------------- */
7104
 
7105
   DocNumber PACKAGE_DOCUMENTS.DOC_NUM%TYPE;
7106
 
7107
BEGIN
7108
 
7109
	-- Get Doc Num
7110
    SELECT pd.DOC_NUM INTO DocNumber
7111
      FROM PACKAGE_DOCUMENTS pd
7112
     WHERE pd.PV_ID = nPvId
7113
       AND pd.DOC_ID = nDocId;
7114
 
7115
 
7116
	-- Delete Document
7117
    DELETE
7118
      FROM PACKAGE_DOCUMENTS pd
7119
     WHERE pd.PV_ID = nPvId
7120
       AND pd.DOC_ID = nDocId;
7121
 
7122
 
7123
    /* LOG ACTION */
7124
   	Log_Action ( nPvId, 'document_remove', nUserId,
7125
   			     'Document number: '|| DocNumber );
7126
 
7127
 
7128
END Remove_Document;
7129
 
7130
/
4040 dpurdie 7131
--------------------------------------------------------
6999 dpurdie 7132
--  DDL for Procedure REMOVE_PACKAGE_INTEREST
4040 dpurdie 7133
--------------------------------------------------------
6999 dpurdie 7134
set define off;
4040 dpurdie 7135
 
6999 dpurdie 7136
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."REMOVE_PACKAGE_INTEREST" (nProjId IN PROJECTS.PROJ_ID%TYPE,
7137
	   	  		  								  	nPkgId IN PACKAGES.PKG_ID%TYPE,
7138
												  	nUserId IN NUMBER
7139
	   	  		  									) IS
7140
 
7141
/******************************************************************************
7142
   NAME:       REMOVE_PACKAGE_INTEREST
7143
   PURPOSE:    To remove interest in a given package per project
7144
 
7145
   REVISIONS:
7146
   Ver        Date        Author           Description
7147
   ---------  ----------  ---------------  ------------------------------------
7148
   1.0        12/05/2006  Rupesh Solanki      1. Created this procedure.
7149
 
7150
   NOTES:
7151
 
7152
   Automatically available Auto Replace Keywords:
7153
      Object Name:     REMOVE_PACKAGE_INTEREST
7154
      Sysdate:         12/05/2006
7155
      Date and Time:   12/05/2006, 11:28:50 AM, and 12/05/2006 11:28:50 AM
7156
      Username:         (set in TOAD Options, Procedure Editor)
7157
      Table Name:       (set in the "New PL/SQL Object" dialog)
7158
 
7159
******************************************************************************/
7160
BEGIN
7161
 
7162
	 --Delete from PACKAGE_INTEREST
7163
	 DELETE FROM PACKAGE_INTEREST
7164
	 WHERE PROJ_ID = nProjId
7165
	 AND PKG_ID = nPkgId
7166
	 AND USER_ID = nUserId;
7167
 
7168
END REMOVE_PACKAGE_INTEREST;
7169
 
7170
/
4040 dpurdie 7171
--------------------------------------------------------
6999 dpurdie 7172
--  DDL for Procedure REMOVE_PATCH
4040 dpurdie 7173
--------------------------------------------------------
6999 dpurdie 7174
set define off;
4040 dpurdie 7175
 
6999 dpurdie 7176
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."REMOVE_PATCH" ( nPatchId IN PACKAGE_PATCHES.PATCH_ID%TYPE,
7177
										   nPvId IN PACKAGE_PATCHES.PV_ID%TYPE,
7178
                                           nUserId IN NUMBER ) IS
7179
/* ---------------------------------------------------------------------------
7180
    Version: 4.0
7181
   --------------------------------------------------------------------------- */
7182
 
7183
PatchVersion PACKAGE_VERSIONS.PKG_VERSION%TYPE;
7184
 
7185
CURSOR curPatch IS
7186
	SELECT pp.PV_ID,
7187
		   pp.PATCH_ID,
7188
	       ROWNUM AS NEW_INSTALL_ORDER
7189
	  FROM PACKAGE_PATCHES pp
7190
	 WHERE pp.PV_ID = nPvId
7191
	ORDER BY pp.INSTALL_ORDER;
7192
recPatch curPatch%ROWTYPE;
7193
 
7194
BEGIN
7195
 
7196
	 -- Delete Patch
7197
     DELETE
7198
       FROM PACKAGE_PATCHES pp
7199
      WHERE pp.PV_ID = nPvId
7200
        AND pp.PATCH_ID = nPatchId;
7201
 
7202
 
7203
	-- Redo Install Order
7204
    OPEN curPatch;
7205
	FETCH curPatch INTO recPatch;
7206
 
7207
	WHILE curPatch%FOUND
7208
	LOOP
7209
 
7210
		UPDATE PACKAGE_PATCHES pp SET
7211
			pp.INSTALL_ORDER = recPatch.NEW_INSTALL_ORDER
7212
		WHERE pp.PV_ID = nPvId
7213
		  AND pp.PATCH_ID = recPatch.PATCH_ID;
7214
 
7215
		FETCH curPatch INTO recPatch;
7216
	END LOOP;
7217
 
7218
	CLOSE curPatch;
7219
 
7220
 
7221
 
7222
 
7223
    /* LOG ACTION */
7224
    SELECT pv.PKG_VERSION INTO PatchVersion
7225
      FROM PACKAGE_VERSIONS pv
7226
     WHERE pv.PV_ID = nPatchId;
7227
 
7228
   	Log_Action ( nPvId, 'patch_remove', nUserId,
7229
   			     'Version: '|| PatchVersion );
7230
 
7231
END Remove_Patch;
7232
 
7233
/
4040 dpurdie 7234
--------------------------------------------------------
6999 dpurdie 7235
--  DDL for Procedure REMOVE_PROJECT_VIEW_OWNER
4040 dpurdie 7236
--------------------------------------------------------
6999 dpurdie 7237
set define off;
4040 dpurdie 7238
 
6999 dpurdie 7239
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."REMOVE_PROJECT_VIEW_OWNER" (nProjId IN NUMBER,
7240
	   	  		  						 			  nViewId IN NUMBER,
7241
										 			  sUserIdList IN VARCHAR2,
7242
										 			  nUserId IN NUMBER ) IS
5172 dpurdie 7243
 
6999 dpurdie 7244
GroupId NUMBER;
7245
 
7246
 
7247
 
7248
/******************************************************************************
7249
   NAME:       UPDATE_VIEW
7250
   PURPOSE:
7251
 
7252
   REVISIONS:
7253
   Ver        Date        Author           		Description
7254
   ---------  ----------  ---------------  ------------------------------------
7255
   1.0        10/04/2006     Rupesh Solanki     1. Created this procedure.
7256
 
7257
   NOTES:
7258
 
7259
   Automatically available Auto Replace Keywords:
7260
      Object Name:     UPDATE_VIEW
7261
      Sysdate:         10/04/2006
7262
      Date and Time:   10/04/2006, 1:55:19 PM, and 10/04/2006 1:55:19 PM
7263
      Username:         (set in TOAD Options, Procedure Editor)
7264
      Table Name:       (set in the "New PL/SQL Object" dialog)
7265
 
7266
******************************************************************************/
7267
 
7268
BEGIN
7269
	 SELECT GROUP_EMAIL_ID into GroupId
7270
	 FROM AUTOBUILD_FAILURE
7271
	 WHERE PROJ_ID = nProjId
7272
	 AND VIEW_ID = nViewId;
7273
 
7274
	 DELETE FROM MEMBERS_GROUP
7275
	 WHERE GROUP_EMAIL_ID = GroupId
7276
	 AND USER_ID IN (
7277
	 SELECT * FROM THE ( SELECT CAST( IN_LIST_NUMBER( sUserIdList ) AS RELMGR_NUMBER_TAB_t ) FROM dual )
7278
	 );
7279
 
7280
 
7281
 
7282
END REMOVE_PROJECT_VIEW_OWNER;
7283
 
7284
/
4040 dpurdie 7285
--------------------------------------------------------
6999 dpurdie 7286
--  DDL for Procedure REMOVE_RELEASE_CONTENT
4040 dpurdie 7287
--------------------------------------------------------
6999 dpurdie 7288
set define off;
4040 dpurdie 7289
 
6999 dpurdie 7290
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."REMOVE_RELEASE_CONTENT" ( sPvIdList IN VARCHAR2,
7291
													 sNotPvIdList IN VARCHAR2,
7292
                                                     nRTagId IN RELEASE_CONTENT.RTAG_ID%TYPE ) IS
7293
/* ---------------------------------------------------------------------------
7294
    Version: 3.0
7295
   --------------------------------------------------------------------------- */
7296
 
7297
oPvIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
7298
oNotPvIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
7299
 
7300
BEGIN
7301
	oPvIdCollector := IN_LIST_NUMBER ( sPvIdList );
7302
    oNotPvIdCollector := IN_LIST_NUMBER ( sNotPvIdList );
7303
 
7304
    -- Delete From Release Content
7305
    DELETE
7306
      FROM RELEASE_CONTENT
7307
	 WHERE rtag_id = nRTagId
7308
	   AND pv_id IN ( SELECT * FROM TABLE ( CAST ( oPvIdCollector AS RELMGR_NUMBER_TAB_t ) ) )
7309
	   AND NOT pv_id IN ( SELECT * FROM TABLE ( CAST ( oNotPvIdCollector AS RELMGR_NUMBER_TAB_t ) ) );
7310
 
7311
 
7312
 
7313
END Remove_Release_Content;
7314
 
7315
/
4040 dpurdie 7316
--------------------------------------------------------
6999 dpurdie 7317
--  DDL for Procedure REMOVE_RUNTIME
4040 dpurdie 7318
--------------------------------------------------------
6999 dpurdie 7319
set define off;
4040 dpurdie 7320
 
6999 dpurdie 7321
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."REMOVE_RUNTIME" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,
7322
											 nRuntimeId IN RUNTIME_DEPENDENCIES.RTD_ID%TYPE,
7323
                                             nUserId IN NUMBER ) IS
7324
/* ---------------------------------------------------------------------------
7325
    Version: 3.0
7326
   --------------------------------------------------------------------------- */
5172 dpurdie 7327
 
6999 dpurdie 7328
   RuntimeDependency VARCHAR2(4000);
5172 dpurdie 7329
 
6999 dpurdie 7330
BEGIN
5172 dpurdie 7331
 
6999 dpurdie 7332
	-- Get Runtime dependency
7333
    SELECT pkg.PKG_NAME ||' '|| pv.PKG_VERSION  INTO RuntimeDependency
7334
	  FROM RUNTIME_DEPENDENCIES rtd,
7335
	  	   PACKAGES pkg,
7336
	       PACKAGE_VERSIONS pv
7337
	 WHERE rtd.PV_ID = nPvId
7338
	   AND pv.PKG_ID = pkg.PKG_ID
7339
	   AND rtd.RTD_ID = pv.PV_ID
7340
	   AND rtd.RTD_ID = nRuntimeId;
5172 dpurdie 7341
 
6999 dpurdie 7342
 
7343
	-- Delete Document
7344
    DELETE
7345
      FROM RUNTIME_DEPENDENCIES rtd
7346
     WHERE rtd.PV_ID = nPvId
7347
       AND rtd.RTD_ID = nRuntimeId;
7348
 
7349
 
7350
    /* LOG ACTION */
7351
   	Log_Action ( nPvId, 'runtime_remove', nUserId,
7352
   			     'Runtime package: '|| RuntimeDependency );
7353
 
7354
 
7355
END Remove_Runtime;
7356
 
7357
/
4040 dpurdie 7358
--------------------------------------------------------
6999 dpurdie 7359
--  DDL for Procedure RENAME_PACKAGE_VERSION
4040 dpurdie 7360
--------------------------------------------------------
6999 dpurdie 7361
set define off;
4040 dpurdie 7362
 
6999 dpurdie 7363
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."RENAME_PACKAGE_VERSION" ( NNpv_id IN NUMBER,
7364
                                  SSpkg_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
7365
                                  cBuildType IN CHAR,
7366
                                  cChangeType IN CHAR,
7367
                                  NNuser_id IN NUMBER,
7368
                                  errMessage OUT VARCHAR2 ) IS
7369
/* ---------------------------------------------------------------------------
7370
    Version: 3.2
7371
   --------------------------------------------------------------------------- */
7372
 
7373
    sPackageVersion VARCHAR2(4000);
7374
    sLabel VARCHAR2(4000) := NULL;
7375
    sChangeType VARCHAR2(100) := NULL;
7376
    uChangeType CHAR := cChangeType;
7377
    OldPkgVersion PACKAGE_VERSIONS.PKG_VERSION%TYPE;
7378
 
7379
    SSV_MM PACKAGE_VERSIONS.V_MM%TYPE;
7380
    SSV_NMM PACKAGE_VERSIONS.V_NMM%TYPE;
7381
    SSV_EXT PACKAGE_VERSIONS.V_EXT%TYPE;
7382
 
7383
    CURSOR package_versions_cur IS
7384
        SELECT pv_id
7385
          FROM package_versions
7386
         WHERE pkg_id IN ( SELECT pkg_id FROM package_versions WHERE pv_id = NNpv_id )
7387
           AND pkg_version = SSpkg_version;
7388
    package_versions_rec package_versions_cur%ROWTYPE;
7389
 
7390
 
7391
BEGIN
7392
 
7393
    /* ---------------------------------------------------- */
7394
    /* Find if package_version exists                       */
7395
    /* ---------------------------------------------------- */
7396
 
7397
    errMessage := NULL;
7398
 
7399
    -- Get previous version
7400
    SELECT pv.PKG_VERSION INTO OldPkgVersion
7401
      FROM PACKAGE_VERSIONS pv
7402
     WHERE pv.PV_ID = NNpv_id;
7403
 
7404
    sPackageVersion := SSpkg_version;
7405
 
7406
    IF OldPkgVersion != sPackageVersion THEN
7407
 
7408
        OPEN package_versions_cur;
7409
        FETCH package_versions_cur INTO package_versions_rec;
7410
 
7411
        IF package_versions_cur%NOTFOUND
7412
        THEN
7413
 
7414
            -- Split current version in parts
7415
            Split_Version ( SSpkg_version, SSV_MM, SSV_NMM, SSV_EXT );
7416
 
7417
 
7418
                -- Automated built config
7419
                IF ( cBuildType = 'M' ) THEN
7420
                    uChangeType := 'F';
7421
                END IF;
7422
 
7423
                -- Automated version numbering
7424
                -- Make sure that version is still unique
7425
                IF (uChangeType != 'F') THEN
7426
                    sPackageVersion := '('|| NNpv_id ||')'|| SSV_EXT;
7427
                END IF;
7428
 
7429
                -- Packge version not found, hence rename it.
7430
                UPDATE package_versions
7431
                   SET pkg_version = sPackageVersion,
7432
                       v_mm = SSV_MM,
7433
                       v_nmm = SSV_NMM,
7434
                       v_ext = SSV_EXT,
7435
                       modified_stamp = ORA_SYSDATETIME,
7436
                       modifier_id = NNuser_id,
7437
                       build_type = cBuildType,
7438
                       change_type = uChangeType,
7439
                       pkg_label = NULL
7440
                 WHERE pv_id = NNpv_id;
7441
 
7442
                sLabel := GET_AUTOMATED_LABEL( NNpv_id );
7443
                UPDATE PACKAGE_VERSIONS pv SET
7444
                    pv.PKG_LABEL = sLabel
7445
                WHERE pv_id = NNpv_id;
7446
 
7447
 
7448
              /* LOG ACTION */
7449
              IF (cChangeType = 'F') THEN
7450
                  Log_Action ( NNpv_id, 'rename', NNuser_id, 'From '|| OldPkgVersion ||' to '|| sPackageVersion );
7451
              ELSE
7452
 
7453
                  IF cChangeType = 'M' THEN
7454
                    sChangeType := 'Major Change';
7455
                  ELSIF cChangeType = 'N' THEN
7456
                    sChangeType := 'Minor Change';
7457
                  ELSIF cChangeType = 'P' THEN
7458
                    sChangeType := 'Patch Change';
7459
                  ELSE
7460
                    sChangeType := 'Unknown Change';
7461
                  END IF;
7462
 
7463
                  Log_Action ( NNpv_id, 'rename', NNuser_id, 'From '|| OldPkgVersion ||' to '|| sPackageVersion || ',' || sChangeType );
7464
              END IF;
7465
 
7466
        ELSE
7467
            -- Package version exists. Cannot proceed.
7468
            errMessage := 'enum_MSG_VERSION_EXISTS';
7469
 
7470
        END IF;
7471
 
7472
        CLOSE package_versions_cur;
7473
 
7474
    END IF;
7475
 
7476
END Rename_Package_Version;
7477
 
7478
/
4040 dpurdie 7479
--------------------------------------------------------
6999 dpurdie 7480
--  DDL for Procedure RESET_IGNORE_WARNINGS
4040 dpurdie 7481
--------------------------------------------------------
6999 dpurdie 7482
set define off;
4040 dpurdie 7483
 
6999 dpurdie 7484
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."RESET_IGNORE_WARNINGS" ( sPvIdList IN VARCHAR2,
7485
                                                    nRTagId IN RELEASE_CONTENT.RTAG_ID%TYPE ) IS
7486
/* ---------------------------------------------------------------------------
7487
    Version: 5.0
7488
   --------------------------------------------------------------------------- */
7489
 
7490
oPvIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
7491
 
7492
BEGIN
7493
	oPvIdCollector := IN_LIST_NUMBER ( sPvIdList );
7494
 
7495
    -- Remove Ignore Warnings
7496
     DELETE
7497
       FROM ignore_warnings
7498
	  WHERE (rtag_id, pv_id, dpv_id) IN
7499
	     (
7500
	      SELECT igw.rtag_id, igw.pv_id, igw.dpv_id
7501
	        FROM ignore_warnings igw,
7502
	             package_versions dpv,
7503
	             package_versions pv
7504
	       WHERE igw.dpv_id = dpv.pv_id
7505
	         AND igw.rtag_id = nRTagId
7506
	         AND dpv.pkg_id = pv.pkg_id
7507
	         AND NVL(dpv.v_ext,'|LINK_A_NULL|') = NVL(pv.v_ext,'|LINK_A_NULL|')
7508
	         AND pv.pv_id IN ( SELECT * FROM TABLE ( CAST ( oPvIdCollector AS RELMGR_NUMBER_TAB_t ) ) )
7509
         );
7510
 
7511
END Reset_Ignore_Warnings;
7512
 
7513
/
4040 dpurdie 7514
--------------------------------------------------------
6999 dpurdie 7515
--  DDL for Procedure RIPPLE_PACKAGE
4040 dpurdie 7516
--------------------------------------------------------
6999 dpurdie 7517
set define off;
4040 dpurdie 7518
 
6999 dpurdie 7519
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."RIPPLE_PACKAGE" (
7520
        sPvIdList IN VARCHAR2,
7521
        nRtagId IN RELEASE_TAGS.RTAG_ID%TYPE,
7522
        nUserId IN NUMBER
7523
    ) IS
7524
/* ---------------------------------------------------------------------------
7525
    Version: 4.1
7526
   --------------------------------------------------------------------------- */
5172 dpurdie 7527
 
7528
BEGIN
7529
 
6999 dpurdie 7530
    IF (sPvIdList IS NULL) THEN
7531
        RAISE_APPLICATION_ERROR (-20000, 'Please select at least one package.' );
7532
    END IF;
5172 dpurdie 7533
 
6999 dpurdie 7534
    -- Ripple Package
7535
    DELETE FROM DO_NOT_RIPPLE
7536
    WHERE RTAG_ID = nRtagId
7537
    AND PV_ID IN (
7538
        SELECT *
7539
        FROM THE (
7540
            SELECT CAST( IN_LIST_NUMBER( sPvIdList )
7541
            AS RELMGR_NUMBER_TAB_t )
7542
            FROM DUAL
7543
        )
7544
    );
5172 dpurdie 7545
 
6999 dpurdie 7546
    -- Mark Release Changed for build
7547
    PK_RELEASE.SET_RELEASE_MODIFIED(nRtagId);
5892 dpurdie 7548
 
6999 dpurdie 7549
    /* LOG ACTION */
7550
    Log_Action_Bulk ( sPvIdList, 'ripple_package', nUserId );
7551
 
7552
END Ripple_Package;
7553
 
7554
/
4040 dpurdie 7555
--------------------------------------------------------
6999 dpurdie 7556
--  DDL for Procedure SEED_PACKAGE_NAMES_VERSIONS
7557
--------------------------------------------------------
7558
set define off;
4040 dpurdie 7559
 
6999 dpurdie 7560
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."SEED_PACKAGE_NAMES_VERSIONS" ( SSpkg_name IN PACKAGES.pkg_name%TYPE,
7561
                                          SSpkg_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
7562
                                          NNuser_id IN NUMBER,
7563
                                          retPV_ID OUT NUMBER,
7564
                                          nCloneFromPvId IN NUMBER DEFAULT NULL,
7565
                                          nBuildType IN CHAR DEFAULT 'U',
7566
                                          nChangeType IN CHAR DEFAULT 'F') IS
1373 dpurdie 7567
/* ---------------------------------------------------------------------------
6999 dpurdie 7568
    Version: 5.0
1373 dpurdie 7569
   --------------------------------------------------------------------------- */
7570
 
6999 dpurdie 7571
    parPkg_id   NUMBER;
7572
    parPv_id    NUMBER;
7573
    cloneFrom_pv_id NUMBER;
7574
    SSV_MM PACKAGE_VERSIONS.V_MM%TYPE;
7575
    SSV_NMM PACKAGE_VERSIONS.V_NMM%TYPE;
7576
    SSV_EXT PACKAGE_VERSIONS.V_EXT%TYPE;
7577
    spackageversion VARCHAR2 (4000);
7578
    slabel VARCHAR2 (4000) := NULL;
1373 dpurdie 7579
 
6999 dpurdie 7580
    CURSOR packages_cur IS
7581
        SELECT pkg_id FROM PACKAGES
7582
        WHERE pkg_name = SSpkg_name;
7583
    packages_rec packages_cur%ROWTYPE;
7584
 
7585
    CURSOR package_versions_cur IS
7586
        SELECT pv_id FROM PACKAGE_VERSIONS
7587
        WHERE pkg_id = parPkg_id
7588
        AND pkg_version = SSpkg_version;
7589
    package_versions_rec package_versions_cur%ROWTYPE;
7590
 
7591
    CURSOR clone_package_versions_cur IS
7592
        SELECT MAX(pv_id) AS pv_id
7593
          FROM PACKAGE_VERSIONS
7594
         WHERE pkg_id = parPkg_id
7595
           AND NVL(v_ext,'LINK_A_NULL') = NVL(SSV_EXT,'LINK_A_NULL');
7596
    clone_package_versions_rec clone_package_versions_cur%ROWTYPE;
7597
 
1373 dpurdie 7598
BEGIN
6999 dpurdie 7599
    /* -------------------------------------------- */
7600
    /* Find if pkg_name exists and seed if required */
7601
    /* -------------------------------------------- */
7602
    OPEN packages_cur;
7603
    FETCH packages_cur INTO packages_rec;
6031 dpurdie 7604
 
6999 dpurdie 7605
    IF packages_cur%NOTFOUND
7606
    THEN
7607
        /* INSERT into packages table */
7608
        SELECT SEQ_PKG_ID.NEXTVAL INTO parPkg_id FROM DUAL;
7609
        INSERT INTO PACKAGES ( pkg_id, pkg_name ) VALUES ( parPkg_id, SSpkg_name );
6031 dpurdie 7610
 
6999 dpurdie 7611
    ELSE
7612
        parPkg_id := packages_rec.pkg_id;
6031 dpurdie 7613
 
6999 dpurdie 7614
    END IF;
6031 dpurdie 7615
 
6999 dpurdie 7616
    CLOSE packages_cur;
5172 dpurdie 7617
 
6031 dpurdie 7618
 
6999 dpurdie 7619
    /* ---------------------------------------------------- */
7620
    /* Find if package_version exists and seed if required  */
7621
    /* ---------------------------------------------------- */
7622
    OPEN package_versions_cur;
7623
    FETCH package_versions_cur INTO package_versions_rec;
5172 dpurdie 7624
 
6999 dpurdie 7625
    IF package_versions_cur%NOTFOUND
7626
    THEN
7627
        SELECT SEQ_PV_ID.NEXTVAL INTO parPv_id FROM DUAL;
6031 dpurdie 7628
 
6999 dpurdie 7629
        /* Generate automated version Number */
7630
        Split_Version ( SSpkg_version, SSV_MM, SSV_NMM, SSV_EXT );
7631
        spackageversion := SSpkg_version;
6031 dpurdie 7632
 
6999 dpurdie 7633
        IF ( nChangeType <> 'F' )
7634
        THEN
7635
            spackageversion := '(' || parPv_id || ')' || SSV_EXT;
7636
        END If;
5172 dpurdie 7637
 
6999 dpurdie 7638
        /*  Determine clone source for new package-version
7639
            Use nCloneFromPvId - iff provided
7640
            Use most recently created pkgName/pkgExtension - if it exists
7641
            Else create a brand new package-version
7642
        */
6031 dpurdie 7643
 
6999 dpurdie 7644
        IF ( NOT nCloneFromPvId IS NULL) THEN
7645
            cloneFrom_pv_id := nCloneFromPvId;
7646
        ELSE
7647
            /* Find similar pkg_name + ext to clone from */
7648
            OPEN clone_package_versions_cur;
7649
            FETCH clone_package_versions_cur INTO clone_package_versions_rec;
7650
            CLOSE clone_package_versions_cur;
5172 dpurdie 7651
 
6999 dpurdie 7652
            IF ( NOT clone_package_versions_rec.pv_id IS NULL) THEN
7653
                cloneFrom_pv_id := clone_package_versions_rec.pv_id;
7654
            ELSE
7655
                cloneFrom_pv_id := NULL;
7656
            END IF;
1373 dpurdie 7657
 
6999 dpurdie 7658
        END IF;
6031 dpurdie 7659
 
6999 dpurdie 7660
        IF NOT cloneFrom_pv_id IS NULL
7661
        THEN
7662
            -- Clone Package Version Details --
7663
            INSERT INTO PACKAGE_VERSIONS ( pv_id, pkg_id, pkg_version, dlocked, created_stamp, creator_id, modified_stamp, modifier_id, V_MM, V_NMM, V_EXT,
7664
                                           src_path, pv_description, PV_OVERVIEW, LAST_PV_ID, owner_id, BUILD_TYPE, IS_BUILD_ENV_REQUIRED, bs_id, is_autobuildable, is_deployable, ripple_field,change_type  )
7665
                SELECT parPv_id         AS pv_id,
7666
                       parPkg_id        AS pkg_id,
7667
                       spackageversion  AS pkg_version,
7668
                       'N'              AS dlocked,
7000 dpurdie 7669
                       ora_sysdatetime  AS created_stamp,
6999 dpurdie 7670
                       NNuser_id        AS creator_id,
7671
                       Ora_Sysdatetime  AS modified_stamp,
7672
                       NNuser_id        AS modifier_id,
7673
                       SSV_MM           AS V_MM,
7674
                       SSV_NMM          AS V_NMM,
7675
                       SSV_EXT          AS V_EXT,
7676
                       pv.src_path,
7677
                       pv.pv_description,
7678
                       pv.PV_OVERVIEW,
7679
                       cloneFrom_pv_id  AS LAST_PV_ID,
7680
                       pv.owner_id,
7681
                       nBuildType       AS BUILD_TYPE,
7682
                       pv.IS_BUILD_ENV_REQUIRED,
7683
                       pv.BS_ID,
7684
                       pv.is_autobuildable,
7685
                       pv.IS_DEPLOYABLE,
7686
                       pv.ripple_field,
7687
                       nChangeType       AS change_type
7688
                  FROM PACKAGE_VERSIONS pv
7689
                 WHERE pv.pv_id = cloneFrom_pv_id;
6031 dpurdie 7690
 
6999 dpurdie 7691
            Basic_Clone ( cloneFrom_pv_id, parPv_id, NULL, NNuser_id, parPkg_id, 0 );
1373 dpurdie 7692
 
6999 dpurdie 7693
        ELSE
7694
            /* BRAND NEW version + ext */
7695
            INSERT INTO PACKAGE_VERSIONS ( pv_id, pkg_id, pkg_version, dlocked, created_stamp, creator_id, modified_stamp, modifier_id, V_MM, V_NMM, V_EXT, owner_id, LAST_PV_ID, BUILD_TYPE, ripple_field, change_type )
7696
            VALUES (
7697
                    parPv_id,
7698
                    parPkg_id,
7699
                    spackageversion,
7700
                    'N',
7000 dpurdie 7701
                    ora_sysdatetime,
6999 dpurdie 7702
                    NNuser_id,
7703
                    Ora_Sysdatetime,
7704
                    NNuser_id,
7705
                    SSV_MM,
7706
                    SSV_NMM,
7707
                    SSV_EXT,
7708
                    NNuser_id,
7709
                    parPv_id,
7710
                    nBuildType,
7711
                    'b',
7712
                    nChangeType
7713
                   );
7714
        END IF;
6031 dpurdie 7715
 
6999 dpurdie 7716
        /* Insert initial package label */
7717
        slabel := get_automated_label (parPv_id);
7718
        UPDATE package_versions pv
7719
        SET pv.pkg_label = slabel
7720
        WHERE pv.pv_id = parPv_id;
4040 dpurdie 7721
 
6999 dpurdie 7722
        retPV_ID := parPv_id;
7723
 
7724
        /* LOG ACTION */
7725
        Log_Action ( parPv_id, 'new_version', NNuser_id,
7726
                     'New package version: '|| spackageversion );
7727
 
7728
    ELSE
7729
        retPV_ID := package_versions_rec.pv_id;
7730
 
7731
    END IF;
7732
 
7733
    CLOSE package_versions_cur;
7734
 
7735
END Seed_Package_Names_Versions;
7736
 
1374 dpurdie 7737
/
6999 dpurdie 7738
 
7739
  GRANT EXECUTE ON "RELEASE_MANAGER"."SEED_PACKAGE_NAMES_VERSIONS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 7740
--------------------------------------------------------
6999 dpurdie 7741
--  DDL for Procedure SET_ADVISORY_RIPPLE
4040 dpurdie 7742
--------------------------------------------------------
6999 dpurdie 7743
set define off;
4040 dpurdie 7744
 
6999 dpurdie 7745
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."SET_ADVISORY_RIPPLE" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,
7746
	   	  		  							   nRtagId IN RELEASE_TAGS.RTAG_ID%TYPE,
7747
											 nUserId IN NUMBER ) IS
7748
/* ---------------------------------------------------------------------------
7749
    Version: 4.0
7750
   --------------------------------------------------------------------------- */
4040 dpurdie 7751
 
6999 dpurdie 7752
BEGIN
7753
 
7754
    -- Set Advisory Ripple Package
7755
    INSERT INTO ADVISORY_RIPPLE (RTAG_ID, PV_ID)
7756
	VALUES (nRtagId, nPvId);
7757
 
7758
    /* LOG ACTION */
7759
   	Log_Action ( nPvId, 'set_advisory_ripple', nUserId );
7760
 
7761
	/*Rebuild_Environment(nRtagId);*/
7762
 
7763
END Set_Advisory_Ripple;
7764
 
7765
/
4040 dpurdie 7766
--------------------------------------------------------
6999 dpurdie 7767
--  DDL for Procedure SET_PACKAGE_BUILD_ENV
4040 dpurdie 7768
--------------------------------------------------------
6999 dpurdie 7769
set define off;
4040 dpurdie 7770
 
6999 dpurdie 7771
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."SET_PACKAGE_BUILD_ENV" ( nPvId IN PACKAGE_BUILD_ENV.PV_ID%TYPE,
7772
	   	  		  								  	sBuildEnvIdList IN VARCHAR2 ) IS
3959 dpurdie 7773
/* ---------------------------------------------------------------------------
6999 dpurdie 7774
    Last Modified: Rupesh Solanki
7775
	Version: 3.0.1
3959 dpurdie 7776
   --------------------------------------------------------------------------- */
7777
 
7778
 
1373 dpurdie 7779
BEGIN
7780
 
6999 dpurdie 7781
   -- Delete Current Build Env settings
7782
   DELETE FROM PACKAGE_BUILD_ENV
7783
   WHERE pv_id = nPvId;
3959 dpurdie 7784
 
6999 dpurdie 7785
   -- Delet Current Package Build Info Settings
7786
   DELETE FROM PACKAGE_BUILD_INFO
7787
   WHERE pv_id = nPvId;
3959 dpurdie 7788
 
6999 dpurdie 7789
   -- Reset flag to N
7790
   UPDATE PACKAGE_VERSIONS SET
7791
	   IS_BUILD_ENV_REQUIRED = 'N'
7792
   WHERE PV_ID = nPvId;
4211 dpurdie 7793
 
3959 dpurdie 7794
 
6999 dpurdie 7795
   -- Set new Build Env
7796
   IF NOT sBuildEnvIdList IS NULL THEN
7797
   	  -- Insert into PACKAGE_BUILD_ENV
7798
      INSERT INTO PACKAGE_BUILD_ENV ( PV_ID, BE_ID )
7799
	  SELECT nPvId AS PV_ID,
7800
	  		 be.BE_ID
7801
	    FROM BUILD_ENVIRONMENTS be
7802
	   WHERE be.BE_ID IN (
7803
	   		 		  	   SELECT *
7804
					   	     FROM THE ( SELECT CAST( IN_LIST_NUMBER( sBuildEnvIdList ) AS RELMGR_NUMBER_TAB_t ) FROM dual )
7805
	   		 		  	 );
4040 dpurdie 7806
 
6999 dpurdie 7807
   	  -- Insert into PACKAGE_BUILD_INFO
7808
      INSERT INTO PACKAGE_BUILD_INFO ( PV_ID, BM_ID )
7809
	  SELECT nPvId AS PV_ID,
7810
	  		 be.BM_ID
7811
	    FROM BUILD_MACHINES be
7812
	   WHERE be.BM_ID IN (
7813
	   		 		  	   SELECT *
7814
					   	     FROM THE ( SELECT CAST( IN_LIST_NUMBER( sBuildEnvIdList ) AS RELMGR_NUMBER_TAB_t ) FROM dual )
7815
	   		 		  	 );
7816
 
7817
	   -- Set flag to Y
7818
	   UPDATE PACKAGE_VERSIONS SET
7819
		   IS_BUILD_ENV_REQUIRED = 'Y'
7820
	   WHERE PV_ID = nPvId;
7821
 
7822
   END IF;
7823
 
7824
 
7825
END Set_Package_Build_Env;
7826
 
7827
/
4040 dpurdie 7828
--------------------------------------------------------
6999 dpurdie 7829
--  DDL for Procedure SET_PACKAGE_BUILD_ENV_TEMP
4040 dpurdie 7830
--------------------------------------------------------
6999 dpurdie 7831
set define off;
4040 dpurdie 7832
 
6999 dpurdie 7833
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."SET_PACKAGE_BUILD_ENV_TEMP" ( nPvId IN PACKAGE_BUILD_ENV.PV_ID%TYPE,
7834
	   	  		  								  	   	 sBuildEnvIdList IN VARCHAR2,
7835
														 nBuildStandard IN PACKAGE_VERSIONS.BS_ID%TYPE
7836
														 ) IS
1373 dpurdie 7837
/* ---------------------------------------------------------------------------
6999 dpurdie 7838
    Last Modified: Rupesh Solanki
7839
	Version: 3.0.1
1373 dpurdie 7840
   --------------------------------------------------------------------------- */
6999 dpurdie 7841
 
7842
   nBsCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
7843
   BsId NUMBER;
7844
   HackBsId NUMBER;
7845
 
7846
 
1373 dpurdie 7847
BEGIN
4040 dpurdie 7848
 
6999 dpurdie 7849
   nBsCollector := IN_LIST_NUMBER ( sBuildEnvIdList );
7850
 
7851
   -- Delete Current Build Env settings
7852
   DELETE FROM PACKAGE_BUILD_ENV
7853
   WHERE pv_id = nPvId;
7854
 
7855
   -- Delet Current Package Build Info Settings
7856
   DELETE FROM PACKAGE_BUILD_INFO
7857
   WHERE pv_id = nPvId;
7858
 
7859
   -- Reset flag to N
7860
   UPDATE PACKAGE_VERSIONS SET
7861
	   IS_BUILD_ENV_REQUIRED = 'N'
7862
   WHERE PV_ID = nPvId;
7863
 
7864
 
7865
   -- Set new Build Env
7866
   IF NOT sBuildEnvIdList IS NULL THEN
7867
	FOR i IN 1..nBsCollector.COUNT
7868
	LOOP
7869
 
7870
	BsId := nBsCollector(i);
7871
 
7872
	IF nBuildStandard = 2 THEN
7873
	   IF BsId = 1 THEN
7874
	   	  HackBsId := 11;
7875
	   ELSE
7876
	   	  HackBsId := 12;
7877
	   END IF;
7878
 
7879
   	  -- Insert into PACKAGE_BUILD_ENV
7880
      INSERT INTO PACKAGE_BUILD_ENV ( PV_ID, BE_ID )
7881
	  SELECT nPvId AS PV_ID,
7882
	  		 be.BE_ID
7883
	    FROM BUILD_ENVIRONMENTS be
7884
	   WHERE be.BE_ID IN ( HackBsId );
7885
 
7886
   	  -- Insert into PACKAGE_BUILD_INFO
7887
      INSERT INTO PACKAGE_BUILD_INFO ( PV_ID, BM_ID )
7888
	  SELECT nPvId AS PV_ID,
7889
	  		 be.BM_ID
7890
	    FROM BUILD_MACHINES be
7891
	   WHERE be.BM_ID IN ( BsId );
7892
 
7893
	   -- Set flag to Y
7894
	   UPDATE PACKAGE_VERSIONS SET
7895
		   IS_BUILD_ENV_REQUIRED = 'Y'
7896
	   WHERE PV_ID = nPvId;
7897
 
7898
 
7899
	ELSE
7900
 
7901
   	  -- Insert into PACKAGE_BUILD_ENV
7902
      INSERT INTO PACKAGE_BUILD_ENV ( PV_ID, BE_ID )
7903
	  SELECT nPvId AS PV_ID,
7904
	  		 be.BE_ID
7905
	    FROM BUILD_ENVIRONMENTS be
7906
	   WHERE be.BE_ID IN ( BsId );
7907
 
7908
   	  -- Insert into PACKAGE_BUILD_INFO
7909
      INSERT INTO PACKAGE_BUILD_INFO ( PV_ID, BM_ID )
7910
	  SELECT nPvId AS PV_ID,
7911
	  		 be.BM_ID
7912
	    FROM BUILD_MACHINES be
7913
	   WHERE be.BM_ID IN ( BsId );
7914
 
7915
	   -- Set flag to Y
7916
	   UPDATE PACKAGE_VERSIONS SET
7917
		   IS_BUILD_ENV_REQUIRED = 'Y'
7918
	   WHERE PV_ID = nPvId;
7919
 
7920
	END IF;
7921
 
7922
 
7923
	END LOOP;
7924
 
7925
   END IF;
7926
 
7927
 
7928
END Set_Package_Build_Env_Temp;
7929
 
7930
/
4040 dpurdie 7931
--------------------------------------------------------
6999 dpurdie 7932
--  DDL for Procedure SET_TO_AUTOBUILDABLE
4040 dpurdie 7933
--------------------------------------------------------
6999 dpurdie 7934
set define off;
4040 dpurdie 7935
 
6999 dpurdie 7936
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."SET_TO_AUTOBUILDABLE" (
7937
   nrtagid     IN   NUMBER,
7938
   spvidlist   IN   VARCHAR2
7939
)
1373 dpurdie 7940
IS
6999 dpurdie 7941
/******************************************************************************
7942
   NAME:       SET_TO_AUTOBUILDABLE
7943
   PURPOSE:
7944
 
7945
   REVISIONS:
7946
   Ver        Date        Author           Description
7947
   ---------  ----------  ---------------  ------------------------------------
7948
   1.0        15/12/2006   Rupesh Solanki       1. Created this procedure.
7949
 
7950
   NOTES:
7951
 
7952
   Automatically available Auto Replace Keywords:
7953
      Object Name:     SET_TO_AUTOBUILDABLE
7954
      Sysdate:         15/12/2006
7955
      Date and Time:   15/12/2006, 11:42:29 AM, and 15/12/2006 11:42:29 AM
7956
      Username:         (set in TOAD Options, Procedure Editor)
7957
      Table Name:       (set in the "New PL/SQL Object" dialog)
7958
 
7959
******************************************************************************/
7960
   npvidcollector   relmgr_number_tab_t := relmgr_number_tab_t ();
7961
   PvId NUMBER;
1373 dpurdie 7962
BEGIN
4040 dpurdie 7963
 
6999 dpurdie 7964
   npvidcollector := in_list_number2 (spvidlist);
7965
 
7966
   UPDATE package_versions
7967
      SET is_autobuildable = 'N'
7968
    WHERE pv_id IN (SELECT pv_id
7969
                      FROM release_content
7970
                     WHERE rtag_id = nrtagid);
7971
 
7972
 
7973
 
7974
   	FOR i IN 1..npvidcollector.COUNT
7975
	LOOP
7976
		PvId := npvidcollector(i);
7977
 
7978
		UPDATE package_versions
7979
		set is_autobuildable = 'Y'
7980
		where pv_id = PvId;
7981
 
7982
	END LOOP;
7983
 
7984
 
7985
END set_to_autobuildable;
7986
 
7987
/
4040 dpurdie 7988
--------------------------------------------------------
6999 dpurdie 7989
--  DDL for Procedure SHIFT_INSTALL_ORDER
4040 dpurdie 7990
--------------------------------------------------------
6999 dpurdie 7991
set define off;
4040 dpurdie 7992
 
6999 dpurdie 7993
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."SHIFT_INSTALL_ORDER" ( nPatchId IN PACKAGE_PATCHES.PATCH_ID%TYPE,
7994
												  nPvId IN PACKAGE_PATCHES.PV_ID%TYPE,
7995
                                                  nToInstallOrder IN PACKAGE_PATCHES.INSTALL_ORDER%TYPE ) IS
7996
/* ---------------------------------------------------------------------------
7997
    Version: 3.0
7998
   --------------------------------------------------------------------------- */
7999
 
8000
currInstallOrder NUMBER;
8001
FromInstallOrder NUMBER;
8002
 
1373 dpurdie 8003
BEGIN
3959 dpurdie 8004
 
6999 dpurdie 8005
	 -- Get Current Install Order
8006
     SELECT pp.INSTALL_ORDER INTO currInstallOrder
8007
       FROM PACKAGE_PATCHES pp
8008
      WHERE pp.PV_ID = nPvId
8009
        AND pp.PATCH_ID = nPatchId;
4040 dpurdie 8010
 
5892 dpurdie 8011
 
6999 dpurdie 8012
	 IF currInstallOrder > nToInstallOrder
8013
	 THEN
8014
 
8015
		FromInstallOrder := nToInstallOrder;
8016
 
8017
	    -- Shift others Up
8018
		UPDATE PACKAGE_PATCHES pp SET
8019
			   pp.INSTALL_ORDER = pp.INSTALL_ORDER + 1
8020
		 WHERE pp.PV_ID = nPvId
8021
           AND pp.PATCH_ID != nPatchId
8022
		   AND pp.INSTALL_ORDER BETWEEN  FromInstallOrder  AND  currInstallOrder - 1;
8023
 
8024
 
8025
	 ELSIF currInstallOrder < nToInstallOrder
8026
	 THEN
8027
 
8028
		FromInstallOrder := currInstallOrder + 1;
8029
 
8030
		-- Shift others Down
8031
        UPDATE PACKAGE_PATCHES pp SET
8032
			   pp.INSTALL_ORDER = pp.INSTALL_ORDER - 1
8033
		 WHERE pp.PV_ID = nPvId
8034
           AND pp.PATCH_ID != nPatchId
8035
		   AND pp.INSTALL_ORDER BETWEEN  FromInstallOrder  AND  nToInstallOrder;
8036
 
8037
	 END IF;
8038
 
8039
 
8040
	 -- Move Patch to new install order
8041
     UPDATE PACKAGE_PATCHES pp SET
8042
		    pp.INSTALL_ORDER = nToInstallOrder
8043
	  WHERE pp.PV_ID = nPvId
8044
	    AND pp.PATCH_ID = nPatchId;
8045
 
8046
 
8047
END Shift_Install_Order;
8048
 
8049
/
4040 dpurdie 8050
--------------------------------------------------------
6999 dpurdie 8051
--  DDL for Procedure SPLIT_VERSION
4040 dpurdie 8052
--------------------------------------------------------
6999 dpurdie 8053
set define off;
4040 dpurdie 8054
 
6999 dpurdie 8055
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."SPLIT_VERSION" ( SSpkg_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
8056
                                            SSV_MM OUT PACKAGE_VERSIONS.V_MM%TYPE,
8057
                                            SSV_NMM OUT PACKAGE_VERSIONS.V_NMM%TYPE,
8058
                                            SSV_EXT OUT PACKAGE_VERSIONS.V_EXT%TYPE  ) IS
1373 dpurdie 8059
/* ---------------------------------------------------------------------------
3959 dpurdie 8060
    Version: 3.0.0
1373 dpurdie 8061
   --------------------------------------------------------------------------- */
3959 dpurdie 8062
 
6999 dpurdie 8063
    TYPE VERSION_COMPONENTS_TYPE IS TABLE OF VARCHAR2(50)
8064
        INDEX BY BINARY_INTEGER;
3959 dpurdie 8065
 
6999 dpurdie 8066
    version_components VERSION_COMPONENTS_TYPE;
8067
    lastDot NUMBER := 0;
8068
    currDot NUMBER := 0;
8069
 
1373 dpurdie 8070
BEGIN
6999 dpurdie 8071
    currDot := INSTR ( SSpkg_version, '.', -1 );      -- Find 1st dot from the right
3959 dpurdie 8072
 
6999 dpurdie 8073
    IF ( currDot > 0 )
1373 dpurdie 8074
    THEN
3959 dpurdie 8075
        -- YES dot separator found --
6999 dpurdie 8076
        SSV_EXT := GET_V_EXT( SSpkg_version );
3959 dpurdie 8077
 
6999 dpurdie 8078
        IF NOT SSV_EXT IS NULL
3959 dpurdie 8079
        THEN
6999 dpurdie 8080
            lastDot := currDot;
8081
            currDot := INSTR ( SSpkg_version, '.', -1, 2 );   -- Find 2nd dot from the right
8082
 
8083
            IF ( currDot > 0 )
8084
            THEN
8085
                -- XXXX.M.E
8086
                SSV_MM := SUBSTR ( SSpkg_version, currDot + 1, lastDot - currDot - 1);
8087
                SSV_NMM := SUBSTR ( SSpkg_version, 0, currDot ) || SSV_EXT;
8088
            ELSE
8089
                -- XXXX.E
8090
                SSV_MM := NULL;
8091
                SSV_NMM := SSpkg_version;
8092
            END IF;
8093
 
3959 dpurdie 8094
        ELSE
6999 dpurdie 8095
            -- XXXX.M
8096
            SSV_MM := SUBSTR ( SSpkg_version, currDot + 1, LENGTH(SSpkg_version) - currDot );
8097
            SSV_NMM := SUBSTR ( SSpkg_version, 0, currDot );
8098
 
3959 dpurdie 8099
        END IF;
8100
 
1373 dpurdie 8101
    ELSE
3959 dpurdie 8102
        -- NO dot separator found --
6999 dpurdie 8103
        -- XXXXXX
8104
        SSV_MM  := NULL;
8105
        SSV_NMM := SSpkg_version;
8106
        SSV_EXT := NULL;
8107
 
1373 dpurdie 8108
    END IF;
3959 dpurdie 8109
 
6999 dpurdie 8110
END Split_Version;
4040 dpurdie 8111
 
6999 dpurdie 8112
/
4040 dpurdie 8113
--------------------------------------------------------
6999 dpurdie 8114
--  DDL for Procedure SWITCH_REPRODUCIBLE_PACKAGE
4040 dpurdie 8115
--------------------------------------------------------
6999 dpurdie 8116
set define off;
4040 dpurdie 8117
 
6999 dpurdie 8118
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."SWITCH_REPRODUCIBLE_PACKAGE" (nPvId IN NUMBER, nUserId IN NUMBER)IS
8119
Auto CHAR;
8120
/******************************************************************************
8121
   NAME:       SWITCH_REPRODUCIBLE_PACKAGE
8122
   PURPOSE:
1373 dpurdie 8123
 
6999 dpurdie 8124
   REVISIONS:
8125
   Ver        Date        Author           Description
8126
   ---------  ----------  ---------------  ------------------------------------
8127
   1.0        14/12/2006   Rupesh Solanki       1. Created this procedure.
8128
 
8129
   NOTES:
8130
 
8131
   Automatically available Auto Replace Keywords:
8132
      Object Name:     SWITCH_REPRODUCIBLE_PACKAGE
8133
      Sysdate:         14/12/2006
8134
      Date and Time:   14/12/2006, 11:35:15 AM, and 14/12/2006 11:35:15 AM
8135
      Username:         (set in TOAD Options, Procedure Editor)
8136
      Table Name:       (set in the "New PL/SQL Object" dialog)
8137
 
8138
******************************************************************************/
8139
BEGIN
8140
 
8141
	 SELECT IS_AUTOBUILDABLE into Auto
8142
	 FROM PACKAGE_VERSIONS
8143
	 WHERE PV_ID = nPvId;
8144
 
8145
	 IF Auto = 'N' Then
8146
 
8147
	 	UPDATE PACKAGE_VERSIONS
8148
	 	SET IS_AUTOBUILDABLE = 'Y'
8149
	 	WHERE PV_ID = nPvId;
8150
 
8151
 
8152
	 	/* LOG ACTION */
8153
   		Log_Action ( nPvId, 'reproducible_package', nUserId );
8154
 
8155
	 Else
8156
 
8157
		 UPDATE PACKAGE_VERSIONS
8158
		 SET IS_AUTOBUILDABLE = 'N'
8159
		 WHERE PV_ID = nPvId;
8160
 
8161
 
8162
	 	 /* LOG ACTION */
8163
   	 	 Log_Action ( nPvId, 'unreproducible_package', nUserId );
8164
 
8165
	 End If;
8166
 
8167
 
8168
 
8169
 
8170
 
8171
 
8172
 
8173
 
8174
END SWITCH_REPRODUCIBLE_PACKAGE;
8175
 
8176
/
8177
--------------------------------------------------------
8178
--  DDL for Procedure SYNC_PROJECTS_NEW_VERSION
8179
--------------------------------------------------------
8180
set define off;
8181
 
8182
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."SYNC_PROJECTS_NEW_VERSION" ( nPv_id 				IN NUMBER,
8183
														  sSyncRtagsInList		IN VARCHAR2,
8184
				                                          nUser_id 				IN NUMBER ) IS
1373 dpurdie 8185
/* ---------------------------------------------------------------------------
8186
    Version: 3.0.0
8187
   --------------------------------------------------------------------------- */
8188
 
6999 dpurdie 8189
	CURSOR sync_rtags_cur IS
8190
        SELECT rc.RTAG_ID, rc.BASE_VIEW_ID, pv.pv_id
8191
		  FROM release_content rc,
8192
		  	   package_versions pv,
8193
		       package_versions opv
8194
		 WHERE rc.pv_id = pv.pv_id
8195
		   AND opv.pkg_id = pv.pkg_id
8196
		   AND NVL(opv.v_ext, '|LINK_A_NULL|') = NVL(pv.v_ext, '|LINK_A_NULL|')
8197
		   AND opv.pv_id = nPv_id
8198
		   AND rtag_id IN ( SELECT *
8199
		   	   		   	      FROM THE (
8200
					   	   		   	    SELECT CAST( IN_LIST_NUMBER( sSyncRtagsInList ) AS RELMGR_NUMBER_TAB_t )
8201
					       		   	    FROM dual
8202
									   )
8203
						  );
8204
    sync_rtags_rec sync_rtags_cur%ROWTYPE;
1373 dpurdie 8205
 
8206
BEGIN
8207
 
6999 dpurdie 8208
	OPEN sync_rtags_cur;
8209
	FETCH sync_rtags_cur INTO sync_rtags_rec;
1373 dpurdie 8210
 
6999 dpurdie 8211
	WHILE sync_rtags_cur%FOUND
8212
	LOOP
8213
		DELETE FROM RELEASE_CONTENT
8214
		 WHERE rtag_id = sync_rtags_rec.rtag_id
8215
	       AND pv_id = sync_rtags_rec.pv_id;
4040 dpurdie 8216
 
6999 dpurdie 8217
		INSERT INTO RELEASE_CONTENT ( RTAG_ID, PV_ID, BASE_VIEW_ID, INSERT_STAMP, INSERTOR_ID, PKG_STATE )
8218
	   		   VALUES ( sync_rtags_rec.rtag_id,
8219
		       		  	nPv_id,
8220
						sync_rtags_rec.BASE_VIEW_ID,
7000 dpurdie 8221
	           			ora_sysdatetime,
6999 dpurdie 8222
	           			nUser_id,
8223
 
8224
	      	   		   );
8225
 
8226
-- 		UPDATE RELEASE_CONTENT
8227
-- 	       SET pv_id = nPv_id,
7000 dpurdie 8228
-- 	           insert_stamp = ora_sysdatetime,
6999 dpurdie 8229
-- 	           insertor_id = nUser_id
8230
-- 	     WHERE rtag_id = sync_rtags_rec.rtag_id
8231
-- 	       AND pv_id = sync_rtags_rec.pv_id;
8232
 
8233
		FETCH sync_rtags_cur INTO sync_rtags_rec;
8234
	END LOOP;
8235
 
8236
	CLOSE sync_rtags_cur;
8237
 
8238
END Sync_Projects_New_Version;
8239
 
8240
/
4040 dpurdie 8241
--------------------------------------------------------
6999 dpurdie 8242
--  DDL for Procedure TOUCH_RELEASE
4040 dpurdie 8243
--------------------------------------------------------
6999 dpurdie 8244
set define off;
4040 dpurdie 8245
 
6999 dpurdie 8246
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."TOUCH_RELEASE" ( nRtagId IN RELEASE_TAGS.RTAG_ID%TYPE ) IS
8247
/* ---------------------------------------------------------------------------
8248
    The purpose of this procedure is to flag in the database that the specified
8249
    release has changed to an extent that the procedure Rebuild_Environment
8250
    should be called at the next opportunity in order that the package state
8251
    icons are all re-evaluated.
8252
    The package state icons are controlled using the pkg_state column in the
8253
    release_content table, and Rebuild_Environment updates that column.
8254
    It will be through user action in the website that Rebuild_Environment will
8255
    be called, for example:
8256
      a) when setting/clearing ignore warnings checkboxes
8257
      b) when someone opens a page upon a rtag/pvid and rebuild_en flag is set
8258
      c) when someone opens the build order report form
8259
      d) when someone modifies dependencies of a package
8260
      + other scenarios (?)
8261
   --------------------------------------------------------------------------- */
8262
BEGIN
8263
   -- Touch Release for Rebuild
8264
   UPDATE RELEASE_TAGS rt SET
8265
          rt.REBUILD_ENV = 'Y',
8266
          rt.REBUILD_STAMP = 0
8267
    WHERE rt.RTAG_ID = nRtagId;
1373 dpurdie 8268
 
6999 dpurdie 8269
END Touch_Release;
8270
 
8271
/
8272
--------------------------------------------------------
8273
--  DDL for Procedure TOUCH_RELEASE_BULK
8274
--------------------------------------------------------
8275
set define off;
8276
 
8277
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."TOUCH_RELEASE_BULK" ( nRtagIdList IN VARCHAR2 ) IS
1373 dpurdie 8278
/* ---------------------------------------------------------------------------
6999 dpurdie 8279
    Version: 3.0
1373 dpurdie 8280
   --------------------------------------------------------------------------- */
8281
 
6999 dpurdie 8282
oRTagIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
1373 dpurdie 8283
 
8284
BEGIN
6999 dpurdie 8285
	 oRTagIdCollector := IN_LIST_NUMBER ( nRtagIdList );
1373 dpurdie 8286
 
6999 dpurdie 8287
	 -- Touch Release for Rebuild
8288
     UPDATE RELEASE_TAGS rt SET
8289
     	rt.REBUILD_ENV = 'Y',
8290
        rt.REBUILD_STAMP = 0
8291
      WHERE rt.RTAG_ID IN ( SELECT * FROM TABLE ( CAST ( oRTagIdCollector AS RELMGR_NUMBER_TAB_t ) ) );
1373 dpurdie 8292
 
4040 dpurdie 8293
 
6999 dpurdie 8294
END Touch_Release_Bulk;
8295
 
8296
/
4040 dpurdie 8297
--------------------------------------------------------
6999 dpurdie 8298
--  DDL for Procedure TO_INSERT_VTREE_ID
4040 dpurdie 8299
--------------------------------------------------------
6999 dpurdie 8300
set define off;
4040 dpurdie 8301
 
6999 dpurdie 8302
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."TO_INSERT_VTREE_ID" IS
1373 dpurdie 8303
 
6999 dpurdie 8304
/******************************************************************************
8305
   NAME:       TO_INSERT_VTREE_ID
8306
   PURPOSE:
8307
 
8308
   REVISIONS:
8309
   Ver        Date        Author           Description
8310
   ---------  ----------  ---------------  ------------------------------------
8311
   1.0        2/02/2007          1. Created this procedure.
8312
 
8313
   NOTES:
8314
 
8315
   Automatically available Auto Replace Keywords:
8316
      Object Name:     TO_INSERT_VTREE_ID
8317
      Sysdate:         2/02/2007
8318
      Date and Time:   2/02/2007, 8:42:56 AM, and 2/02/2007 8:42:56 AM
8319
      Username:         (set in TOAD Options, Procedure Editor)
8320
      Table Name:       (set in the "New PL/SQL Object" dialog)
8321
 
8322
******************************************************************************/
8323
VTreeId NUMBER;
8324
 
8325
 
8326
	CURSOR curInfo IS
8327
    SELECT RTAG_ID
8328
	FROM RELEASE_TAGS
8329
	WHERE VTREE_ID IS NULL;
8330
    recInfo curInfo%ROWTYPE;
8331
 
8332
 
8333
BEGIN
8334
 
8335
	OPEN curInfo;
8336
    FETCH curInfo INTO recInfo;
8337
 
8338
	WHILE curInfo%FOUND
8339
	LOOP
8340
		SELECT SEQ_VTREE_ID.nextval INTO VTreeId FROM DUAL;
8341
 
8342
		UPDATE RELEASE_TAGS
8343
		SET VTREE_ID = VTreeId
8344
		WHERE RTAG_ID = recInfo.RTAG_ID;
8345
 
8346
		FETCH curInfo INTO recInfo;
8347
	END LOOP;
8348
 
8349
	CLOSE curInfo;
8350
 
8351
END TO_INSERT_VTREE_ID;
8352
 
8353
/
8354
--------------------------------------------------------
8355
--  DDL for Procedure UNDEPRECATE_PACKAGE
8356
--------------------------------------------------------
8357
set define off;
8358
 
8359
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UNDEPRECATE_PACKAGE" (
8360
    nPvId   IN PACKAGE_VERSIONS.PV_ID%TYPE,
8361
    nRtagId IN DEPRECATED_PACKAGES.RTAG_ID%TYPE,
8362
    nPkgId  IN DEPRECATED_PACKAGES.PKG_ID%TYPE,
8363
    nUserId IN NUMBER)
8364
IS
8365
  ext      VARCHAR2(50);
8366
 
8367
BEGIN
8368
  --Extract the package extension
8369
  SELECT V_EXT INTO ext
8370
  FROM PACKAGE_VERSIONS
8371
  WHERE PV_ID = nPvId;
8372
 
8373
    -- Undeprecate Package
8374
    DELETE
8375
    FROM DEPRECATED_PACKAGES
8376
    WHERE RTAG_ID = nRtagId
8377
    AND PKG_ID    = nPkgId
8378
    AND NVL(V_EXT,'.NULL') = NVL(ext,'.NULL');
8379
 
8380
    -- Update Release Contents entry
8381
    -- Process PackageName.ext for the package. ie: Allow multiple
8382
    -- versions of the package to be in the release.
8383
 
8384
    UPDATE RELEASE_CONTENT
8385
    SET
8386
      DEPRECATED_STATE = NULL
8387
    WHERE RTAG_ID      = nRtagId
8388
    AND PV_ID IN (
8389
      SELECT PV.PV_ID
8390
      FROM PACKAGE_VERSIONS PV
8391
      WHERE PV.PKG_ID   = nPkgId
8392
      AND NVL(PV.V_EXT, '.NULL') = NVL(ext,'.NULL')
8393
      );
8394
 
8395
  -- Update consumers of the package
8396
  --  Update ALL packages in the Release
8397
 
8398
  REBUILD_DEPRECATE_STATE(nRtagId);
8399
 
8400
END Undeprecate_Package;
8401
 
8402
/
8403
--------------------------------------------------------
8404
--  DDL for Procedure UNLOCK_PACKAGE
8405
--------------------------------------------------------
8406
set define off;
8407
 
8408
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UNLOCK_PACKAGE" ( nPvId IN PACKAGE_VERSIONS.PV_ID%TYPE,
8409
											 nUserId IN NUMBER ) IS
1373 dpurdie 8410
/* ---------------------------------------------------------------------------
6999 dpurdie 8411
    Author: Rupesh Solanki
8412
 
8413
	Version: 4.0
1373 dpurdie 8414
   --------------------------------------------------------------------------- */
6999 dpurdie 8415
   STATE CHAR;
1373 dpurdie 8416
 
8417
BEGIN
8418
 
6999 dpurdie 8419
	SELECT DLOCKED INTO STATE
8420
	FROM PACKAGE_VERSIONS
8421
	WHERE PV_ID = nPvId;
6031 dpurdie 8422
 
6999 dpurdie 8423
	IF STATE = 'A' THEN --It was made official for autobuilds
8424
		-- Unlock Package
8425
		UPDATE PACKAGE_VERSIONS pv SET
8426
		pv.DLOCKED = 'P'
8427
		WHERE pv.PV_ID = nPvId;
8428
	ELSE
8429
		-- Unlock Package
8430
		UPDATE PACKAGE_VERSIONS pv SET
8431
		pv.DLOCKED = 'N'
8432
		WHERE pv.PV_ID = nPvId;
6031 dpurdie 8433
 
1373 dpurdie 8434
	END IF;
8435
 
6999 dpurdie 8436
    /* LOG ACTION */
8437
   	Log_Action ( nPvId, 'unlock_package', nUserId );
4040 dpurdie 8438
 
6999 dpurdie 8439
END Unlock_Package;
8440
 
8441
/
4040 dpurdie 8442
--------------------------------------------------------
6999 dpurdie 8443
--  DDL for Procedure UNRIPPLE_PACKAGE
4040 dpurdie 8444
--------------------------------------------------------
6999 dpurdie 8445
set define off;
4040 dpurdie 8446
 
6999 dpurdie 8447
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UNRIPPLE_PACKAGE" (
8448
        sPvIdList IN VARCHAR2,
8449
        nRtagId IN RELEASE_TAGS.RTAG_ID%TYPE,
8450
        nUserId IN NUMBER
8451
    ) IS
3959 dpurdie 8452
/* ---------------------------------------------------------------------------
6999 dpurdie 8453
    Version: 4.1
3959 dpurdie 8454
   --------------------------------------------------------------------------- */
6999 dpurdie 8455
 
8456
    oPvIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
8457
 
3959 dpurdie 8458
BEGIN
4040 dpurdie 8459
 
6999 dpurdie 8460
    IF (sPvIdList IS NULL) THEN
8461
        RAISE_APPLICATION_ERROR (-20000, 'Please select at least one package.' );
8462
    END IF;
8463
 
8464
    oPvIdCollector := IN_LIST_NUMBER ( sPvIdList );
8465
 
8466
    -- UnRipple Package
8467
    INSERT INTO DO_NOT_RIPPLE ( RTAG_ID, PV_ID )
8468
    SELECT nRtagId, pv.PV_ID
8469
    FROM PACKAGE_VERSIONS pv
8470
    WHERE pv.PV_ID IN (
8471
        SELECT *
8472
        FROM TABLE (
8473
            CAST ( oPvIdCollector AS RELMGR_NUMBER_TAB_t )
8474
        )
8475
    );
8476
 
8477
    /* LOG ACTION */
8478
    Log_Action_Bulk ( sPvIdList, 'unripple_package', nUserId );
8479
 
8480
END UnRipple_Package;
8481
 
8482
/
4040 dpurdie 8483
--------------------------------------------------------
6999 dpurdie 8484
--  DDL for Procedure UNRIPPLE_PACKAGE_INDIRECT
4040 dpurdie 8485
--------------------------------------------------------
6999 dpurdie 8486
set define off;
4040 dpurdie 8487
 
6999 dpurdie 8488
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UNRIPPLE_PACKAGE_INDIRECT" (
8489
        nPvId IN NUMBER,
8490
        nRtagId IN NUMBER,
8491
        nUserId IN NUMBER,
8492
        nrootCausePvId IN NUMBER,
8493
        srootCause IN VARCHAR2,
8494
        srootFile IN VARCHAR2
8495
    ) IS
8496
    ReleaseLocation VARCHAR2(4000);
8497
BEGIN
8498
 
8499
    -- UnRipple Package
8500
    delete from do_not_ripple where rtag_id=nRtagId and pv_id=nPvId;
8501
    INSERT INTO DO_NOT_RIPPLE ( RTAG_ID, PV_ID, ROOT_PV_ID, ROOT_CAUSE, ROOT_FILE ) values (nRtagId, nPvId, nrootCausePvId, srootCause, srootFile);
8502
 
8503
    -- Do not log if RootCause is -2
8504
    IF nrootCausePvId IS NOT NULL AND nrootCausePvId = -2 THEN
8505
      RETURN;
8506
    END IF;
8507
 
8508
    /* LOG ACTION */
8509
   SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
8510
              FROM PROJECTS proj,
8511
                   RELEASE_TAGS rt
8512
             WHERE rt.RTAG_ID = nRtagId
8513
               AND rt.PROJ_ID = proj.PROJ_ID;
8514
 
8515
    /* LOG ACTION */
8516
    Log_Action ( nPvId, 'unripple_package', nUserId, 'Location: '|| ReleaseLocation );
8517
 
8518
END UnRipple_Package_Indirect;
8519
 
8520
/
8521
--------------------------------------------------------
8522
--  DDL for Procedure UPDATE_ADDITIONAL_NOTE
8523
--------------------------------------------------------
8524
set define off;
8525
 
8526
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UPDATE_ADDITIONAL_NOTE" ( pnNote_id IN NUMBER,
8527
													 pnPv_id IN NUMBER,
8528
                                                     psNote_title IN ADDITIONAL_NOTES.NOTE_TITLE%TYPE,
8529
                                                     psNote_body IN ADDITIONAL_NOTES.NOTE_BODY%TYPE,
8530
                                                     pnUser_id IN NUMBER,
8531
                                                     outErrCode OUT NUMBER
8532
                                                    ) IS
3959 dpurdie 8533
/* ---------------------------------------------------------------------------
6999 dpurdie 8534
    Version: 3.0.1
3959 dpurdie 8535
   --------------------------------------------------------------------------- */
1373 dpurdie 8536
 
6999 dpurdie 8537
    newID NUMBER;
8538
 
8539
    /* Disallow duplicate Note Titles */
8540
	CURSOR an_duplicate_cur IS
8541
        SELECT COUNT(*) AS cnt_note
8542
          FROM ADDITIONAL_NOTES
8543
         WHERE pv_id = pnPv_id
8544
           AND note_id != pnNote_id
8545
           AND note_title = psNote_title;
8546
    an_duplicate_rec an_duplicate_cur%ROWTYPE;
8547
 
3959 dpurdie 8548
BEGIN
6999 dpurdie 8549
	outErrCode := -1;		-- Set default return error code to ERROR state
8550
 
8551
	OPEN an_duplicate_cur;
8552
    FETCH an_duplicate_cur INTO an_duplicate_rec;
8553
 
8554
    IF an_duplicate_rec.cnt_note < 1
3959 dpurdie 8555
    THEN
6999 dpurdie 8556
		--- Update Additional Note ---
8557
	    UPDATE ADDITIONAL_NOTES SET
8558
		       note_title = psNote_title,
8559
		       note_body = psNote_body,
7000 dpurdie 8560
		       mod_date = ora_sysdatetime,
6999 dpurdie 8561
		       mod_user = pnUser_id
8562
         WHERE note_id = pnNote_id
8563
           AND pv_id = pnPv_id;
8564
		outErrCode := 0;		-- Set return to SUCCESS
8565
	END IF;
8566
 
8567
	CLOSE an_duplicate_cur;
8568
END Update_Additional_Note;
8569
 
8570
/
8571
--------------------------------------------------------
8572
--  DDL for Procedure UPDATE_DEPRECATION_STATE
8573
--------------------------------------------------------
8574
set define off;
8575
 
8576
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UPDATE_DEPRECATION_STATE" (nnrtag_id IN NUMBER) AS
8577
 
8578
recno NUMBER;
8579
 
8580
CURSOR deprecate_cur IS
8581
 
8582
SELECT rc.pv_id
8583
FROM release_content rc
8584
WHERE rtag_id = nnrtag_id
8585
 AND deprecated_state IN(7);
8586
 
8587
deprecate_rec deprecate_cur % rowtype;
8588
 
8589
BEGIN
8590
 
8591
  OPEN deprecate_cur;
8592
 
8593
  FETCH deprecate_cur
8594
  INTO deprecate_rec;
8595
 
8596
  WHILE deprecate_cur % FOUND
8597
  LOOP
8598
 
8599
    SELECT COUNT(*)
8600
    INTO recno
8601
    FROM package_dependencies pd,
8602
      release_content rc
8603
    WHERE pd.pv_id = deprecate_rec.pv_id
8604
     AND rc.pv_id = pd.dpv_id
8605
     AND rc.rtag_id = nnrtag_id
8606
     AND rc.deprecated_state IN(6,   7);
8607
 
8608
    IF recno = 0 THEN
8609
 
8610
      UPDATE release_content
8611
      SET pkg_id = NULL, deprecated_state = NULL
8612
      WHERE pv_id = deprecate_rec.pv_id
8613
       AND rtag_id = nnrtag_id;
8614
 
3959 dpurdie 8615
    END IF;
1373 dpurdie 8616
 
6999 dpurdie 8617
    FETCH deprecate_cur
8618
    INTO deprecate_rec;
8619
  END LOOP;
4040 dpurdie 8620
 
6999 dpurdie 8621
END;
8622
 
8623
/
4040 dpurdie 8624
--------------------------------------------------------
6999 dpurdie 8625
--  DDL for Procedure UPDATE_MISC_VIEW
4040 dpurdie 8626
--------------------------------------------------------
6999 dpurdie 8627
set define off;
4040 dpurdie 8628
 
6999 dpurdie 8629
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UPDATE_MISC_VIEW" IS
8630
/******************************************************************************
8631
   NAME:       UPDATE_MISC_VIEW
8632
   PURPOSE:
8633
 
8634
   REVISIONS:
8635
   Ver        Date        Author           Description
8636
   ---------  ----------  ---------------  ------------------------------------
8637
   1.0        16/03/2007          1. Created this procedure.
8638
 
8639
   NOTES:
8640
 
8641
   Automatically available Auto Replace Keywords:
8642
      Object Name:     UPDATE_MISC_VIEW
8643
      Sysdate:         16/03/2007
8644
      Date and Time:   16/03/2007, 8:56:29 AM, and 16/03/2007 8:56:29 AM
8645
      Username:         (set in TOAD Options, Procedure Editor)
8646
      Table Name:       (set in the "New PL/SQL Object" dialog)
8647
 
8648
******************************************************************************/
8649
   CURSOR view_cur /*Create a record set to store the ripple data*/
8650
   IS
8651
   	 SELECT pkg.pkg_id, rc.base_view_id
8652
	 FROM package_versions pv, packages pkg, release_content rc
8653
	 where rc.rtag_id = 2362
8654
	 and rc.pv_id = pv.pv_id
8655
	 and pv.pkg_id = pkg.pkg_id;
8656
   view_rec   view_cur%ROWTYPE;
8657
 
8658
 
8659
 
8660
BEGIN
8661
   OPEN view_cur;
8662
 
8663
   FETCH view_cur
8664
    INTO view_rec;
8665
 
8666
   WHILE view_cur%FOUND
8667
   LOOP
8668
 
8669
 
8670
	   update release_content
8671
	   set base_view_id = view_rec.base_view_id
8672
	   where rtag_id = 8027
8673
	   and pv_id IN
8674
	   (
8675
	   	select pv.pv_id from release_content rc, package_versions pv
8676
		where rc.rtag_id = 8027
8677
		and pv.pv_id = rc.pv_id
8678
		and pv.pkg_id = view_rec.pkg_id
8679
 
8680
	   );
8681
 
8682
 
8683
 
8684
 
8685
 
8686
 
8687
 
8688
 
8689
 
8690
   FETCH view_cur
8691
   		 INTO view_rec;
8692
   END LOOP;
8693
 
8694
 
8695
 
8696
 
8697
 
8698
END UPDATE_MISC_VIEW;
8699
 
8700
/
8701
--------------------------------------------------------
8702
--  DDL for Procedure UPDATE_PACKAGE_DEPENDENCY
8703
--------------------------------------------------------
8704
set define off;
8705
 
8706
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UPDATE_PACKAGE_DEPENDENCY" ( NNpv_id IN NUMBER,
8707
                                                        SSdep_name IN PACKAGES.pkg_name%TYPE,
8708
                                                        SSdep_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
8709
                                                        CCbuild_type IN PACKAGE_DEPENDENCIES.build_type%TYPE,
8710
                                                        NNuser_id IN NUMBER,
8711
                                                        NNdelete_old_dependency IN NUMBER
8712
                                                       ) IS
3959 dpurdie 8713
/* ---------------------------------------------------------------------------
6999 dpurdie 8714
    Version: 3.3
3959 dpurdie 8715
   --------------------------------------------------------------------------- */
6999 dpurdie 8716
 
8717
    retPV_ID NUMBER;
8718
    SSV_EXT PACKAGE_VERSIONS.v_ext%TYPE;
8719
	DepIsPatch	PACKAGE_VERSIONS.is_patch%TYPE;
8720
    PvIsPatch	PACKAGE_VERSIONS.is_patch%TYPE;
8721
    NNpkg_id NUMBER;
8722
    NNdpkg_id NUMBER;
8723
 
3959 dpurdie 8724
BEGIN
6999 dpurdie 8725
    --- Seed database with package_name and version if required ---
8726
    Seed_Package_Names_Versions ( SSdep_name, SSdep_version, NNuser_id, retPV_ID );
1373 dpurdie 8727
 
6999 dpurdie 8728
    -- get v_ext,pkg_id of current dependency
8729
    SELECT v_ext, pkg_id, is_patch INTO SSV_EXT, NNdpkg_id, DepIsPatch
8730
      FROM PACKAGE_VERSIONS
8731
     WHERE pv_id = retPV_ID;
4040 dpurdie 8732
 
6999 dpurdie 8733
    -- get pkg_id of parent package
8734
    SELECT pkg_id, is_patch INTO NNpkg_id, PvIsPatch
8735
      FROM PACKAGE_VERSIONS
8736
     WHERE pv_id = NNpv_id;
8737
 
8738
 
8739
	IF ( (PvIsPatch IS NULL) AND (DepIsPatch IS NULL) ) OR
8740
    	( (PvIsPatch IS NOT NULL) )THEN
8741
 
8742
	    IF NNdelete_old_dependency = 1 THEN
8743
	        /* Used for CUSTOM dependency add/edit */
8744
 
8745
	        --- Remove old dependency ---
8746
            IF (PvIsPatch IS NULL) THEN
8747
            	-- Do it for Packages
8748
		        DELETE FROM PACKAGE_DEPENDENCIES
8749
		         WHERE ( pv_id, dpv_id, pkg_id, dpkg_id, build_type, display_order ) IN
8750
		            (
8751
		            SELECT dep.*
8752
		              FROM PACKAGE_DEPENDENCIES dep,
8753
		                   PACKAGE_VERSIONS dpv,
8754
		                   PACKAGE_VERSIONS pv
8755
		             WHERE dep.dpv_id = dpv.pv_id
8756
		               AND dep.pv_id = NNpv_id
8757
		               AND pv.pv_id = retPV_ID
8758
		               AND dpv.pkg_id = pv.pkg_id
8759
		               AND NVL(dpv.v_ext, '|LINK_A_NULL|') = NVL(SSV_EXT, '|LINK_A_NULL|')
8760
		            );
8761
            ELSE
8762
            	-- Do it for Patches
8763
                DELETE FROM PACKAGE_DEPENDENCIES
8764
		         WHERE ( pv_id, dpv_id, pkg_id, dpkg_id, build_type, display_order ) IN
8765
		            (
8766
		            SELECT dep.*
8767
		              FROM PACKAGE_DEPENDENCIES dep
8768
		             WHERE dep.dpv_id = retPV_ID
8769
		               AND dep.pv_id = NNpv_id
8770
		            );
8771
			END IF;
8772
 
8773
	    END IF;
8774
 
8775
	    /* NOTE: for JATS, ANTS dependency update, it is expected that all dependencies are removed. */
8776
 
8777
	    --- Add new dependency ---
8778
	    INSERT INTO PACKAGE_DEPENDENCIES ( pv_id, dpv_id, pkg_id, dpkg_id, build_type )
8779
	    VALUES ( NNpv_id, retPV_ID, NNpkg_id, NNdpkg_id, CCbuild_type );
8780
 
8781
	END IF;
8782
 
8783
END Update_Package_Dependency;
8784
 
8785
/
4040 dpurdie 8786
--------------------------------------------------------
6999 dpurdie 8787
--  DDL for Procedure UPDATE_PACKAGE_STATES
4040 dpurdie 8788
--------------------------------------------------------
6999 dpurdie 8789
set define off;
4040 dpurdie 8790
 
6999 dpurdie 8791
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UPDATE_PACKAGE_STATES" ( NNrtag_id IN NUMBER,
8792
                                                    NNsession_num IN NUMBER ) IS
8793
/* =============  STATE RULES =================== */
8794
/*
8795
   MNR   MRR   MN   MR    |   pkg_state
8796
   ------------------------------------
8797
 
8798
 
8799
 
8800
 
8801
   ------------------------------------
8802
 
8803
 
8804
 
8805
 
8806
   ------------------------------------
8807
    1     0     0     0   |      MINOR_READY
8808
    1     0     0     1   |      MAJOR
8809
    1     0     1     0   |      MINOR
8810
    1     0     1     1   |      MAJOR
8811
   ------------------------------------
8812
    1     1     0     0   |      MAJOR_READY
8813
    1     1     0     1   |      MAJOR
8814
    1     1     1     0   |      MAJOR
8815
    1     1     1     1   |      MAJOR
8816
   ------------------------------------
8817
*/
8818
BEGIN
8819
    /*----------------------------------------------
8820
    ||              MINOR READY
8821
    */----------------------------------------------
8822
 
8823
    UPDATE release_content
8824
       SET pkg_state = 4
8825
     WHERE rtag_id = NNrtag_id
8826
       AND pv_id IN
8827
           (
8828
           SELECT DISTINCT pv_id
8829
           FROM temp_env_states
8830
           WHERE session_num = NNsession_num
8831
             AND level_num = 1
8832
             AND tes_state = 2
8833
           );
8834
 
8835
    /*----------------------------------------------
8836
    ||              MAJOR READY
8837
    */----------------------------------------------
8838
    UPDATE release_content
8839
       SET pkg_state = 3
8840
     WHERE rtag_id = NNrtag_id
8841
       AND pv_id IN
8842
           (
8843
           SELECT DISTINCT pv_id
8844
           FROM temp_env_states
8845
           WHERE session_num = NNsession_num
8846
             AND level_num = 1
8847
             AND tes_state IN (0,1)
8848
           );
8849
 
8850
    /*----------------------------------------------
8851
    ||                MINOR
8852
    */----------------------------------------------
8853
    UPDATE release_content
8854
       SET pkg_state = 2
8855
     WHERE rtag_id = NNrtag_id
8856
       AND pv_id IN
8857
           (
8858
           SELECT DISTINCT pv_id
8859
            FROM temp_env_states
8860
            WHERE session_num = NNsession_num
8861
              AND level_num >= 2
8862
              AND tes_state = 2
8863
            MINUS
8864
           SELECT pv_id
8865
             FROM release_content
8866
            WHERE rtag_id = NNrtag_id
8867
              AND pkg_state = 3
8868
           );
8869
 
8870
    /*----------------------------------------------
8871
    ||                MAJOR
8872
    */----------------------------------------------
8873
    UPDATE release_content
8874
       SET pkg_state = 1
8875
     WHERE rtag_id = NNrtag_id
8876
       AND pv_id IN
8877
           (
8878
           SELECT DISTINCT pv_id
8879
           FROM temp_env_states
8880
           WHERE session_num = NNsession_num
8881
             AND level_num >= 2
8882
             AND tes_state IN (0,1)
8883
           /* MAJOR EXCEPTION - When package has Major Ready and Minor */
8884
           UNION
8885
           SELECT DISTINCT tes.pv_id
8886
           FROM temp_env_states tes,
8887
                release_content rc
8888
           WHERE tes.session_num = NNsession_num
8889
             AND tes.level_num >= 2
8890
             AND tes.tes_state = 2
8891
             AND rtag_id = NNrtag_id
8892
             AND rc.pv_id = tes.pv_id
8893
             AND rc.pkg_state = 3
8894
           );
8895
 
8896
    /*----------------------------------------------
8897
    ||                 OK
8898
    */----------------------------------------------
8899
    UPDATE release_content
8900
       SET pkg_state = 0
8901
     WHERE rtag_id = NNrtag_id
8902
       AND pv_id IN
8903
           (
8904
           SELECT rc.pv_id
8905
             FROM release_content rc
8906
            WHERE rc.rtag_id = NNrtag_id
8907
              AND NOT rc.pv_id IN
8908
                    (
8909
                     SELECT DISTINCT pv_id
8910
                     FROM temp_env_states WHERE session_num = NNsession_num
8911
                    )
8912
           );
8913
 
8914
      Update_Deprecation_State (NNrtag_id);
8915
 
8916
    /*----------------------------------------------
8917
    ||              PEGGED VERSIONS DEPENDENT
8918
    */----------------------------------------------
8919
    UPDATE release_content
8920
       SET pkg_state = 10
8921
     WHERE rtag_id = NNrtag_id
8922
       AND pv_id IN
8923
           (
8924
           SELECT DISTINCT pv_id
8925
           FROM pegged_versions pegv
8926
           WHERE pegv.rtag_id = NNrtag_id
8927
           );
8928
 
8929
    /*----------------------------------------------
8930
    ||              ADVISORY RIPPLE
8931
    */----------------------------------------------
8932
    UPDATE release_content
8933
       SET pkg_state = 8
8934
     WHERE rtag_id = NNrtag_id
8935
       AND pv_id IN
8936
           (
8937
           SELECT DISTINCT pv_id
8938
           FROM advisory_ripple ar
8939
           WHERE ar.rtag_id = NNrtag_id
8940
           )
8941
       AND pv_id IN
8942
           (
8943
           SELECT DISTINCT pv_id
8944
           FROM release_content rc
8945
           WHERE rc.rtag_id = NNrtag_id
8946
           );
8947
 
8948
    /*----------------------------------------------
8949
    ||              SDK Imported
8950
    */----------------------------------------------
8951
    UPDATE release_content
8952
       SET pkg_state = 11
8953
     WHERE rtag_id = NNrtag_id
8954
       AND sdktag_id is not null;
8955
 
8956
   /*----------------------------------------------
8957
    ||              UnBuildable
8958
    */----------------------------------------------
8959
    UPDATE release_content
8960
       SET pkg_state = 13
8961
     WHERE rtag_id = NNrtag_id
8962
       AND pv_id in (select pv_id from temp_env_states WHERE session_num = NNsession_num AND build_type = 'U');
8963
 
8964
END Update_Package_States;
8965
 
8966
/
8967
--------------------------------------------------------
8968
--  DDL for Procedure UPDATE_PROCESSES
8969
--------------------------------------------------------
8970
set define off;
8971
 
8972
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UPDATE_PROCESSES" 
3959 dpurdie 8973
IS
6999 dpurdie 8974
 
8975
proc_id NUMBER;
8976
/******************************************************************************
8977
   NAME:       DELETE_DO_NOT_RIPPLE
8978
   PURPOSE:    TO DELETE ENTRIES FROM THE DO_NOT_RIPPLE TABLE WHEN A PACKAGE
8979
               IS RELEASED
8980
 
8981
   REVISIONS:
8982
   Ver        Date        Author           Description
8983
   ---------  ----------  ---------------  ------------------------------------
8984
   1.0        21/04/2006  Rupesh Solanki     1. Created this procedure.
8985
 
8986
   NOTES:
8987
 
8988
   Automatically available Auto Replace Keywords:
8989
      Object Name:     DELETE_DO_NOT_RIPPLE
8990
      Sysdate:         21/04/2006
8991
      Date and Time:   21/04/2006, 3:21:55 PM, and 21/04/2006 3:21:55 PM
8992
      Username:         (set in TOAD Options, Procedure Editor)
8993
      Table Name:       (set in the "New PL/SQL Object" dialog)
8994
 
8995
******************************************************************************/
8996
   CURSOR ripple_cur
8997
   IS
8998
      select proc_id,  proc_name, run_as, pkg_owner, is_interface from processes;
8999
 
9000
   ripple_rec   ripple_cur%ROWTYPE;
9001
BEGIN
9002
   OPEN ripple_cur;
9003
 
9004
   FETCH ripple_cur
9005
    INTO ripple_rec;
9006
 
9007
   WHILE ripple_cur%FOUND
9008
   LOOP
9009
 
9010
 
9011
update deployment_manager.processes_config
9012
set proc_id = ripple_rec.proc_id
9013
where pkg_health_tag = ripple_rec.proc_name
9014
and cmd_interface IS NULL
9015
and pkg_owner IS NULL
9016
and is_interface IS NULL;
9017
 
9018
 
9019
      FETCH ripple_cur
9020
       INTO ripple_rec;
9021
   END LOOP;
9022
END UPDATE_PROCESSES;
9023
 
9024
/
9025
--------------------------------------------------------
9026
--  DDL for Procedure UPDATE_RUNTIME_DEPENDENCY
9027
--------------------------------------------------------
9028
set define off;
9029
 
9030
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UPDATE_RUNTIME_DEPENDENCY" ( NNpv_id IN RUNTIME_DEPENDENCIES.pv_id%TYPE,
9031
				   	  		  						    NNrtd_id IN RUNTIME_DEPENDENCIES.rtd_id%TYPE,
9032
				   	  		  						    SSrtd_version IN PACKAGE_VERSIONS.pkg_version%TYPE,
9033
													    SSrtd_url IN RUNTIME_DEPENDENCIES.rtd_url%TYPE,
9034
													    SSrtd_comments IN RUNTIME_DEPENDENCIES.rtd_comments%TYPE,
9035
													    NNuser_id IN NUMBER ) IS
3959 dpurdie 9036
/* ---------------------------------------------------------------------------
6999 dpurdie 9037
    Version: 3.0.1
3959 dpurdie 9038
   --------------------------------------------------------------------------- */
6999 dpurdie 9039
 
9040
    retRTD_ID	NUMBER;
9041
	CURSOR rtd_cur IS
9042
	    SELECT pv.pkg_version, pkg.pkg_name
9043
		  FROM runtime_dependencies rtd,
9044
		       package_versions pv,
9045
			   packages pkg
9046
		 WHERE rtd.rtd_id = pv.pv_id
9047
		   AND pv.pkg_id = pkg.pkg_id
9048
		   AND rtd.pv_id = NNpv_id
9049
		   AND rtd.rtd_id = NNrtd_id;
9050
	   rtd_rec rtd_cur%ROWTYPE;
9051
 
9052
	CURSOR old_rtd_cur IS
9053
	    SELECT pv.pv_id
9054
		  FROM package_versions pv
9055
		 WHERE pv.pkg_id IN ( SELECT rtdpv.pkg_id
9056
		 	   			 	    FROM package_versions rtdpv
9057
							   WHERE rtdpv.pv_id = NNrtd_id )
9058
		   AND pv.pkg_version = SSrtd_version;
9059
	old_rtd_rec old_rtd_cur%ROWTYPE;
9060
 
9061
 
3959 dpurdie 9062
BEGIN
1373 dpurdie 9063
 
6999 dpurdie 9064
    -- Get current runtime dependency details
9065
	OPEN rtd_cur;
9066
    FETCH rtd_cur INTO rtd_rec;
4040 dpurdie 9067
 
6999 dpurdie 9068
 
9069
 
9070
 
9071
	IF rtd_rec.pkg_version != SSrtd_version THEN
9072
           -- Version has changed, hence create new runtime dependency --
9073
	    /* NOTE: You must create new version as updating just a version will affect
9074
		        all packages using this runtime dependency and user does not expect that.
9075
		        It is safer to create new version */
9076
		OPEN old_rtd_cur;
9077
		FETCH old_rtd_cur INTO old_rtd_rec;
9078
 
9079
 
9080
		IF old_rtd_cur%NOTFOUND
9081
		THEN
9082
			-- Version not found, hence Create New version --
9083
    		Seed_Package_Names_Versions ( rtd_rec.pkg_name, SSrtd_version, NNuser_id, retRTD_ID );
9084
 
9085
			-- Update runtime dependency table --
9086
			UPDATE runtime_dependencies SET
9087
				   rtd_id = retRTD_ID,
9088
				   rtd_url = SSrtd_url,
9089
				   rtd_comments = SSrtd_comments
9090
			 WHERE pv_id = NNpv_id
9091
			   AND rtd_id = NNrtd_id;
9092
 
9093
		ELSE
9094
			-- Update runtime dependency table --
9095
			UPDATE runtime_dependencies SET
9096
				   rtd_id = old_rtd_rec.pv_id,
9097
				   rtd_url = SSrtd_url,
9098
				   rtd_comments = SSrtd_comments
9099
			 WHERE pv_id = NNpv_id
9100
			   AND rtd_id = NNrtd_id;
9101
 
9102
		END IF;
9103
 
9104
 
9105
		CLOSE old_rtd_cur;
9106
 
9107
	ELSE
9108
		--  Version has not changed, hence update everithing except	version --
9109
		UPDATE runtime_dependencies SET
9110
			   rtd_url = SSrtd_url,
9111
			   rtd_comments = SSrtd_comments
9112
		 WHERE pv_id = NNpv_id
9113
		   AND rtd_id = NNrtd_id;
9114
 
9115
 
9116
 
9117
	END IF;
9118
 
9119
 
9120
	CLOSE rtd_cur;
9121
 
9122
END Update_Runtime_Dependency;
9123
 
9124
/
4040 dpurdie 9125
--------------------------------------------------------
6999 dpurdie 9126
--  DDL for Procedure UPDATE_UNIT_TEST
4040 dpurdie 9127
--------------------------------------------------------
6999 dpurdie 9128
set define off;
4040 dpurdie 9129
 
6999 dpurdie 9130
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UPDATE_UNIT_TEST" ( nTest_id IN NUMBER,
9131
	   	  		  							   nTestTypeId IN UNIT_TESTS.TEST_TYPES_FK%TYPE,
9132
											   nPv_id IN NUMBER,
9133
											   nUserId IN NUMBER,
9134
	                                           sTest_summary IN UNIT_TESTS.TEST_SUMMARY%TYPE,
9135
											   sNumof_test IN UNIT_TESTS.NUMOF_TEST%TYPE,
9136
	                                           sCompletion_date IN VARCHAR2,
9137
											   sDpkg_path IN VARCHAR2,
9138
											   enumTEST_TYPE_AUTOMATIC IN NUMBER,
9139
											   sResults IN VARCHAR2,
9140
											   outFileName OUT VARCHAR2
9141
                                              ) IS
9142
/* ---------------------------------------------------------------------------
9143
    Version: 3.1.0
9144
   --------------------------------------------------------------------------- */
4040 dpurdie 9145
 
6999 dpurdie 9146
   	FILENAME_PREFIX CONSTANT VARCHAR2(50) := 'RM_UNIT_TEST';
9147
 
9148
    ResultsURL UNIT_TESTS.RESULTS_URL%TYPE DEFAULT NULL;
9149
    ResultsAttachment UNIT_TESTS.RESULTS_ATTACHMENT_NAME%TYPE DEFAULT NULL;
9150
 
9151
 
9152
BEGIN
9153
 
9154
       IF nTestTypeId = enumTEST_TYPE_AUTOMATIC THEN
9155
       	ResultsURL := sResults;
9156
       ELSE
9157
       	IF (sResults <> '') OR ( NOT sResults IS NULL ) THEN
9158
        	outFileName := FILENAME_PREFIX || nTest_id ||'_'|| sResults;
9159
    		ResultsAttachment := sDpkg_path || '/' || outFileName;
9160
           END IF;
9161
       END IF;
9162
 
9163
	--- Update Unit Test ---
9164
    UPDATE UNIT_TESTS SET
9165
           TEST_SUMMARY = sTest_summary,
9166
		   NUMOF_TEST = sNumof_test,
9167
           COMPLETION_DATE = TO_DATE( sCompletion_date,'DD/MM/YYYY' ),
9168
		   COMPLETED_BY = nUserId,
9169
		   RESULTS_URL = ResultsURL,
9170
		   RESULTS_ATTACHMENT_NAME = ResultsAttachment
9171
     WHERE TEST_ID = nTest_id
9172
       AND PV_ID = nPv_id;
9173
 
9174
END Update_Unit_Test;
9175
 
9176
/
4040 dpurdie 9177
--------------------------------------------------------
6999 dpurdie 9178
--  DDL for Procedure UPDATE_UNIT_TEST_ACCEPTANCE
4040 dpurdie 9179
--------------------------------------------------------
6999 dpurdie 9180
set define off;
4040 dpurdie 9181
 
6999 dpurdie 9182
  CREATE OR REPLACE PROCEDURE "RELEASE_MANAGER"."UPDATE_UNIT_TEST_ACCEPTANCE" ( pnTest_id IN NUMBER,
9183
														  pnPv_id IN NUMBER,
9184
					                                      sAccepted IN UNIT_TESTS.TEST_ACCEPTED%TYPE,
9185
														  sAcceptanceDate IN VARCHAR2,
9186
														  sAcceptedBy IN NUMBER,
9187
					                                      sReviewComments IN UNIT_TESTS.REVIEW_COMMENTS%TYPE,
9188
														  cUpdateAcceptedStateOnly IN CHAR
9189
					                                     ) IS
3959 dpurdie 9190
/* ---------------------------------------------------------------------------
9191
    Version: 3.0.0
9192
   --------------------------------------------------------------------------- */
1373 dpurdie 9193
 
9194
 
6999 dpurdie 9195
 
3959 dpurdie 9196
BEGIN
6999 dpurdie 9197
	IF cUpdateAcceptedStateOnly = 'Y'
9198
	THEN
9199
		--- Update Accepted State Only ---
9200
		IF ( sAccepted IS NULL )
9201
		THEN
9202
			-- Clear alleptance
9203
			UPDATE UNIT_TESTS SET
9204
		           TEST_ACCEPTED = NULL,
9205
		           ACCEPTANCE_DATE = NULL,
9206
				   ACCEPTED_BY = NULL,
9207
				   REVIEW_COMMENTS = NULL
9208
		     WHERE TEST_ID = pnTest_id
9209
		       AND PV_ID = pnPv_id;
1373 dpurdie 9210
 
6999 dpurdie 9211
	    ELSE
9212
			UPDATE UNIT_TESTS SET
9213
		           TEST_ACCEPTED = sAccepted,
9214
		           ACCEPTANCE_DATE = TO_DATE( sAcceptanceDate,'DD/MM/YYYY' ),
9215
				   ACCEPTED_BY = sAcceptedBy
9216
		     WHERE TEST_ID = pnTest_id
9217
		       AND PV_ID = pnPv_id;
6031 dpurdie 9218
 
6999 dpurdie 9219
		END IF;
6031 dpurdie 9220
 
9221
 
6999 dpurdie 9222
	ELSE
9223
		--- Update Unit Test Acceptance ---
9224
	    UPDATE UNIT_TESTS SET
9225
	           TEST_ACCEPTED = sAccepted,
9226
			   REVIEW_COMMENTS = sReviewComments,
9227
	           ACCEPTANCE_DATE = TO_DATE( sAcceptanceDate,'DD/MM/YYYY' ),
9228
			   ACCEPTED_BY = sAcceptedBy
9229
	     WHERE TEST_ID = pnTest_id
9230
	       AND PV_ID = pnPv_id;
4040 dpurdie 9231
 
6999 dpurdie 9232
	END IF;
9233
 
9234
END Update_Unit_Test_Acceptance;
9235
 
9236
/
4040 dpurdie 9237
--------------------------------------------------------
9238
--  DDL for Package PK_APP_UTILS
9239
--------------------------------------------------------
9240
 
5172 dpurdie 9241
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_APP_UTILS" IS
1373 dpurdie 9242
/*
9243
------------------------------
9244
||  Last Modified:  S.Vukovic
9245
||  Modified Date:  26/Apr/2005
9246
||  Spec Version:   1.0
9247
------------------------------
9248
*/
9249
 
9250
	TYPE typeCur IS REF CURSOR;
9251
 
9252
    /*================================================================================================*/
9253
 
9254
	PROCEDURE GET_CURRENT_PARAMETERS ( ProjId IN VARCHAR2, RtagId IN VARCHAR2, records OUT typeCur);
9255
 
9256
	/*================================================================================================*/
9257
 
9258
END PK_APP_UTILS;
4040 dpurdie 9259
 
1374 dpurdie 9260
/
4040 dpurdie 9261
 
6999 dpurdie 9262
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_APP_UTILS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 9263
--------------------------------------------------------
6999 dpurdie 9264
--  DDL for Package PK_BLATAPI
9265
--------------------------------------------------------
9266
 
9267
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_BLATAPI" 
9268
IS
9269
 
9270
   /*================================================================================================*/
9271
   PROCEDURE add_pkg_replica (
9272
      sdisplay_name          IN   VARCHAR2,
9273
      sserver_name           IN   VARCHAR2,
9274
      sdescription           IN   VARCHAR2,
9275
      sactive                IN   CHAR,
9276
      smode                  IN   CHAR
9277
   );
9278
 
9279
   /*================================================================================================*/
9280
   PROCEDURE delete_pkg_replica (sserver_id_list IN VARCHAR2);
9281
 
9282
   /*================================================================================================*/
9283
   PROCEDURE update_pkg_replica (
9284
      nserver_id             IN   NUMBER,
9285
      sdisplay_name          IN   VARCHAR2,
9286
      sserver_name           IN   VARCHAR2,
9287
      sdescription           IN   VARCHAR2,
9288
      sactive                IN   CHAR,
9289
      smode                  IN   CHAR
9290
   );
9291
 
9292
   /*================================================================================================*/
9293
   PROCEDURE set_pkg_replica_changed( nserver_id IN   NUMBER);
9294
 
9295
END PK_BLATAPI;
9296
 
9297
/
9298
--------------------------------------------------------
4040 dpurdie 9299
--  DDL for Package PK_BUILDAPI
9300
--------------------------------------------------------
9301
 
5172 dpurdie 9302
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_BUILDAPI" 
1373 dpurdie 9303
IS
9304
   /*================================================================================================*/
9305
   PROCEDURE add_product_component (
9306
      npvid           IN   NUMBER,
9307
      sosname         IN   VARCHAR2,
9308
      sorigfilepath   IN   VARCHAR2,
9309
      sfilename       IN   VARCHAR2,
9310
      sdestfilepath   IN   VARCHAR2,
9311
      nbytesize       IN   NUMBER,
9312
      scrccksum       IN   VARCHAR2
9313
   );
9314
 
9315
   PROCEDURE remove_all_product_components (
9316
      npvid     IN   NUMBER,
9317
      sosname   IN   VARCHAR2
9318
   );
9319
 
9320
   /*================================================================================================*/
9321
   FUNCTION get_osid (sosname IN VARCHAR2)
9322
      RETURN NUMBER;
9323
 
4308 dpurdie 9324
  /*================================================================================================*/
9325
    PROCEDURE update_build_service_info (
1373 dpurdie 9326
      sdatabaseserver   IN   VARCHAR2,
9327
      sarchiveserver    IN   VARCHAR2,
9328
      smailserver       IN   VARCHAR2,
9329
      smailsender       IN   VARCHAR2,
4211 dpurdie 9330
      faultmlist        IN   VARCHAR2,
1373 dpurdie 9331
      sdiskspace        IN   VARCHAR2,
6600 dpurdie 9332
      ssbommanagement   IN   VARCHAR2,
9333
      lxrserver         IN   VARCHAR2
1373 dpurdie 9334
   );
9335
 
9336
   /*================================================================================================*/
4040 dpurdie 9337
   PROCEDURE add_gbe_machtype (sgbevalue IN VARCHAR2, sgbeclass IN NUMBER);
1373 dpurdie 9338
 
9339
   /*================================================================================================*/
9340
   PROCEDURE remove_gbe_machtype (ngbe_id IN NUMBER);
9341
 
9342
   /*================================================================================================*/
4040 dpurdie 9343
   PROCEDURE update_gbe_machtype (ngbe_id IN NUMBER, sgbevalue IN VARCHAR2, sgbeclass IN NUMBER);
1373 dpurdie 9344
 
4040 dpurdie 9345
  /*================================================================================================*/
9346
   PROCEDURE add_buildmachine (sbmvalue IN VARCHAR2);
9347
 
1373 dpurdie 9348
   /*================================================================================================*/
4040 dpurdie 9349
   PROCEDURE remove_buildmachine (nbm_id IN NUMBER);
9350
 
9351
   /*================================================================================================*/
9352
   PROCEDURE update_buildmachine (nbm_id IN NUMBER, sbmvalue IN VARCHAR2);
6031 dpurdie 9353
 
4040 dpurdie 9354
   /*================================================================================================*/
1373 dpurdie 9355
   PROCEDURE delete_daemon (srconidlist IN VARCHAR2);
6031 dpurdie 9356
 
1373 dpurdie 9357
   /*================================================================================================*/
4308 dpurdie 9358
   PROCEDURE remove_daemon (srconidlist IN VARCHAR2);
1373 dpurdie 9359
 
9360
   /*================================================================================================*/
9361
   PROCEDURE insert_schedule_info (
9362
      dschedulepause     IN   DATE,
9363
      dscheduleresume    IN   DATE,
9364
      crepeat            IN   VARCHAR2,
9365
      cindefinitepause   IN   VARCHAR2
9366
   );
9367
 
9368
   /*================================================================================================*/
9369
   PROCEDURE delete_schedule (nscheduleid IN NUMBER);
9370
 
9371
   /*================================================================================================*/
9372
   PROCEDURE set_infinite_pause;
9373
 
9374
   /*================================================================================================*/
9375
   PROCEDURE set_resume;
9376
 
9377
   /*================================================================================================*/
9378
   PROCEDURE delete_out_of_date_schedule;
9379
 
9380
   /*================================================================================================*/
9381
   PROCEDURE set_daemon_resume (nrconid IN NUMBER);
9382
 
9383
   /*================================================================================================*/
9384
   PROCEDURE set_daemon_pause (nrconid IN NUMBER);
9385
 
9386
   /*================================================================================================*/
9387
   PROCEDURE set_daemon_disable (nrconid NUMBER);
9388
 
9389
   /*================================================================================================*/
9390
   PROCEDURE set_daemon_states (nrtagid NUMBER, nstate NUMBER);
9391
 
9392
   /*================================================================================================*/
9393
   PROCEDURE mark_daemon_inst_in_progress( nInstId IN NUMBER );
9394
   /*================================================================================================*/
9395
   PROCEDURE mark_daemon_inst_completed( nInstId IN NUMBER );
9396
   /*================================================================================================*/
9397
   FUNCTION get_daemon_inst(
9398
      nRtag_id IN NUMBER,
9399
      nInst_id IN OUT NUMBER,
9400
      nOp_code IN OUT NUMBER,
9401
      nPv_id OUT NUMBER,
9402
      nUser_id OUT NUMBER,
7039 dpurdie 9403
      nInProgress OUT NUMBER,
9404
      bExpired IN NUMBER default 1
1373 dpurdie 9405
   ) RETURN NUMBER;
9406
   /*================================================================================================*/
9407
   PROCEDURE cleanup_stranded_daemon_insts;
9408
   /*================================================================================================*/
9409
   PROCEDURE insert_daemon_inst(
9410
      nOp_code IN NUMBER,
9411
      nRtag_id IN NUMBER,
9412
      nPv_id IN NUMBER,
9413
      nSchedDate IN DATE,
9414
      nRepeatSecs IN NUMBER,
9415
      nAddedDate IN DATE,
9416
      nUser_id IN NUMBER
9417
   );
9418
   /*================================================================================================*/
9419
   PROCEDURE del_daemon_inst( nInstId IN NUMBER );
9420
   /*================================================================================================*/
9421
   PROCEDURE del_daemon_inst_by_rtag_pvid(
9422
      nOp_code IN NUMBER,
9423
      nRtag_id IN NUMBER,
9424
      nPv_id IN NUMBER
9425
   );
9426
   /*================================================================================================*/
9427
   PROCEDURE update_daemon_inst(
9428
      nInstId IN NUMBER,
9429
      nOp_code IN NUMBER,
9430
      nRtag_id IN NUMBER,
9431
      nPv_id IN NUMBER,
9432
      nSchedDate IN DATE,
9433
      nRepeatSecs IN NUMBER,
9434
      nAddedDate IN DATE,
9435
      nUser_id IN NUMBER
9436
   );
9437
   /*================================================================================================*/
9438
   FUNCTION daemon_ops_for_rtag_pvid(
9439
      nRtag_id IN NUMBER,
9440
      nPv_id IN NUMBER
9441
   ) RETURN VARCHAR2;
9442
   /*================================================================================================*/
9443
   FUNCTION daemon_ops_for_rtag(
9444
      nRtag_id IN NUMBER
9445
   ) RETURN VARCHAR2;
9446
   /*================================================================================================*/
9447
   PROCEDURE add_daemon_config (
9448
      nrtagid           IN   NUMBER,
9449
      nbmcon_id         IN   NUMBER,
9450
      sdaemon_mode      IN   VARCHAR2,
9451
      sgbebuildfilter   IN   VARCHAR2
9452
   );
9453
   /*================================================================================================*/
9454
   PROCEDURE update_daemon_config (
9455
      nrconid           IN   NUMBER,
9456
      nbmcon_id         IN   NUMBER,
9457
      sdaemon_mode      IN   VARCHAR2,
9458
      sgbebuildfilter   IN   VARCHAR2
9459
   );
9460
 
4308 dpurdie 9461
 /*================================================================================================*/
9462
   PROCEDURE duplicate_daemon_config (
9463
      nrtagid           IN   NUMBER,
9464
      nbmcon_id         IN   NUMBER,
9465
      sdaemonhostname   IN   VARCHAR2,
9466
      ngbe_id           IN   NUMBER,
9467
      sdaemon_mode      IN   VARCHAR2,
9468
      sgbebuildfilter   IN   VARCHAR2
9469
   );
6031 dpurdie 9470
 
1373 dpurdie 9471
   /*================================================================================================*/
9472
   PROCEDURE add_build_machine (
9473
      sdisplay_name          IN   VARCHAR2,
9474
      smachine_hostname      IN   VARCHAR2,
9475
      ngbeid                 IN   NUMBER,
5172 dpurdie 9476
      sdescription           IN   VARCHAR2,
7340 dpurdie 9477
      sactive                IN   CHAR,
9478
      splatform_list         IN  VARCHAR2 default '0'
1373 dpurdie 9479
   );
9480
   /*================================================================================================*/
9481
   PROCEDURE delete_build_machine (sbmcon_id_list IN VARCHAR2);
9482
   /*================================================================================================*/
9483
   PROCEDURE update_build_machine (
9484
      nbmcon_id              IN   NUMBER,
9485
      sdisplay_name          IN   VARCHAR2,
9486
      smachine_hostname      IN   VARCHAR2,
9487
      ngbeid                 IN   NUMBER,
5172 dpurdie 9488
      sdescription           IN   VARCHAR2,
7340 dpurdie 9489
      sactive                IN   CHAR,
9490
      splatform_list         IN  VARCHAR2 default '0'
1373 dpurdie 9491
   );
4553 dpurdie 9492
   /*================================================================================================*/
9493
   PROCEDURE import_daemons ( nSourceRtagId IN NUMBER, nTargetRtagId IN NUMBER, nUserId IN NUMBER  );
5172 dpurdie 9494
   /*================================================================================================*/
5892 dpurdie 9495
   PROCEDURE set_finite_pause ( duration IN NUMBER  );
9496
   PROCEDURE set_build_plan (rtagId IN NUMBER, nStartIndex IN NUMBER, pvList IN VARCHAR2);
7340 dpurdie 9497
 
9498
   /*================================================================================================*/
9499
   PROCEDURE add_build_platform ( sname IN VARCHAR2,sdescription IN VARCHAR2, sactive IN CHAR, sMachType_list IN VARCHAR2);
9500
   PROCEDURE delete_build_platform (bp_id_list IN VARCHAR2);
9501
   PROCEDURE update_build_platform ( nbp_id IN NUMBER, sname IN VARCHAR2, sdescription IN VARCHAR2, sactive IN CHAR, sMachType_list IN VARCHAR2);
9502
   /*================================================================================================*/
9503
 
9504
    FUNCTION insert_bi_platforms (nbuildid IN NUMBER, splatforms IN VARCHAR2, bClear IN NUMBER) RETURN VARCHAR2;
9505
    FUNCTION insert_pv_platforms (npvid IN NUMBER, splatforms IN VARCHAR2, bClear IN NUMBER) RETURN VARCHAR2;
5172 dpurdie 9506
 
1373 dpurdie 9507
END pk_buildapi;
4040 dpurdie 9508
 
6999 dpurdie 9509
/
4040 dpurdie 9510
--------------------------------------------------------
9511
--  DDL for Package PK_ENVIRONMENT
9512
--------------------------------------------------------
9513
 
5172 dpurdie 9514
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_ENVIRONMENT" IS
1373 dpurdie 9515
/*
9516
------------------------------
3959 dpurdie 9517
||  Last Modified:  G.Huddy
9518
||  Modified Date:  28/May/2008
9519
||  Spec Version:   1.2
1373 dpurdie 9520
------------------------------
9521
*/
9522
 
3959 dpurdie 9523
	TYPE typeCur IS REF CURSOR;
9524
 
1373 dpurdie 9525
	/*================================================================================================*/
9526
 
3959 dpurdie 9527
	FUNCTION SELECT_ENVIRONMENT_AREA ( cDlock IN PACKAGE_VERSIONS.DLOCKED%TYPE ) RETURN NUMBER;
9528
	FUNCTION GET_PACKAGE_AREA ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER;
9529
	FUNCTION GET_VIEW_LOCATION ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER;
5384 dpurdie 9530
	PROCEDURE ADD_PACKAGE ( PvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, imode IN   CHAR default NULL );
9531
	PROCEDURE ADD_PACKAGE_BULK ( PvIdList IN VARCHAR2, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, imode IN CHAR default NULL );
3959 dpurdie 9532
	PROCEDURE REPLACE_PACKAGE ( newPvId IN NUMBER, oldPvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9533
	FUNCTION REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, ForceRemove IN CHAR ) RETURN NUMBER;
9534
 
9535
	PROCEDURE GET_ENVIRONMENT_ITEMS ( ViewType IN NUMBER, UserId IN NUMBER, RtagId IN NUMBER,  sViewIdShowList IN VARCHAR2, nTrueRecordCount OUT NUMBER, RecordSet OUT typeCur );
9536
	PROCEDURE GET_RELEASED_ITEMS ( ViewType IN NUMBER, UserId IN NUMBER, RtagId IN NUMBER,  sViewIdShowList IN VARCHAR2, nTrueRecordCount OUT NUMBER, RecordSet OUT typeCur );
9537
	PROCEDURE GET_PENDING_ITEMS ( ViewType IN NUMBER, UserId IN NUMBER, RtagId IN NUMBER,  sViewIdShowList IN VARCHAR2, nTrueRecordCount OUT NUMBER, RecordSet OUT typeCur );
9538
	PROCEDURE GET_WORK_IN_PROGRESS_ITEMS ( ViewType IN NUMBER, UserId IN NUMBER, RtagId IN NUMBER,  sViewIdShowList IN VARCHAR2, nTrueRecordCount OUT NUMBER, RecordSet OUT typeCur );
9539
 
9540
	PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur );
9541
 
9542
	FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER;
9543
 
9544
 
9545
	PROCEDURE MAKE_RELEASE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9546
	PROCEDURE MAKE_UNRELEASE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9547
 
9548
	PROCEDURE MAKE_PENDING ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
7039 dpurdie 9549
	PROCEDURE MAKE_APPROVED ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, sched in VARCHAR2 default NULL );
3959 dpurdie 9550
	PROCEDURE MAKE_REJECT ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9551
	PROCEDURE APPROVE_MERGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9552
 
9553
	PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER );
9554
 
9555
	PROCEDURE FIND_PACKAGE ( sKeyword IN VARCHAR2, nRtagId IN NUMBER, nSearchArea IN NUMBER, RecordSet OUT typeCur );
9556
	PROCEDURE FIND_FILE ( sKeyword IN VARCHAR2, nRtagId IN NUMBER, nSearchArea IN NUMBER, nPageSize IN NUMBER, RecordSet OUT typeCur );
9557
 
9558
	PROCEDURE AUTO_MAKE_RELEASE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, VExt IN
9559
							 PACKAGE_VERSIONS.V_EXT%TYPE, SSV_EXT IN PACKAGE_VERSIONS.V_EXT%TYPE,
9560
							 CloneFromPvId IN NUMBER );
9561
 
9562
	PROCEDURE GET_PRODRELEASE_ITEMS ( RtagId IN NUMBER, nTrueRecordCount OUT NUMBER, RecordSet OUT typeCur );
9563
 
9564
	PROCEDURE GET_INTEGRATION_ITEMS ( RtagId IN NUMBER, nTrueRecordCount OUT NUMBER, RecordSet OUT typeCur );
9565
 
9566
	PROCEDURE GET_TEST_ITEMS ( RtagId IN NUMBER, nTrueRecordCount OUT NUMBER, RecordSet OUT typeCur );
9567
 
9568
	PROCEDURE GET_DEPLOY_ITEMS ( RtagId IN NUMBER, nTrueRecordCount OUT NUMBER, RecordSet OUT typeCur );
9569
 
9570
	PROCEDURE GET_REJECT_ITEMS ( RtagId IN NUMBER, nTrueRecordCount OUT NUMBER, RecordSet OUT typeCur );
1373 dpurdie 9571
	/*================================================================================================*/
3959 dpurdie 9572
 
9573
END PK_ENVIRONMENT;
4040 dpurdie 9574
 
6999 dpurdie 9575
/
4040 dpurdie 9576
--------------------------------------------------------
9577
--  DDL for Package PK_LICENCING
9578
--------------------------------------------------------
9579
 
5172 dpurdie 9580
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_LICENCING" IS
3959 dpurdie 9581
/*
9582
------------------------------
9583
||  Last Modified:  G.Huddy
9584
||  Modified Date:  19/Aug/2008
9585
||  Spec Version:   1.0
9586
------------------------------
9587
*/
9588
 
9589
   TYPE typeCur IS REF CURSOR;
9590
 
9591
    /*================================================================================================*/
9592
   PROCEDURE ADD_LICENCE ( PvId IN NUMBER, licenceId IN NUMBER, UserId IN NUMBER );
9593
   PROCEDURE REMOVE_LICENCE ( PvId IN NUMBER, licenceId IN NUMBER, UserId IN NUMBER );
9594
   PROCEDURE CLONE_LICENCING( fromPvId IN NUMBER, toPvId IN NUMBER, UserId IN NUMBER );
9595
   FUNCTION  IS_LICENCED( PvId IN NUMBER, licenceId IN NUMBER) RETURN NUMBER;
9596
   PROCEDURE REMOVE_ALL_LICENCING( PvId IN NUMBER, UserId IN NUMBER );
9597
   /*================================================================================================*/
9598
 
9599
END PK_LICENCING;
4040 dpurdie 9600
 
6999 dpurdie 9601
/
4040 dpurdie 9602
--------------------------------------------------------
9603
--  DDL for Package PK_PACKAGE
9604
--------------------------------------------------------
9605
 
5172 dpurdie 9606
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_PACKAGE" 
1373 dpurdie 9607
IS
9608
/*
9609
------------------------------
3959 dpurdie 9610
||  Last Modified:  Jeremy Tweddle
9611
||  Modified Date:  24/08/2007
1373 dpurdie 9612
||
9613
------------------------------
9614
*/
9615
   TYPE typecur IS REF CURSOR;
6031 dpurdie 9616
 
5502 dpurdie 9617
   /*
9618
    * Carriage-return line-feed character sequence.
9619
    */
9620
   CRLF CONSTANT VARCHAR2(2 CHAR) := unistr('\000D\000A');
1373 dpurdie 9621
 
9622
/*================================================================================================*/
9623
   PROCEDURE new_version (
9624
      nlastpvid                   IN       NUMBER,
9625
      snewpkgversion              IN       VARCHAR2 DEFAULT NULL,
9626
      cbuildtype                  IN       CHAR,
4211 dpurdie 9627
      cchangetype                 IN       CHAR,
1373 dpurdie 9628
      nsettopvid                  IN       NUMBER DEFAULT NULL,
9629
      nrtagid                     IN       NUMBER,
9630
      nuserid                     IN       NUMBER,
9631
      enumissues_state_imported   IN       NUMBER,
9632
      returnpvid                  OUT      NUMBER
9633
   );
9634
 
9635
   PROCEDURE change_state (
9636
      pvid       IN   NUMBER,
9637
      newstate   IN   package_versions.dlocked%TYPE,
9638
      userid     IN   NUMBER
9639
   );
9640
 
9641
   PROCEDURE new_patch (
9642
      snewpatchversion   IN       package_versions.pkg_version%TYPE,
9643
      nparentpvid        IN       NUMBER,
9644
      spatchidlist       IN       VARCHAR2,
9645
      nuserid            IN       NUMBER,
9646
      returnpatchid      OUT      NUMBER
9647
   );
9648
 
9649
   PROCEDURE obsolete_patch (
9650
      patchid            IN   NUMBER,
9651
      isobsolete         IN   CHAR,
9652
      obsoletecomments   IN   VARCHAR2,
9653
      userid             IN   NUMBER
9654
   );
9655
 
9656
   PROCEDURE obsolete_patches (
9657
      spatchidlist       IN   VARCHAR2,
9658
      isobsolete         IN   CHAR,
9659
      obsoletecomments   IN   VARCHAR2,
9660
      userid             IN   NUMBER
9661
   );
9662
 
9663
   PROCEDURE destroy_package (
9664
      pvid               IN       NUMBER,
9665
      overridewarnings   IN       CHAR DEFAULT 'N',
9666
      problemstring      OUT      VARCHAR2
9667
   );
6031 dpurdie 9668
 
9669
   PROCEDURE destroy_package_extended (
9670
      pvid               IN       NUMBER,
9671
      rtagid             IN       NUMBER,
9672
      overridewarnings   IN       NUMBER DEFAULT 0,
9673
      RESULTS            OUT      SYS_REFCURSOR
9674
);
1373 dpurdie 9675
   PROCEDURE add_process (
9676
      nprocid         IN   processes.proc_id%TYPE,
9677
      shealthtag      IN   processes.proc_name%TYPE,
9678
      sprocdesc       IN   processes.proc_description%TYPE,
9679
      scmdinterface   IN   processes.run_as%TYPE,
9680
      spkgowner       IN   processes.pkg_owner%TYPE,
9681
      sisinterface    IN   processes.is_interface%TYPE,
9682
      npvid           IN   package_processes.pv_id%TYPE,
9683
      nuserid         IN   NUMBER
9684
   );
9685
 
9686
   PROCEDURE add_package_process (
9687
      nprocidlist   IN   VARCHAR2,
9688
      npvid         IN   package_processes.pv_id%TYPE,
9689
      nuserid       IN   NUMBER
9690
   );
9691
 
6031 dpurdie 9692
 
9693
 
1373 dpurdie 9694
   PROCEDURE remove_process (
9695
      nprocid   IN   package_processes.proc_id%TYPE,
9696
      npvid     IN   package_processes.pv_id%TYPE,
9697
      nuserid   IN   NUMBER
9698
   );
6031 dpurdie 9699
 
1373 dpurdie 9700
   PROCEDURE move_package (
9701
   	  npvid  			  IN package_versions.pv_id%TYPE,
9702
	  nrtagid 			  IN release_tags.rtag_id%TYPE,
9703
	  nnewrtagid 		  IN release_tags.rtag_id%TYPE,
6031 dpurdie 9704
	  nuserid			  IN NUMBER
9705
   );
9706
 
3959 dpurdie 9707
   PROCEDURE modify_product_state (
1373 dpurdie 9708
   	  npvid IN package_versions.pv_id%TYPE,
3959 dpurdie 9709
	  nrtagid IN release_tags.rtag_id%TYPE,
1373 dpurdie 9710
	  nstateid IN product_states.state_id%TYPE,
9711
	  nuserid IN NUMBER
9712
   );
6031 dpurdie 9713
 
3959 dpurdie 9714
   PROCEDURE add_code_review_url (
9715
        npvid           IN    NUMBER,
9716
        nprojid         IN    NUMBER,
9717
        surl            IN    VARCHAR2,
9718
        sreason         IN    VARCHAR2,
4553 dpurdie 9719
        ddateofreview   IN    VARCHAR2
3959 dpurdie 9720
   );
6031 dpurdie 9721
 
3959 dpurdie 9722
   PROCEDURE update_code_review_url (
9723
        ncrid           IN    NUMBER,
9724
        nprojid         IN    NUMBER,
9725
        surl            IN    VARCHAR2,
4553 dpurdie 9726
        sreason         IN    VARCHAR2,
9727
        ddateofreview   IN    VARCHAR2
3959 dpurdie 9728
   );
6031 dpurdie 9729
 
3959 dpurdie 9730
   PROCEDURE remove_code_review_url (
9731
        ncrid           IN    NUMBER
9732
   );
6600 dpurdie 9733
 
9734
   PROCEDURE SET_RIPPLE_STOP (
6999 dpurdie 9735
        nPVID IN RELEASE_CONTENT.PV_ID%TYPE,
9736
        nRtagId IN RELEASE_CONTENT.RTAG_ID%TYPE,
9737
        nUserId IN NUMBER,
9738
        cMode IN CHAR
9739
   );
9740
 
1373 dpurdie 9741
/*================================================================================================*/
3959 dpurdie 9742
END pk_package;
4040 dpurdie 9743
 
1374 dpurdie 9744
/
5892 dpurdie 9745
 
6031 dpurdie 9746
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_PACKAGE" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 9747
  GRANT DEBUG ON "RELEASE_MANAGER"."PK_PACKAGE" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 9748
--------------------------------------------------------
9749
--  DDL for Package PK_PLANNED
9750
--------------------------------------------------------
9751
 
5172 dpurdie 9752
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_PLANNED" IS
1373 dpurdie 9753
/*
9754
------------------------------
9755
||  Last Modified:  G.Huddy
9756
||  Modified Date:  28/May/2008
9757
||  Spec Version:   1.1
9758
------------------------------
9759
*/
9760
 
9761
	TYPE typeCur IS REF CURSOR;
9762
 
9763
    /*================================================================================================*/
5384 dpurdie 9764
	PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, OPR IN CHAR DEFAULT 'R'  );
1373 dpurdie 9765
	PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9766
	FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER;
9767
	PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur );
9768
	PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER );
9769
	PROCEDURE MERGE_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, mergeOperation IN CHAR);
9770
	/*================================================================================================*/
9771
 
9772
END PK_PLANNED;
4040 dpurdie 9773
 
6999 dpurdie 9774
/
4040 dpurdie 9775
--------------------------------------------------------
9776
--  DDL for Package PK_PROJECT
9777
--------------------------------------------------------
9778
 
5172 dpurdie 9779
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_PROJECT" IS
1373 dpurdie 9780
 
3959 dpurdie 9781
    TYPE typecur IS REF CURSOR;
1373 dpurdie 9782
 
3959 dpurdie 9783
    /*------------------------------------------------------------------------*/
9784
    PROCEDURE update_base_url (
9785
        nprojid   IN  projects.proj_id%TYPE,
9786
        sbaseurl  IN  VARCHAR2
9787
    );
9788
    /*------------------------------------------------------------------------*/
9789
    PROCEDURE update_project_config (
9790
    nprojid   IN  projects.proj_id%TYPE,
9791
    sbaseurl  IN  VARCHAR2,
9792
    sjirakey  IN  VARCHAR2
9793
    );
9794
    /*------------------------------------------------------------------------*/
1373 dpurdie 9795
 
3959 dpurdie 9796
    END pk_project;
4040 dpurdie 9797
 
6999 dpurdie 9798
/
4040 dpurdie 9799
--------------------------------------------------------
9800
--  DDL for Package PK_RELEASE
9801
--------------------------------------------------------
9802
 
5172 dpurdie 9803
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_RELEASE" IS
1373 dpurdie 9804
/*
9805
------------------------------
9806
||  Last Modified:  S.Vukovic
9807
||  Modified Date:  12/Sep/2005
9808
||  Body Version:   3.0
9809
------------------------------
9810
*/
9811
 
9812
	TYPE typeCur IS REF CURSOR;
9813
 
9814
    /*================================================================================================*/
5502 dpurdie 9815
	PROCEDURE New_Release ( sReleaseName IN VARCHAR2, sReleaseComments IN VARCHAR2, nProjId IN NUMBER, nSourceRtagId IN NUMBER, sIsBranched IN CHAR, nUserId IN NUMBER,cOfficial IN CHAR DEFAULT 'N' );
5384 dpurdie 9816
	PROCEDURE Update_Release ( nRtagId IN NUMBER, sReleaseName IN VARCHAR2, sReleaseComments IN VARCHAR2, nParentRtagId IN NUMBER, nMASSRtagId IN NUMBER, nConfigSpecBranch IN VARCHAR2, sOwnerEmail IN VARCHAR2, nUserId IN NUMBER, cState IN VARCHAR, nBuildAge in NUMBER,cLxr in CHAR );
1373 dpurdie 9817
	PROCEDURE MOVE_RELEASE ( sRtagIdList IN VARCHAR2, nProjId IN NUMBER, nUserId IN NUMBER  );
9818
	PROCEDURE Destroy_Release ( nRtagId IN NUMBER, nUserId IN NUMBER );
5502 dpurdie 9819
	PROCEDURE Import_Release_Contents ( nSourceRtagId IN NUMBER, nTargetRtagId IN NUMBER, nUserId IN NUMBER,nMode IN NUMBER default 0 );
1373 dpurdie 9820
	PROCEDURE Clean_Release_Contents ( nRtagId IN NUMBER, nUserId IN NUMBER );
9821
	FUNCTION GET_PARENT_RTAG ( nRtagId IN NUMBER, nSourceRtagId IN NUMBER, cIsBranch IN CHAR ) RETURN NUMBER;
9822
	PROCEDURE UPDATE_DISPLAY_ORDER ( nProjId IN NUMBER );
5502 dpurdie 9823
	PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur );
1373 dpurdie 9824
	PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9825
	--PROCEDURE ADD_DEPRECATE_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, nPkgId IN NUMBER );
9826
	PROCEDURE REPLACE_PACKAGE ( newPvId IN NUMBER, oldPvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9827
	PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9828
	PROCEDURE REMOVE_MATCHING_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9829
	FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER;
9830
	PROCEDURE RUN_POST_ACTIONS ( PvId IN NUMBER, RtagId IN NUMBER );
9831
	PROCEDURE RUN_POST_ACTIONS_BULK ( PvId IN NUMBER );
9832
	PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER );
9833
	PROCEDURE ADD_RELEASE_REFERENCE ( nRtagId IN NUMBER, nRefRtagId IN NUMBER, ProblemString OUT VARCHAR2 );
9834
	PROCEDURE REMOVE_RELEASE_REFERENCE ( nRtagId IN NUMBER, nRefRtagId IN NUMBER );
9835
	PROCEDURE CAN_USER_WRITE_TO_RELEASE ( RtagId IN NUMBER, PvId IN NUMBER, Permission IN CHAR );
5172 dpurdie 9836
  PROCEDURE SET_RELEASE_MODIFIED (nRtagId IN NUMBER );
9837
  PROCEDURE ADD_RELEASE_SDK ( nRtagId IN NUMBER, nSdktagId IN NUMBER, nUserId IN NUMBER, bDelete IN  NUMBER, nInsertCount OUT NUMBER, curReturn OUT typeCur );
9838
  PROCEDURE REMOVE_RELEASE_SDK ( nRtagId IN NUMBER, nSdktagId IN NUMBER );
9839
  FUNCTION CAN_ADD_PKG_TO_RELEASE ( nRtagId IN NUMBER, nPvid in NUMBER ) RETURN NUMBER;
5502 dpurdie 9840
 
1373 dpurdie 9841
	/*================================================================================================*/
5384 dpurdie 9842
 
1373 dpurdie 9843
END PK_RELEASE;
4040 dpurdie 9844
 
6999 dpurdie 9845
/
4040 dpurdie 9846
--------------------------------------------------------
9847
--  DDL for Package PK_RMAPI
9848
--------------------------------------------------------
9849
 
5172 dpurdie 9850
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_RMAPI" 
3959 dpurdie 9851
IS
9852
   TYPE typecur IS REF CURSOR;
1373 dpurdie 9853
 
3959 dpurdie 9854
   FUNCTION package_dependencies (pkgname VARCHAR2, pkgversion VARCHAR2)
9855
      RETURN typecur;
1373 dpurdie 9856
 
3959 dpurdie 9857
   FUNCTION wip_iteration_package (
9858
      projname        VARCHAR2,
9859
      iterationname   VARCHAR2,
9860
      pkgname         VARCHAR2
9861
   )
9862
      RETURN typecur;
1373 dpurdie 9863
 
3959 dpurdie 9864
   FUNCTION auto_make_vcsrelease (
9865
      rtagid                   IN   NUMBER,
9866
      pkgname                  IN   VARCHAR2,
9867
      vext                     IN   VARCHAR2,
9868
      newpkgversion            IN   VARCHAR2,
9869
      vcstag                   IN   VARCHAR2,
9870
      dependenciesimportlist   IN   VARCHAR2,
9871
      isrippled                IN   NUMBER,
9872
      username                 IN   VARCHAR2
9873
   )
9874
      RETURN NUMBER;
7340 dpurdie 9875
 
6600 dpurdie 9876
FUNCTION auto_make_vcsrelease2 (
9877
      rtagid                   IN   NUMBER,
9878
      pkgname                  IN   VARCHAR2,
9879
      vext                     IN   VARCHAR2,
9880
      newpkgversion            IN   VARCHAR2,
9881
      vcstag                   IN   VARCHAR2,
9882
      dependenciesimportlist   IN   relmgr_varchar2_tab_t,
9883
      isrippled                IN   NUMBER,
9884
      username                 IN   VARCHAR2
9885
   )      
9886
      RETURN NUMBER;
1373 dpurdie 9887
 
3959 dpurdie 9888
   PROCEDURE import_dependencies (
9889
      pvid                     IN   NUMBER,
9890
      dependenciesimportlist   IN   VARCHAR2,
9891
      userid                   IN   NUMBER
9892
   );
7340 dpurdie 9893
 
6600 dpurdie 9894
    PROCEDURE import_dependencies2 (
9895
    pvid                     IN   NUMBER,
7000 dpurdie 9896
    dependenciesimportlist   IN   relmgr_varchar2_tab_t,
6600 dpurdie 9897
    userid                   IN   NUMBER
9898
    );
1373 dpurdie 9899
 
3959 dpurdie 9900
   FUNCTION return_last_package_version (pkgname IN VARCHAR2, rtagid IN NUMBER)
9901
      RETURN VARCHAR2;
1373 dpurdie 9902
 
3959 dpurdie 9903
   FUNCTION return_wip (pkgname IN VARCHAR2, rtagid IN NUMBER)
9904
      RETURN VARCHAR2;
1373 dpurdie 9905
 
3959 dpurdie 9906
   PROCEDURE update_dash_board (rtagid IN NUMBER);
1373 dpurdie 9907
 
3959 dpurdie 9908
   FUNCTION exclude_from_build (
9909
      pvid          IN   NUMBER,
9910
      spkgversion   IN   VARCHAR2,
9911
      rtagid        IN   NUMBER,
9912
      username      IN   VARCHAR2
9913
   )
9914
      RETURN NUMBER;
1373 dpurdie 9915
 
3959 dpurdie 9916
   FUNCTION exclude_indirect_from_build (
9917
      pvid          IN   NUMBER,
9918
      spkgversion   IN   VARCHAR2,
9919
      rtagid        IN   NUMBER,
9920
      username      IN   VARCHAR2,
9921
      rootpvid      IN   NUMBER,
9922
      rootcause     IN   VARCHAR2,
9923
      rootfile      IN   VARCHAR2
9924
   )
9925
      RETURN NUMBER;
1373 dpurdie 9926
 
3959 dpurdie 9927
   PROCEDURE insert_abt_actionlog (rconid IN NUMBER, action IN VARCHAR2);
1373 dpurdie 9928
 
3959 dpurdie 9929
   FUNCTION insert_package_metrics (
9930
      rtagid IN NUMBER,
9931
      pkgname IN VARCHAR2,
9932
      vext IN VARCHAR2,
9933
      metricstring IN VARCHAR2
9934
   )
9935
      RETURN NUMBER;
1373 dpurdie 9936
 
3959 dpurdie 9937
   PROCEDURE update_release_metrics (rtagid IN NUMBER);
1373 dpurdie 9938
 
3959 dpurdie 9939
   FUNCTION return_vcs_tag(pvid IN NUMBER) RETURN VARCHAR2;
9940
 
9941
   PROCEDURE update_vcs_details(ipv_id IN NUMBER, vcstag IN VARCHAR2, user_id IN NUMBER);
6031 dpurdie 9942
 
3959 dpurdie 9943
   FUNCTION isSVN( pkgid IN NUMBER ) RETURN NUMBER;
6031 dpurdie 9944
 
3959 dpurdie 9945
   FUNCTION isSVNbyName( pkgname IN VARCHAR2 ) RETURN NUMBER;
9946
 
7340 dpurdie 9947
   FUNCTION new_build_instance( rtag_id IN NUMBER, pv_id IN NUMBER, reason IN CHAR, buildRef IN VARCHAR2 default null) return NUMBER;
6031 dpurdie 9948
 
5172 dpurdie 9949
   FUNCTION update_build_instance( nbuild_id IN NUMBER, npv_id IN NUMBER default null, nstate IN CHAR default null ) return NUMBER;
7340 dpurdie 9950
 
9951
   FUNCTION update_build_ref( nrtag_id IN NUMBER, buildRef IN VARCHAR2, buildRefNew IN VARCHAR2 default null ) return NUMBER;
6031 dpurdie 9952
 
5172 dpurdie 9953
   FUNCTION insert_test_run( build_id IN NUMBER, name IN VARCHAR2, outcome IN VARCHAR2, platform IN VARCHAR2, stype IN VARCHAR2, duration IN NUMBER default null, message IN CLOB default null) return NUMBER;
9954
 
9955
 
3959 dpurdie 9956
END pk_rmapi;
4040 dpurdie 9957
 
1374 dpurdie 9958
/
5892 dpurdie 9959
 
6031 dpurdie 9960
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_RMAPI" TO "RM_READONLY";
9961
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_RMAPI" TO "MS_READONLY";
6999 dpurdie 9962
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_RMAPI" TO "DM_READONLY";
4040 dpurdie 9963
--------------------------------------------------------
9964
--  DDL for Package PK_WORK_IN_PROGRESS
9965
--------------------------------------------------------
9966
 
5172 dpurdie 9967
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."PK_WORK_IN_PROGRESS" IS
1373 dpurdie 9968
/*
9969
------------------------------
9970
||  Last Modified:  S.Vukovic
3959 dpurdie 9971
||  Modified Date:  2/May/2005
9972
||  Spec Version:   1.0
1373 dpurdie 9973
------------------------------
9974
*/
9975
 
9976
	TYPE typeCur IS REF CURSOR;
9977
 
9978
    /*================================================================================================*/
9979
	PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
9980
	PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER );
3959 dpurdie 9981
	PROCEDURE REMOVE_PACKAGE_BULK ( PvIdList IN VARCHAR2, RtagId IN NUMBER, UserId IN NUMBER );
9982
 
1373 dpurdie 9983
	FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER;
6031 dpurdie 9984
	PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur );
1373 dpurdie 9985
	PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER );
9986
	/*================================================================================================*/
3959 dpurdie 9987
 
9988
END PK_WORK_IN_PROGRESS;
4040 dpurdie 9989
 
6999 dpurdie 9990
/
4040 dpurdie 9991
--------------------------------------------------------
9992
--  DDL for Package RM_ISSUES
9993
--------------------------------------------------------
9994
 
5172 dpurdie 9995
  CREATE OR REPLACE PACKAGE "RELEASE_MANAGER"."RM_ISSUES" AS
1373 dpurdie 9996
 
3959 dpurdie 9997
	TYPE T_Cur IS REF CURSOR;
1373 dpurdie 9998
 
3959 dpurdie 9999
	FUNCTION VerIsGrtrThanOrEqlToStart( XXstart IN NUMBER, XX IN NUMBER, YYstart IN NUMBER, YY IN NUMBER, ZZstart IN NUMBER, ZZ IN NUMBER ) RETURN NUMBER;
10000
	FUNCTION VersionIsBetween( version IN VARCHAR2, version_start IN VARCHAR2, version_end IN VARCHAR ) RETURN NUMBER;
10001
	FUNCTION VerIsLessThanOrEqlToEnd( XXend IN NUMBER, XX IN NUMBER, YYend IN NUMBER, YY IN NUMBER, ZZend IN NUMBER, ZZ IN NUMBER ) RETURN NUMBER;
10002
	FUNCTION GetPkgId( pkgName IN VARCHAR2 ) RETURN NUMBER;
1373 dpurdie 10003
 
3959 dpurdie 10004
	PROCEDURE AllIssues( vCursor OUT T_Cur, pkg_name IN VARCHAR2, version_start IN VARCHAR2, version_end IN VARCHAR2 );
10005
	PROCEDURE LoadIssuesTable( vCursor OUT T_Cur, pkg_name IN VARCHAR2, version_start IN VARCHAR2, version_end IN VARCHAR2 );
10006
	PROCEDURE InsertIssuesForDepends( pvID IN NUMBER, top_pkgID IN NUMBER, top_pkgName IN VARCHAR2, top_pvID IN NUMBER, top_pkgVer IN VARCHAR2 );
1373 dpurdie 10007
 
3959 dpurdie 10008
END Rm_Issues;
4040 dpurdie 10009
 
6999 dpurdie 10010
/
4040 dpurdie 10011
--------------------------------------------------------
10012
--  DDL for Package Body PK_APP_UTILS
10013
--------------------------------------------------------
10014
 
5172 dpurdie 10015
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_APP_UTILS" IS
1373 dpurdie 10016
 
3959 dpurdie 10017
/*
10018
------------------------------
10019
||  Last Modified:  S.Vukovic
10020
||  Modified Date:  26/Apr/2005
10021
||  Body Version:   1.0
10022
------------------------------
10023
*/
1373 dpurdie 10024
 
10025
 
10026
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 10027
PROCEDURE GET_CURRENT_PARAMETERS ( ProjId IN VARCHAR2, RtagId IN VARCHAR2, records OUT typeCur)   IS
1373 dpurdie 10028
 
10029
 
10030
BEGIN
10031
 
10032
 
3959 dpurdie 10033
	IF (NOT RtagId IS NULL) THEN
10034
		-- Case with RTAG_ID present
10035
		OPEN records FOR
10036
		SELECT rt.PROJ_ID,
10037
			   rt.RTAG_ID AS RTAG_ID
10038
		  FROM RELEASE_TAGS rt
10039
		 WHERE rt.RTAG_ID = TO_NUMBER(RtagId);
1373 dpurdie 10040
 
3959 dpurdie 10041
	ELSIF (NOT ProjId IS NULL) THEN
10042
		-- Case with PROJ_ID present
10043
		OPEN records FOR
10044
		SELECT TO_NUMBER(ProjId) AS PROJ_ID,
10045
			   -1 AS RTAG_ID
10046
		  FROM DUAL;
1373 dpurdie 10047
 
3959 dpurdie 10048
	ELSE
10049
		-- Case with none present
10050
		OPEN records FOR
10051
		SELECT -1 AS PROJ_ID,
10052
			   -1 AS RTAG_ID
10053
		  FROM DUAL;
1373 dpurdie 10054
 
3959 dpurdie 10055
	END IF;
1373 dpurdie 10056
 
10057
 
10058
 
10059
 
3959 dpurdie 10060
   	--RETURN records;
1373 dpurdie 10061
 
10062
END;
10063
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 10064
END PK_APP_UTILS;
4040 dpurdie 10065
 
1374 dpurdie 10066
/
4040 dpurdie 10067
 
6999 dpurdie 10068
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_APP_UTILS" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 10069
--------------------------------------------------------
6999 dpurdie 10070
--  DDL for Package Body PK_BLATAPI
10071
--------------------------------------------------------
10072
 
10073
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_BLATAPI" 
10074
IS
10075
/*-------------------------------------------------------------------------------------------------------*/
10076
   PROCEDURE add_pkg_replica (
10077
      sdisplay_name          IN   VARCHAR2,
10078
      sserver_name           IN   VARCHAR2,
10079
      sdescription           IN   VARCHAR2,
10080
      sactive                IN   CHAR,
10081
      smode                  IN   CHAR
10082
   )
10083
   IS
10084
      nrecordnumber   NUMBER;
10085
      nserver_id       NUMBER;
10086
   BEGIN
10087
 
10088
      INSERT INTO blat_servers(blat_display_name, blat_server_name,blat_description,blat_enable,blat_mode)
10089
            VALUES (sdisplay_name,sserver_name,sdescription, NVL(sactive,'N'), NVL(smode,'N'));
10090
 
10091
   EXCEPTION
10092
      WHEN DUP_VAL_ON_INDEX
10093
      THEN
10094
         raise_application_error (-20000,
10095
                                 'Cannot have duplicate machines.'
10096
                                 );
10097
   END;
10098
 
10099
/*-------------------------------------------------------------------------------------------------------*/
10100
   PROCEDURE delete_pkg_replica (sserver_id_list IN VARCHAR2)
10101
   IS
10102
   BEGIN
10103
      DELETE FROM blat_servers
10104
            WHERE blat_id IN (
10105
                     SELECT * FROM THE
10106
                              (SELECT CAST
10107
                                          (in_list_number (sserver_id_list) AS relmgr_number_tab_t
10108
                                          )
10109
                                 FROM DUAL
10110
                              ));
10111
   END;
10112
 
10113
 
10114
/*-------------------------------------------------------------------------------------------------------*/
10115
   PROCEDURE update_pkg_replica (
10116
      nserver_id             IN   NUMBER,
10117
      sdisplay_name          IN   VARCHAR2,
10118
      sserver_name           IN   VARCHAR2,
10119
      sdescription           IN   VARCHAR2,
10120
      sactive                IN   CHAR,
10121
      smode                  IN   CHAR
10122
   )
10123
   IS
10124
   BEGIN
10125
      UPDATE blat_servers
10126
         SET blat_display_name = sdisplay_name,
10127
             blat_server_name = sserver_name,
10128
             blat_description = sdescription,
10129
             blat_enable = NVL(sactive, 'N'),
10130
             blat_mode = NVL(smode, 'N')
10131
      WHERE blat_id = nserver_id;
10132
 
10133
   PK_BLATAPI.set_pkg_replica_changed(nserver_id);
10134
 
10135
   EXCEPTION
10136
      WHEN DUP_VAL_ON_INDEX
10137
      THEN
10138
         raise_application_error (-20000,
10139
                                 'Cannot have duplicate machines.'
10140
                                 );
10141
 
10142
 
10143
   END;
10144
 
10145
/*-------------------------------------------------------------------------------------------------------*/
10146
   PROCEDURE set_pkg_replica_changed( nserver_id IN   NUMBER)
10147
   IS
10148
   BEGIN
10149
    UPDATE blat_servers
10150
    SET blat_seqnum = SEQ_BLAT_MOD.NEXTVAL,
10151
        blat_timestamp = current_timestamp
10152
    WHERE blat_id = nserver_id;    
10153
   END;
10154
 
10155
END PK_BLATAPI;
10156
 
10157
/
10158
--------------------------------------------------------
4040 dpurdie 10159
--  DDL for Package Body PK_BUILDAPI
10160
--------------------------------------------------------
10161
 
5172 dpurdie 10162
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_BUILDAPI" 
1373 dpurdie 10163
IS
10164
   /*-------------------------------------------------------------------------------------------------------*/
10165
   PROCEDURE add_product_component (
10166
      npvid           IN   NUMBER,
10167
      sosname         IN   VARCHAR2,
10168
      sorigfilepath   IN   VARCHAR2,
10169
      sfilename       IN   VARCHAR2,
10170
      sdestfilepath   IN   VARCHAR2,
10171
      nbytesize       IN   NUMBER,
10172
      scrccksum       IN   VARCHAR2
10173
   )
10174
   IS
10175
      nosid   NUMBER;
10176
   BEGIN
10177
      /*--------------- Business Rules Here -------------------*/
10178
      -- OS Name Requirements --
10179
      IF (sosname IS NULL)
10180
      THEN
10181
         raise_application_error (-20000, 'OsName cannot be NULL.');
10182
      END IF;
10183
 
10184
      -- File Requirements --
10185
      IF (NOT sfilename IS NULL)
10186
      THEN
10187
         IF (nbytesize IS NULL)
10188
         THEN
10189
            raise_application_error (-20000, 'Byte Size cannot be NULL.');
10190
         ELSIF (scrccksum IS NULL)
10191
         THEN
10192
            raise_application_error (-20000, 'CRC CKSUM cannot be NULL.');
10193
         END IF;
10194
      END IF;
10195
 
10196
      -- Folder Requirements --
10197
      -- No requirements for now.
10198
 
10199
      /*-------------------------------------------------------*/
10200
 
10201
      -- Get OsId
10202
      nosid := get_osid (sosname);
10203
 
10204
      -- Insert component entry
10205
      INSERT INTO product_components
10206
                  (pv_id, os_id, file_path, file_name, destination_path,
10207
                  byte_size, crc_cksum
10208
                  )
10209
         VALUES (npvid, nosid, sorigfilepath, sfilename, sdestfilepath,
10210
                  nbytesize, scrccksum
10211
                  );
10212
   EXCEPTION
10213
      WHEN DUP_VAL_ON_INDEX
10214
      THEN
10215
         raise_application_error (-20000,
10216
                                 'Cannot have duplicate product components.'
10217
                                 );
10218
   END;
10219
 
10220
/*-------------------------------------------------------------------------------------------------------*/
10221
   PROCEDURE remove_all_product_components (
10222
      npvid     IN   NUMBER,
10223
      sosname   IN   VARCHAR2
10224
   )
10225
   IS
10226
      nosid   NUMBER;
10227
   BEGIN
10228
/*--------------- Business Rules Here -------------------*/
10229
/*-------------------------------------------------------*/
10230
 
10231
      -- Get OsId
10232
      nosid := get_osid (sosname);
10233
 
10234
      -- Delete component entry
10235
      DELETE FROM product_components pc
10236
            WHERE pc.pv_id = npvid AND pc.os_id = nosid;
10237
   END;
10238
 
10239
/*-------------------------------------------------------------------------------------------------------*/
10240
   FUNCTION get_osid (sosname IN VARCHAR2)
10241
      RETURN NUMBER
10242
   IS
10243
      code   NUMBER;
10244
   BEGIN
10245
      -- Get Platform Code --
10246
      SELECT pf.code
10247
      INTO code
10248
      FROM platforms pf
10249
      WHERE UPPER (pf.NAME) = UPPER (sosname);
10250
 
10251
      RETURN code;
10252
   EXCEPTION
10253
      WHEN NO_DATA_FOUND
10254
      THEN
10255
         raise_application_error
10256
            (-20000,
10257
               'Platform '
10258
            || sosname
10259
            || ' is not valid. It needs to be added to PLATFORMS table in Release Manager.'
10260
            );
10261
         RAISE;
10262
   END;
10263
 
10264
/*-------------------------------------------------------------------------------------------------------*/
4308 dpurdie 10265
 PROCEDURE update_build_service_info (
1373 dpurdie 10266
      sdatabaseserver   IN   VARCHAR2,
10267
      sarchiveserver    IN   VARCHAR2,
10268
      smailserver       IN   VARCHAR2,
10269
      smailsender       IN   VARCHAR2,
4211 dpurdie 10270
      faultmlist        IN   VARCHAR2,
1373 dpurdie 10271
      sdiskspace        IN   VARCHAR2,
6600 dpurdie 10272
      ssbommanagement   IN   VARCHAR2,
10273
      lxrserver         IN   VARCHAR2
1373 dpurdie 10274
   )
10275
   IS
10276
   BEGIN
10277
      UPDATE build_service_config
10278
         SET config = sdatabaseserver
10279
      WHERE service = 'DATABASE SERVER';
10280
 
10281
      UPDATE build_service_config
10282
         SET config = sarchiveserver
10283
      WHERE service = 'ARCHIVE SERVER';
10284
 
10285
      UPDATE build_service_config
10286
         SET config = smailserver
10287
      WHERE service = 'MAIL SERVER';
10288
 
10289
      UPDATE build_service_config
10290
         SET config = smailsender
10291
      WHERE service = 'BUILD FAILURE MAIL SENDER';
10292
 
10293
      UPDATE build_service_config
4211 dpurdie 10294
         SET config = faultmlist
10295
      WHERE service = 'FAULT EMAIL ADDRESS LIST';
6031 dpurdie 10296
 
4211 dpurdie 10297
      UPDATE build_service_config
1373 dpurdie 10298
         SET config = sdiskspace
10299
      WHERE service = 'DPKG_ARCHIVE DISK SPACE USED';
10300
 
10301
      UPDATE build_service_config
10302
         SET config = ssbommanagement
10303
      WHERE service = 'SBOM MANAGEMENT';
7340 dpurdie 10304
 
6600 dpurdie 10305
      UPDATE build_service_config
10306
         SET config = lxrserver
10307
      WHERE service = 'LXR SERVER';
1373 dpurdie 10308
   END;
10309
 
10310
 
6031 dpurdie 10311
 
1373 dpurdie 10312
/*-------------------------------------------------------------------------------------------------------*/
4040 dpurdie 10313
   PROCEDURE add_gbe_machtype (sgbevalue IN VARCHAR2, sgbeclass IN NUMBER)
1373 dpurdie 10314
   IS
10315
      gbe_id   NUMBER;
10316
   BEGIN
10317
      -- Get GBE_ID
10318
      SELECT seq_gbe_id.NEXTVAL
10319
      INTO gbe_id
10320
      FROM DUAL;
10321
 
10322
      INSERT INTO gbe_machtype
4040 dpurdie 10323
                  (gbe_id, gbe_value, bm_id )
10324
         VALUES (gbe_id, sgbevalue, sgbeclass );
1373 dpurdie 10325
   END;
10326
 
10327
/*-------------------------------------------------------------------------------------------------------*/
10328
   PROCEDURE remove_gbe_machtype (ngbe_id IN NUMBER)
10329
   IS
10330
   BEGIN
10331
      DELETE FROM gbe_machtype
10332
            WHERE gbe_id = ngbe_id;
10333
   END;
10334
 
10335
/*-------------------------------------------------------------------------------------------------------*/
4040 dpurdie 10336
   PROCEDURE update_gbe_machtype (ngbe_id IN NUMBER, sgbevalue IN VARCHAR2, sgbeclass IN NUMBER)
1373 dpurdie 10337
   IS
10338
   BEGIN
10339
      UPDATE gbe_machtype
4040 dpurdie 10340
         SET gbe_value = sgbevalue,
10341
             bm_id = sgbeclass
1373 dpurdie 10342
      WHERE gbe_id = ngbe_id;
10343
   END;
10344
 
10345
/*-------------------------------------------------------------------------------------------------------*/
4040 dpurdie 10346
PROCEDURE add_buildmachine (sbmvalue IN VARCHAR2)
10347
   IS
10348
      bm_id   NUMBER;
10349
   BEGIN
10350
      -- Get BM_ID
10351
      SELECT seq_bm_id.NEXTVAL
10352
      INTO bm_id
10353
      FROM DUAL;
10354
 
10355
      INSERT INTO build_machines
10356
                  (bm_id, bm_name)
10357
         VALUES (bm_id, sbmvalue );
10358
   END;
10359
 
10360
/*-------------------------------------------------------------------------------------------------------*/
10361
   PROCEDURE remove_buildmachine (nbm_id IN NUMBER)
10362
   IS
10363
   BEGIN
10364
      DELETE FROM build_machines
10365
            WHERE bm_id = nbm_id;
10366
   END;
10367
 
10368
/*-------------------------------------------------------------------------------------------------------*/
6031 dpurdie 10369
   PROCEDURE update_buildmachine (nbm_id IN NUMBER, sbmvalue IN VARCHAR2)
4040 dpurdie 10370
   IS
10371
   BEGIN
10372
      UPDATE build_machines
10373
         SET bm_name = sbmvalue
10374
         WHERE bm_id = nbm_id;
10375
   END;
10376
 
10377
/*-------------------------------------------------------------------------------------------------------*/
1373 dpurdie 10378
   PROCEDURE delete_daemon (srconidlist IN VARCHAR2)
10379
   IS
10380
   BEGIN
10381
      -- Entries in the daemon_action_log, run_level and abt_action_log tables must be deleted first.
10382
      DELETE FROM daemon_action_log
10383
            WHERE rcon_id IN (
10384
                     SELECT *
10385
                     FROM THE
10386
                              (SELECT CAST
10387
                                          (in_list_number (srconidlist) AS relmgr_number_tab_t
10388
                                          )
10389
                                 FROM DUAL
10390
                              ));
10391
 
10392
      DELETE FROM run_level
10393
            WHERE rcon_id IN (
10394
                     SELECT *
10395
                     FROM THE
10396
                              (SELECT CAST
10397
                                          (in_list_number (srconidlist) AS relmgr_number_tab_t
10398
                                          )
10399
                                 FROM DUAL
10400
                              ));
10401
 
10402
      DELETE FROM abt_action_log
10403
            WHERE rcon_id IN (
10404
                     SELECT *
10405
                     FROM THE
10406
                              (SELECT CAST
10407
                                          (in_list_number (srconidlist) AS relmgr_number_tab_t
10408
                                          )
10409
                                 FROM DUAL
10410
                              ));
10411
 
10412
      -- Once entries in daemon_action_log, run_level and abt_action_log are removed, the daemon is deleted.
10413
      DELETE FROM release_config
10414
            WHERE rcon_id IN (
10415
                     SELECT *
10416
                     FROM THE
10417
                              (SELECT CAST
10418
                                          (in_list_number (srconidlist) AS relmgr_number_tab_t
10419
                                          )
10420
                                 FROM DUAL
10421
                              ));
10422
   END;
10423
 
10424
/*-------------------------------------------------------------------------------------------------------*/
4308 dpurdie 10425
   PROCEDURE remove_daemon (srconidlist IN VARCHAR2)
1373 dpurdie 10426
   IS
4308 dpurdie 10427
   oRconIdList RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
10428
 
1373 dpurdie 10429
   BEGIN
6031 dpurdie 10430
 
4308 dpurdie 10431
   oRconIdList := IN_LIST_NUMBER ( srconidlist );
10432
 
10433
      -- Break the linkage between the release_config and the build_machine_config
6031 dpurdie 10434
 
4308 dpurdie 10435
      -- Delete the linkage between the two tables.
10436
       UPDATE release_config
10437
         SET daemon_hostname = NULL,
6031 dpurdie 10438
             bmcon_id = NULL
4308 dpurdie 10439
      WHERE rcon_id IN ( SELECT * FROM TABLE ( CAST ( oRconIdList AS RELMGR_NUMBER_TAB_t ) ) );
1373 dpurdie 10440
   END;
10441
 
10442
/*-------------------------------------------------------------------------------------------------------*/
10443
   PROCEDURE insert_schedule_info (
10444
      dschedulepause     IN   DATE,
10445
      dscheduleresume    IN   DATE,
10446
      crepeat            IN   VARCHAR2,
10447
      cindefinitepause   IN   VARCHAR2
10448
   )
10449
   IS
10450
      nscheduledid   NUMBER;
10451
   BEGIN
10452
      -- Get Next Available Scheduled Id
10453
      SELECT seq_scheduled_id.NEXTVAL
10454
      INTO nscheduledid
10455
      FROM DUAL;
10456
 
10457
      INSERT INTO run_level_schedule
10458
         VALUES (nscheduledid, dschedulepause, dscheduleresume, crepeat,
10459
                  cindefinitepause);
10460
   END;
10461
 
10462
/*-------------------------------------------------------------------------------------------------------*/
10463
   PROCEDURE delete_schedule (nscheduleid IN NUMBER)
10464
   IS
10465
   BEGIN
10466
      DELETE FROM run_level_schedule
10467
            WHERE scheduled_id = nscheduleid;
10468
   END;
10469
 
10470
/*-------------------------------------------------------------------------------------------------------*/
10471
   PROCEDURE set_infinite_pause
10472
   IS
10473
      nscheduledid   NUMBER;
10474
   BEGIN
10475
      -- Get Next Available Scheduled Id
10476
      SELECT seq_scheduled_id.NEXTVAL
10477
      INTO nscheduledid
10478
      FROM DUAL;
10479
 
10480
      INSERT INTO run_level_schedule
5172 dpurdie 10481
         VALUES (nscheduledid, ora_sysdatetime, NULL, NULL, 'P');
1373 dpurdie 10482
   END;
6031 dpurdie 10483
 
5172 dpurdie 10484
/*-------------------------------------------------------------------------------------------------------*/
10485
   PROCEDURE set_finite_pause (duration IN NUMBER)
10486
   IS
10487
      nscheduledid   NUMBER;
10488
      currentDate    DATE := ora_sysdatetime;
10489
   BEGIN
6031 dpurdie 10490
 
5172 dpurdie 10491
      -- Get Next Available Scheduled Id
10492
      SELECT seq_scheduled_id.NEXTVAL
10493
      INTO nscheduledid
10494
      FROM DUAL;
1373 dpurdie 10495
 
5172 dpurdie 10496
      INSERT INTO run_level_schedule
10497
         VALUES (nscheduledid, currentDate, currentDate + duration/(24*60), 0, 'F');
6031 dpurdie 10498
      COMMIT;
10499
 
5172 dpurdie 10500
      -- Ensure that we have only ONE finite pause by deleting all old ones
10501
      -- Under race conditions the last one wins
6031 dpurdie 10502
      DELETE FROM run_level_schedule
5172 dpurdie 10503
        WHERE SCHEDULED_ID < nscheduledid
10504
        AND INDEFINITE_PAUSE = 'F';
6031 dpurdie 10505
   END;
5172 dpurdie 10506
 
1373 dpurdie 10507
/*-------------------------------------------------------------------------------------------------------*/
10508
   PROCEDURE set_resume
10509
   IS
10510
   BEGIN
10511
      DELETE FROM run_level_schedule
5172 dpurdie 10512
            WHERE indefinite_pause in ('F', 'P' );
1373 dpurdie 10513
   END;
10514
 
10515
/*-------------------------------------------------------------------------------------------------------*/
10516
   PROCEDURE delete_out_of_date_schedule
10517
   IS
10518
   BEGIN
10519
      DELETE FROM run_level_schedule
10520
            WHERE scheduled_resume < ora_sysdatetime AND repeat = 0;
10521
   END;
10522
 
10523
/*-------------------------------------------------------------------------------------------------------*/
10524
   PROCEDURE set_daemon_resume (nrconid IN NUMBER)
10525
   IS
10526
   BEGIN
10527
      UPDATE run_level
10528
         SET PAUSE = NULL
10529
      WHERE rcon_id = nrconid;
10530
   END;
10531
 
10532
/*-------------------------------------------------------------------------------------------------------*/
10533
   PROCEDURE set_daemon_pause (nrconid IN NUMBER)
10534
   IS
10535
   BEGIN
10536
      UPDATE run_level
10537
         SET PAUSE = 1
10538
      WHERE rcon_id = nrconid;
10539
   END;
10540
/*-------------------------------------------------------------------------------------------------------*/
10541
   PROCEDURE set_daemon_disable (nrconid NUMBER)
10542
   IS
10543
   BEGIN
10544
      UPDATE run_level
10545
         SET PAUSE = 2
10546
      WHERE rcon_id = nrconid;
10547
   END;
10548
 
10549
/*-------------------------------------------------------------------------------------------------------*/
10550
   PROCEDURE set_daemon_states (nrtagid NUMBER, nstate NUMBER)
10551
   IS
10552
   BEGIN
10553
     UPDATE run_level
10554
     SET pause = nstate
10555
     WHERE rcon_id IN
10556
     (SELECT rc.rcon_id FROM release_config rc WHERE rc.rtag_id = nrtagid);
10557
   END;
10558
 
10559
/*-------------------------------------------------------------------------------------------------------*/
10560
   -- inserts a new daemon instruction
10561
   -- This is for use by the Release Manager Website code.
10562
   --
10563
   PROCEDURE insert_daemon_inst
10564
   ( nOp_code IN NUMBER
10565
   , nRtag_id IN NUMBER
10566
   , nPv_id IN NUMBER
10567
   , nSchedDate IN DATE
10568
   , nRepeatSecs IN NUMBER
10569
   , nAddedDate IN DATE
10570
   , nUser_id IN NUMBER
10571
   ) IS
10572
      nInstId   NUMBER;
10573
   BEGIN
10574
      -- Get Next Available Scheduled Id
10575
      SELECT seq_daemon_instruction_id.NEXTVAL
10576
      INTO nInstId
10577
      FROM DUAL;
10578
 
10579
      INSERT INTO Daemon_Instructions
10580
         VALUES (nInstId, nOp_code, nRtag_id,
10581
                  nPv_id, nSchedDate, nRepeatSecs,
10582
                  nAddedDate, nUser_id, '0');
6031 dpurdie 10583
 
10584
   -- Mark the Release as modified for build purposes
10585
   PK_RELEASE.SET_RELEASE_MODIFIED(nRtag_id);
10586
 
1373 dpurdie 10587
   EXCEPTION
10588
      WHEN DUP_VAL_ON_INDEX
10589
      THEN
10590
         raise_application_error (-20000,
10591
                                 'Table already contains a record with the specified OPERATION, RELEASE, and PACKAGE VERSION'
10592
                                 );
10593
      WHEN OTHERS
10594
      THEN
10595
         raise;
5172 dpurdie 10596
 
1373 dpurdie 10597
   END insert_daemon_inst;
10598
 
10599
/*-------------------------------------------------------------------------------------------------------*/
10600
   -- Deletes a daemon instruction matching the specified instruction ID
10601
   --
10602
   PROCEDURE del_daemon_inst
10603
   ( nInstId IN NUMBER
10604
   ) IS
10605
 
10606
   BEGIN
10607
      DELETE FROM Daemon_Instructions
10608
      WHERE DAEMON_INSTRUCTIONS_ID = nInstId;
10609
 
10610
   END del_daemon_inst;
10611
 
10612
/*-------------------------------------------------------------------------------------------------------*/
10613
   -- Deletes a daemon instruction matching the specified op-code, ratag, and pv_id
10614
   --
10615
   PROCEDURE del_daemon_inst_by_rtag_pvid(
10616
      nOp_code IN NUMBER,
10617
      nRtag_id IN NUMBER,
10618
      nPv_id IN NUMBER
10619
   ) IS
10620
   BEGIN
10621
      DELETE FROM Daemon_Instructions
10622
      WHERE OP_CODE = nOp_code
10623
      AND RTAG_ID = nRtag_id
10624
      AND PV_ID   = nPv_id;
10625
 
10626
   END del_daemon_inst_by_rtag_pvid;
10627
 
10628
/*-------------------------------------------------------------------------------------------------------*/
10629
   -- Updates a daemon instruction
10630
   -- This is for use by the Release Manager Website code.
10631
   --
10632
   PROCEDURE update_daemon_inst
10633
   ( nInstId IN NUMBER
10634
   , nOp_code IN NUMBER
10635
   , nRtag_id IN NUMBER
10636
   , nPv_id IN NUMBER
10637
   , nSchedDate IN DATE
10638
   , nRepeatSecs IN NUMBER
10639
   , nAddedDate IN DATE
10640
   , nUser_id IN NUMBER
10641
   ) IS
10642
      CURSOR daemon_inst_cur IS
10643
         SELECT *
10644
         FROM daemon_instructions di
10645
         WHERE di.DAEMON_INSTRUCTIONS_ID = nInstId;
10646
 
10647
      daemon_inst_rec   daemon_inst_cur%ROWTYPE;
10648
 
10649
      exc_inst_removed EXCEPTION;
10650
   BEGIN
10651
      OPEN daemon_inst_cur;
10652
 
10653
      FETCH daemon_inst_cur
10654
      INTO daemon_inst_rec;
10655
 
10656
      IF daemon_inst_cur%FOUND THEN
10657
 
10658
         UPDATE Daemon_Instructions
10659
         SET op_code = nOp_code,
10660
            rtag_id = nRtag_id,
10661
            pv_id   = nPv_id,
10662
            scheduled_datetime = nSchedDate,
10663
            repeat_secs = nRepeatSecs,
10664
            added_datetime = nAddedDate,
10665
            user_id = nUser_id,
10666
            in_progress = '0'
10667
         WHERE daemon_instructions_id = nInstId;
10668
      ELSE
10669
         raise exc_inst_removed;
10670
      END IF;
10671
 
10672
      CLOSE daemon_inst_cur;
6031 dpurdie 10673
 
10674
      -- Mark the Release as modified for build purposes
10675
      PK_RELEASE.SET_RELEASE_MODIFIED(nRtag_id);
10676
 
1373 dpurdie 10677
   EXCEPTION
10678
      WHEN DUP_VAL_ON_INDEX
10679
      THEN
10680
         raise_application_error (-20000,
10681
                                 'Table already contains a record with the specified OPERATION, RELEASE, and PACKAGE VERSION'
10682
                                 );
10683
      WHEN exc_inst_removed
10684
      THEN
10685
         raise_application_error (-20000,
10686
                                 'Record was probably deleted by the Buildtool during your edit-form session. Please create a new Daemon Instruction.'
10687
                                 );
10688
      WHEN OTHERS
10689
      THEN
10690
         raise;
5172 dpurdie 10691
 
1373 dpurdie 10692
   END update_daemon_inst;
10693
 
10694
/*-------------------------------------------------------------------------------------------------------*/
10695
   -- Returns a comma-separated list of operation codes found for a given rtag and pv_id combination
10696
   -- This is for use by the Release Manager Website code.
10697
   --
10698
   FUNCTION daemon_ops_for_rtag_pvid(
10699
      nRtag_id IN NUMBER,
10700
      nPv_id IN NUMBER
10701
   ) RETURN VARCHAR2
10702
   IS
10703
      CURSOR daemon_inst_cur IS
10704
         SELECT di.OP_CODE
10705
         FROM daemon_instructions di
10706
         WHERE di.RTAG_ID = nRtag_id
10707
            AND di.PV_ID = nPv_id;
10708
 
10709
      daemon_inst_rec   daemon_inst_cur%ROWTYPE;
10710
 
10711
      sRetList VARCHAR2(4000) := '';
10712
 
10713
   BEGIN
10714
      OPEN daemon_inst_cur;
10715
 
10716
      FETCH daemon_inst_cur
10717
      INTO daemon_inst_rec;
10718
 
10719
      WHILE daemon_inst_cur%FOUND
10720
      LOOP
10721
         sRetList := sRetList || daemon_inst_rec.op_code || ',';
10722
 
10723
         FETCH daemon_inst_cur
10724
         INTO daemon_inst_rec;
10725
      END LOOP;
10726
 
10727
      CLOSE daemon_inst_cur;
10728
 
10729
      RETURN sRetList;
10730
   END daemon_ops_for_rtag_pvid;
10731
/*-------------------------------------------------------------------------------------------------------*/
10732
   -- Returns a comma-separated list of operation codes found for a given rtag
10733
   -- This is for use by the Release Manager Website code.
10734
   --
10735
   FUNCTION daemon_ops_for_rtag(
10736
      nRtag_id IN NUMBER
10737
   ) RETURN VARCHAR2
10738
   IS
10739
      CURSOR daemon_inst_cur IS
10740
         SELECT di.OP_CODE
10741
         FROM daemon_instructions di
10742
         WHERE di.RTAG_ID = nRtag_id;
10743
 
10744
      daemon_inst_rec   daemon_inst_cur%ROWTYPE;
10745
 
10746
      sRetList VARCHAR2(4000) := '';
10747
 
10748
   BEGIN
10749
      OPEN daemon_inst_cur;
10750
 
10751
      FETCH daemon_inst_cur
10752
      INTO daemon_inst_rec;
10753
 
10754
      WHILE daemon_inst_cur%FOUND
10755
      LOOP
10756
         sRetList := sRetList || daemon_inst_rec.op_code || ',';
10757
 
10758
         FETCH daemon_inst_cur
10759
         INTO daemon_inst_rec;
10760
      END LOOP;
10761
 
10762
      CLOSE daemon_inst_cur;
10763
 
10764
      RETURN sRetList;
10765
   END daemon_ops_for_rtag;
10766
/*-------------------------------------------------------------------------------------------------------*/
10767
   -- Gets a record from the daemon instruction table that can be carried out now and returns the fields
10768
   -- in the record a daemon will need
10769
   -- The Buildtool should use this to find a job to do for a particular release. It should then call
10770
   -- mark_daemon_inst_in_progress(inst_id) before carrying out the work, and then call
10771
   -- mark_daemon_inst_completed(inst_id) to signal its completion.
10772
   -- Can be called repeatedly to get a full list of all instructions for a release, by passing back in
10773
   -- the instruction ID obtained from the previous call (the 1st call should use 0)
10774
   -- Can be called repeatedly to get a full list of all instructions of a specific op-code value for a release,
10775
   -- by passing back in an op-code value of 0 or higher (use -1 if no op-code filtering is needed)
10776
   -- Returns 1 if a record was found, else 0.
10777
   --
7039 dpurdie 10778
   -- The default value of bExpired (True) will return instructions that have exceeded the scheduled time
10779
  --  A false value will reverse the operation and return instrcutions that have not yet expired
10780
   --
1373 dpurdie 10781
   FUNCTION get_daemon_inst(
10782
      nRtag_id IN NUMBER,
10783
      nInst_id IN OUT NUMBER,
10784
      nOp_code IN OUT NUMBER,
10785
      nPv_id OUT NUMBER,
10786
      nUser_id OUT NUMBER,
7039 dpurdie 10787
      nInProgress OUT NUMBER,
10788
      bExpired IN NUMBER
1373 dpurdie 10789
   ) RETURN NUMBER
10790
   IS
10791
      CURSOR daemon_inst_cur IS
10792
         SELECT di.daemon_instructions_id, di.op_code, di.pv_id ,di.user_id, di.in_progress
10793
           FROM daemon_instructions di
10794
          WHERE di.rtag_id = nRtag_id
10795
            AND di.daemon_instructions_id > nInst_id
7039 dpurdie 10796
            AND (( (bExpired != 0 ) AND (di.scheduled_datetime <= ora_sysdatetime)) OR ( (bExpired = 0) AND (di.scheduled_datetime > ora_sysdatetime) ))
1373 dpurdie 10797
            AND ((nOp_code = -1) OR (nOp_code = di.op_code))
10798
            AND rownum <= 1
10799
       ORDER BY di.daemon_instructions_id;
10800
 
10801
      daemon_inst_rec   daemon_inst_cur%ROWTYPE;
10802
   BEGIN
10803
      OPEN daemon_inst_cur;
10804
 
10805
      FETCH daemon_inst_cur
10806
      INTO daemon_inst_rec;
10807
 
10808
      -- If we found a record, return it.
10809
      IF daemon_inst_cur%FOUND THEN
10810
         nInst_id := daemon_inst_rec.daemon_instructions_id;
10811
         nOp_code := daemon_inst_rec.op_code;
10812
         nPv_id   := daemon_inst_rec.pv_id;
10813
         nUser_id := daemon_inst_rec.user_id;
10814
         IF daemon_inst_rec.in_progress = '1' THEN
10815
            nInProgress := 1;
10816
         ELSE
10817
            nInProgress := 0;
10818
         END IF;
10819
         CLOSE daemon_inst_cur;
10820
         RETURN 1;
10821
      END IF;
10822
 
10823
      CLOSE daemon_inst_cur;
10824
      RETURN 0;
10825
 
10826
   END get_daemon_inst;
10827
/*-------------------------------------------------------------------------------------------------------*/
10828
   -- Marks a daemon instruction as being processed by a daemon
10829
   -- The Buildtool should use this before it embarks on the work the instruction commands
10830
   --
10831
   PROCEDURE mark_daemon_inst_in_progress( nInstId IN NUMBER )
10832
   IS
10833
   BEGIN
10834
      UPDATE Daemon_Instructions
10835
      SET in_progress = '1'
10836
      WHERE daemon_instructions_id = nInstId;
10837
 
10838
   END mark_daemon_inst_in_progress;
10839
 
10840
/*-------------------------------------------------------------------------------------------------------*/
10841
   -- Once the Buildtool has finished carrying out the daemon instruction, it should call this stored
10842
   -- procedure in order to either delete the instruction or update it in the case where it is a repeating
10843
   -- instruction.
10844
   --
10845
   PROCEDURE mark_daemon_inst_completed( nInstId IN NUMBER )
10846
   IS
10847
      repSecs NUMBER;
10848
      schedDate  DATE;
10849
 
10850
      CURSOR daemon_inst_cur IS
10851
         SELECT di.REPEAT_SECS AS repSecs, di.SCHEDULED_DATETIME AS schedDate
10852
         FROM daemon_instructions di
10853
         WHERE di.daemon_instructions_id = nInstId;
10854
 
10855
      daemon_inst_rec   daemon_inst_cur%ROWTYPE;
10856
   BEGIN
10857
      OPEN daemon_inst_cur;
10858
 
10859
      FETCH daemon_inst_cur
10860
      INTO daemon_inst_rec;
10861
 
10862
      IF daemon_inst_cur%FOUND THEN
10863
 
10864
         -- if instruction repeats daily, add 1 day to the scheduled time and update the record
10865
         IF daemon_inst_rec.repSecs = 86400 THEN
10866
            UPDATE Daemon_Instructions
10867
               SET scheduled_datetime = daemon_inst_rec.schedDate + 1,
10868
                  in_progress = '0'
10869
            WHERE daemon_instructions_id = nInstId;
10870
         ELSE
10871
            -- Delete the daemon instruction, we are done with it
10872
            del_daemon_inst(nInstId);
10873
         END IF;
10874
      END IF;
10875
 
10876
      CLOSE daemon_inst_cur;
10877
 
10878
   EXCEPTION
10879
      WHEN OTHERS
10880
      THEN
10881
         raise;
10882
 
10883
   END mark_daemon_inst_completed;
10884
/*-------------------------------------------------------------------------------------------------------*/
10885
   -- This function deletes any old daemon instruction that appears stranded due to a problem that might
10886
   -- have occured during buildtool operation such as might occur if the buildtool or the machine it was
10887
   -- hosted on came down whilst it was processing a daemon instruction.
10888
   PROCEDURE cleanup_stranded_daemon_insts
10889
   IS
10890
   BEGIN
10891
      -- delete records at least two days old
10892
      DELETE FROM daemon_instructions di
10893
      WHERE  (di.scheduled_datetime + 5) <= ora_sysdatetime;
10894
 
10895
   END cleanup_stranded_daemon_insts;
10896
/*-------------------------------------------------------------------------------------------------------*/
10897
  --This function supersedes function, add_daemon. Done for DEVI-046806
10898
   PROCEDURE add_daemon_config (
10899
      nrtagid           IN   NUMBER,
10900
      nbmcon_id         IN   NUMBER,
10901
      sdaemon_mode      IN   VARCHAR2,
10902
      sgbebuildfilter   IN   VARCHAR2
10903
   )
10904
   IS
10905
      nrecordnumber   NUMBER;
10906
      nrconid         NUMBER;
10907
      sdaemonhostname VARCHAR2(50);
10908
      ngbeid         NUMBER;
10909
   BEGIN
10910
      -- Get RCON_ID
10911
      SELECT seq_rcon_id.NEXTVAL
10912
      INTO nrconid
10913
      FROM DUAL;
10914
 
10915
      SELECT COUNT (*)
10916
      INTO nrecordnumber
10917
      FROM release_config
10918
      WHERE rtag_id = nrtagid;
10919
 
10920
      SELECT machine_hostname,gbe_id INTO sdaemonhostname,ngbeid
10921
      FROM build_machine_config
10922
      WHERE bmcon_id = nbmcon_id;
10923
 
10924
      INSERT INTO release_config
10925
             (rcon_id, rtag_id, daemon_hostname, daemon_mode,
4308 dpurdie 10926
                gbe_id, gbe_buildfilter, bmcon_id)
1373 dpurdie 10927
      VALUES (nrconid, nrtagid, sdaemonhostname, sdaemon_mode,
4308 dpurdie 10928
                ngbeid, sgbebuildfilter, nbmcon_id);
1373 dpurdie 10929
 
10930
      -- A newly configured daemon should initially be paused (DEVI-047277)
10931
      INSERT INTO run_level
10932
                  (rcon_id, pause)
10933
           VALUES (nrconid, 2);
10934
 
10935
   END;
10936
 
10937
/*-------------------------------------------------------------------------------------------------------*/
10938
  --This function supersedes function, update_daemon. Done for DEVI-046806
10939
   PROCEDURE update_daemon_config (
10940
      nrconid           IN   NUMBER,
10941
      nbmcon_id         IN   NUMBER,
10942
      sdaemon_mode      IN   VARCHAR2,
10943
      sgbebuildfilter   IN   VARCHAR2
10944
   )
10945
   IS
10946
      sdaemonhostname VARCHAR2(50);
10947
      ngbeid         NUMBER;
10948
   BEGIN
10949
 
10950
      SELECT machine_hostname,gbe_id INTO sdaemonhostname,ngbeid
10951
      FROM build_machine_config
10952
      WHERE bmcon_id = nbmcon_id;
10953
 
10954
      UPDATE release_config
10955
         SET daemon_hostname = sdaemonhostname,
10956
            gbe_id = ngbeid,
10957
            daemon_mode = sdaemon_mode,
4308 dpurdie 10958
            gbe_buildfilter = sgbebuildfilter,
6031 dpurdie 10959
            bmcon_id = nbmcon_id
1373 dpurdie 10960
      WHERE rcon_id = nrconid;
10961
   END;
10962
 
10963
 
10964
/*-------------------------------------------------------------------------------------------------------*/
10965
   PROCEDURE add_build_machine (
10966
      sdisplay_name          IN   VARCHAR2,
10967
      smachine_hostname      IN   VARCHAR2,
10968
      ngbeid                 IN   NUMBER,
5172 dpurdie 10969
      sdescription           IN   VARCHAR2,
7340 dpurdie 10970
      sactive                IN   CHAR,
10971
      splatform_list         IN  VARCHAR2
1373 dpurdie 10972
   )
10973
   IS
10974
      nrecordnumber   NUMBER;
10975
      nbmcon_id       NUMBER;
7340 dpurdie 10976
      nsPlatformCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
10977
 
1373 dpurdie 10978
   BEGIN
7340 dpurdie 10979
      BEGIN
10980
          -- Get BMCON_ID
10981
          SELECT seq_bmcon_id.NEXTVAL INTO nbmcon_id FROM DUAL;
1373 dpurdie 10982
 
7340 dpurdie 10983
          INSERT INTO build_machine_config(bmcon_id, display_name, machine_hostname,gbe_id,description,active)
10984
                VALUES (nbmcon_id,sdisplay_name,smachine_hostname,ngbeid,sdescription, NVL(sactive,'N'));
1373 dpurdie 10985
 
7340 dpurdie 10986
       EXCEPTION
10987
          WHEN DUP_VAL_ON_INDEX
10988
          THEN
10989
             raise_application_error (-20000, 'Cannot have duplicate machines.' );
10990
       END;
1373 dpurdie 10991
 
7340 dpurdie 10992
    DELETE FROM build_platforms_config2
10993
    WHERE bmcon_id = nbmcon_id;
10994
 
10995
    nsPlatformCollector := in_list_number(splatform_list);
10996
    FOR i IN 1..nsPlatformCollector.count 
10997
    LOOP 
10998
        INSERT INTO build_platforms_config2 (bp_id,bmcon_id) VALUES (nsPlatformCollector(i), nbmcon_id);
10999
    END LOOP;
11000
 
1373 dpurdie 11001
   END;
11002
 
11003
/*-------------------------------------------------------------------------------------------------------*/
4308 dpurdie 11004
 PROCEDURE duplicate_daemon_config (
11005
      nrtagid           IN   NUMBER,
11006
      nbmcon_id         IN   NUMBER,
11007
      sdaemonhostname   IN   VARCHAR2,
11008
      ngbe_id           IN   NUMBER,
11009
      sdaemon_mode      IN   VARCHAR2,
11010
      sgbebuildfilter   IN   VARCHAR2
11011
   )
11012
   IS
11013
      nrecordnumber   NUMBER;
11014
      nrconid         NUMBER;
11015
    BEGIN
6031 dpurdie 11016
 
4308 dpurdie 11017
      -- Get RCON_ID
11018
      SELECT seq_rcon_id.NEXTVAL
11019
      INTO nrconid
11020
      FROM DUAL;
11021
 
11022
      INSERT INTO release_config
11023
             (rcon_id, rtag_id, daemon_hostname, daemon_mode,
11024
                gbe_id, gbe_buildfilter, bmcon_id)
11025
      VALUES (nrconid, nrtagid, sdaemonhostname, sdaemon_mode,
11026
                ngbe_id, sgbebuildfilter, nbmcon_id);
6031 dpurdie 11027
 
4308 dpurdie 11028
    -- A newly configured daemon should initially be disabled (DEVI-047277)
11029
      INSERT INTO run_level
11030
                  (rcon_id, pause)
11031
           VALUES (nrconid, 2);
11032
 
11033
   END;
11034
/*-------------------------------------------------------------------------------------------------------*/
1373 dpurdie 11035
   PROCEDURE delete_build_machine (sbmcon_id_list IN VARCHAR2)
11036
   IS
11037
   BEGIN
11038
      DELETE FROM build_machine_config
11039
            WHERE bmcon_id IN (
11040
                     SELECT * FROM THE
11041
                              (SELECT CAST
11042
                                          (in_list_number (sbmcon_id_list) AS relmgr_number_tab_t
11043
                                          )
11044
                                 FROM DUAL
11045
                              ));
11046
   END;
11047
 
11048
 
11049
/*-------------------------------------------------------------------------------------------------------*/
11050
   PROCEDURE update_build_machine (
11051
      nbmcon_id              IN   NUMBER,
11052
      sdisplay_name          IN   VARCHAR2,
11053
      smachine_hostname      IN   VARCHAR2,
11054
      ngbeid                 IN   NUMBER,
5172 dpurdie 11055
      sdescription           IN   VARCHAR2,
7340 dpurdie 11056
      sactive                IN   CHAR,
11057
      splatform_list         IN  VARCHAR2
1373 dpurdie 11058
   )
11059
   IS
7340 dpurdie 11060
   nsPlatformCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
11061
   BEGIN
11062
      BEGIN 
11063
          UPDATE build_machine_config
11064
             SET display_name = sdisplay_name,
11065
                 machine_hostname = smachine_hostname,
11066
                 gbe_id = ngbeid,
11067
                 description = sdescription,
11068
                 active = NVL(sactive, 'N')
11069
          WHERE bmcon_id = nbmcon_id;
11070
       EXCEPTION
11071
          WHEN DUP_VAL_ON_INDEX
11072
          THEN
11073
             raise_application_error (-20000,'Cannot have duplicate machines.' );
11074
        END;
11075
 
11076
    DELETE FROM build_platforms_config2
11077
    WHERE bmcon_id = nbmcon_id;
11078
 
11079
    nsPlatformCollector := in_list_number(splatform_list);
11080
    FOR i IN 1..nsPlatformCollector.count 
11081
    LOOP 
11082
        INSERT INTO build_platforms_config2 (bp_id,bmcon_id) VALUES (nsPlatformCollector(i), nbmcon_id);
11083
    END LOOP;
11084
 
1373 dpurdie 11085
   END;
6031 dpurdie 11086
 
4553 dpurdie 11087
/*-------------------------------------------------------------------------------------------------------*/
11088
PROCEDURE import_daemons ( nSourceRtagId IN NUMBER, nTargetRtagId IN NUMBER, nUserId IN NUMBER  ) IS
11089
 
11090
   sSourceLocation VARCHAR2(4000);
11091
   sTargetLocation VARCHAR2(4000);
11092
   ProjId NUMBER;
6999 dpurdie 11093
   nIsOpen NUMBER;
4553 dpurdie 11094
   RconId NUMBER;
6999 dpurdie 11095
   bHasDaemons BOOLEAN := FALSE;
4553 dpurdie 11096
 
6999 dpurdie 11097
 
4553 dpurdie 11098
   -- this cursor gets the source release daemon configurations, ensuring that the
11099
   -- first record will be the master daemon, and subsequent records will be the slaves.
11100
   CURSOR curSrcReleaseConfigs IS
11101
    SELECT daemon_hostname, gbe_id, gbe_buildfilter, bmcon_id, daemon_mode
11102
     FROM RELEASE_CONFIG rc
11103
    WHERE rc.RTAG_ID = nSourceRtagId
11104
    ORDER BY rc.daemon_mode;
11105
    recSrcReleaseConfigs curSrcReleaseConfigs%ROWTYPE;
11106
 
11107
    -- this cursor looks for target release daemons
11108
   CURSOR curTgtReleaseConfigs IS
11109
    SELECT rcon_id
11110
     FROM RELEASE_CONFIG rc
11111
    WHERE rc.RTAG_ID = nTargetRtagId;
11112
    recTgtReleaseConfigs curTgtReleaseConfigs%ROWTYPE;
11113
 
11114
BEGIN
11115
   /*--------------- Business Rules Here -------------------*/
11116
   IF (nSourceRtagId IS NULL) OR (nTargetRtagId IS NULL)
11117
   THEN
11118
      RAISE_APPLICATION_ERROR (-20000, 'Missing some parameters! nSourceRtagId= '|| nSourceRtagId ||', nTargetRtagId='|| nTargetRtagId );
11119
   END IF;
11120
 
11121
   IF (nSourceRtagId = nTargetRtagId) THEN
11122
      RAISE_APPLICATION_ERROR (-20000, 'Cannot import release contents from same release.' );
11123
   END IF;
11124
 
11125
   -- Check if Target release is in OPEN mode
6999 dpurdie 11126
  SELECT count(*)  INTO  nIsOpen
11127
    FROM RELEASE_TAGS rt
11128
    WHERE rt.RTAG_ID = nTargetRtagId
11129
    AND rt.OFFICIAL in ('N', 'R', 'C');
4553 dpurdie 11130
 
6999 dpurdie 11131
  IF (nIsOpen > 1) THEN
11132
    RAISE_APPLICATION_ERROR (-20000, 'Release must be in OPEN mode to import the daemons.' );
11133
  END IF;
4553 dpurdie 11134
 
6999 dpurdie 11135
   -- check that the target does not have daemons configured
4553 dpurdie 11136
   OPEN curTgtReleaseConfigs;
11137
   FETCH curtgtReleaseConfigs INTO recTgtReleaseConfigs;
6999 dpurdie 11138
   bHasDaemons := curTgtReleaseConfigs%FOUND;
4553 dpurdie 11139
   CLOSE curTgtReleaseConfigs;
7340 dpurdie 11140
 
6999 dpurdie 11141
  IF bHasDaemons THEN
11142
    RAISE_APPLICATION_ERROR (-20000, 'Release must not have daemons configured' );
11143
  END IF;
4553 dpurdie 11144
 
11145
   /*-------------------------------------------------------*/
11146
 
11147
   --Import Release Configuration Information
11148
   OPEN curSrcReleaseConfigs;
11149
   FETCH curSrcReleaseConfigs INTO recSrcReleaseConfigs;
11150
 
6999 dpurdie 11151
   WHILE curSrcReleaseConfigs%FOUND
4553 dpurdie 11152
   LOOP
11153
      -- add a daemon to the target release
6031 dpurdie 11154
      PK_BUILDAPI.duplicate_daemon_config( nTargetRtagId,
11155
                                     recSrcReleaseConfigs.bmcon_id,
11156
                                     recSrcReleaseConfigs.daemon_hostname,
11157
                                     recSrcReleaseConfigs.gbe_id,
4553 dpurdie 11158
                                     recSrcReleaseConfigs.daemon_mode ,
11159
                                     recSrcReleaseConfigs.gbe_buildfilter );
11160
 
11161
      FETCH curSrcReleaseConfigs INTO recSrcReleaseConfigs;
11162
   END LOOP;
11163
   CLOSE curSrcReleaseConfigs;
11164
 
6031 dpurdie 11165
 
4553 dpurdie 11166
   /* Log Project Action */
11167
   -- Get Source Location
11168
   SELECT pr.PROJ_NAME ||' > '|| rt.RTAG_NAME ||' ['|| rt.RTAG_VERSION ||'.'|| rt.RTAG_LIFE_CYCLE ||']'  INTO sSourceLocation
11169
     FROM RELEASE_TAGS rt,
11170
           PROJECTS pr
11171
    WHERE rt.PROJ_ID = pr.PROJ_ID
11172
      AND rt.RTAG_ID = nSourceRtagId;
11173
 
11174
   -- Get Target Location
11175
   SELECT pr.PROJ_NAME ||' > '|| rt.RTAG_NAME ||' ['|| rt.RTAG_VERSION ||'.'|| rt.RTAG_LIFE_CYCLE ||']'  INTO sTargetLocation
11176
     FROM RELEASE_TAGS rt,
11177
           PROJECTS pr
11178
    WHERE rt.PROJ_ID = pr.PROJ_ID
11179
      AND rt.RTAG_ID = nTargetRtagId;
11180
 
11181
   -- Get project id
11182
   SELECT rt.PROJ_ID  INTO  ProjId
11183
     FROM RELEASE_TAGS rt
11184
    WHERE rt.RTAG_ID = nTargetRtagId;
11185
 
11186
   Log_Project_Action ( ProjId, 'import_daemon_configuration', nUserId, 'SOURCE: '|| sSourceLocation ||'   TARGET: '|| sTargetLocation, nTargetRtagId );
11187
END;
11188
 
5892 dpurdie 11189
/*-------------------------------------------------------------------------------------------------------*/
11190
PROCEDURE set_build_plan (rtagId IN NUMBER, nStartIndex IN NUMBER, pvList IN VARCHAR2)
11191
   IS
11192
    nPvIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
11193
    SeqNum NUMBER;
6031 dpurdie 11194
 
5892 dpurdie 11195
   BEGIN
6031 dpurdie 11196
 
5892 dpurdie 11197
   -- Remove all the old entries, on first usage
11198
   IF nStartIndex = 0 then
11199
    DELETE BUILD_PLAN WHERE RTAG_ID = rtagId;
11200
    SeqNum := 0;
11201
   ELSE
11202
    SELECT COUNT(*) into SeqNum from BUILD_PLAN WHERE RTAG_ID = rtagId;
11203
   END IF;
6031 dpurdie 11204
 
5892 dpurdie 11205
   -- Set start sequence number
11206
   nPvIdCollector := IN_LIST_NUMBER ( pvList );
11207
 
11208
   FOR i IN 1..nPvIdCollector.COUNT
11209
   LOOP
11210
      -- Update build plan with order
11211
      INSERT INTO BUILD_PLAN (RTAG_ID, BUILD_ORDER, PV_ID) VALUES (rtagId, SeqNum, nPvIdCollector(i));
11212
      SeqNum := SeqNum + 1;
11213
 
11214
   END LOOP;
7340 dpurdie 11215
END;
11216
 
11217
/*-------------------------------------------------------------------------------------------------------*/
11218
   PROCEDURE delete_build_platform (bp_id_list IN VARCHAR2)
11219
   IS
11220
   BEGIN
11221
      DELETE FROM build_platforms
11222
            WHERE bp_id IN (
11223
                     SELECT * FROM THE
11224
                              (SELECT CAST
11225
                                          (in_list_number (bp_id_list) AS relmgr_number_tab_t
11226
                                          )
11227
                                 FROM DUAL
11228
                              ));
11229
   END;
11230
 
11231
/*-------------------------------------------------------------------------------------------------------*/
11232
   PROCEDURE add_build_platform (
11233
      sname                  IN VARCHAR2,
11234
      sdescription           IN VARCHAR2,
11235
      sactive                IN CHAR, 
11236
      sMachType_list         IN VARCHAR2
11237
   )
11238
    IS
11239
      nrecordnumber   NUMBER;
11240
      nbp_id          NUMBER;
11241
      nsMachTypeCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
11242
   BEGIN
11243
       BEGIN
11244
          -- Get BP_ID
11245
          SELECT seq_build_platforms.NEXTVAL INTO nbp_id FROM DUAL;
11246
 
11247
          INSERT INTO build_platforms (bp_id, bp_name, bp_description,bp_active)
11248
                VALUES (nbp_id,sname,sdescription, NVL(sactive,'N'));
11249
 
11250
       EXCEPTION
11251
          WHEN DUP_VAL_ON_INDEX
11252
          THEN
11253
             raise_application_error (-20000,
11254
                                     'Cannot have duplicate platform.'
11255
                                     );
11256
        END;
11257
 
11258
    DELETE FROM build_platforms_config
11259
    WHERE bp_id = nbp_id;
11260
 
11261
    nsmachtypecollector := in_list_number(smachtype_list);
11262
    FOR i IN 1..nsmachtypecollector.count 
11263
    LOOP 
11264
        INSERT INTO build_platforms_config (bp_id,gbe_id) VALUES (nbp_id,nsmachtypecollector(i));
11265
    END LOOP;
11266
 
11267
 
11268
   END;
11269
 
11270
/*-------------------------------------------------------------------------------------------------------*/
11271
   PROCEDURE update_build_platform (
11272
      nbp_id              IN   NUMBER,
11273
      sname               IN   VARCHAR2,
11274
      sdescription        IN   VARCHAR2,
11275
      sactive             IN   CHAR, 
11276
      sMachType_list      IN   VARCHAR2
11277
   )
11278
   IS
11279
   nsMachTypeCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
11280
BEGIN
11281
    BEGIN
11282
        UPDATE build_platforms
11283
        SET
11284
            bp_name = sname,
11285
            bp_description = sdescription,
11286
            bp_active = nvl(sactive, 'N')
11287
        WHERE
11288
            bp_id = nbp_id;
11289
 
11290
    EXCEPTION
11291
        WHEN dup_val_on_index THEN
11292
            raise_application_error(-20000, 'Cannot have duplicate platform.');
11293
    END;
11294
 
11295
    DELETE FROM build_platforms_config
11296
    WHERE bp_id = nbp_id;
11297
 
11298
    nsmachtypecollector := in_list_number(smachtype_list);
11299
    FOR i IN 1..nsmachtypecollector.count 
11300
    LOOP 
11301
        INSERT INTO build_platforms_config (bp_id,gbe_id) VALUES (nbp_id,nsmachtypecollector(i));
11302
    END LOOP;
11303
 
11304
END;
11305
 
11306
--  Insert or delete platforms into the BUILD_INSTANCE_PLATFORMS table
11307
--  nbuildid - BuildId to link with
11308
--  splatforms - CSV list of platforms, If NULL, then the entry will be deleted
11309
--  bClear - Clear all before adding more
11310
--  Returns a CVS list of platforms not known
11311
 
11312
FUNCTION insert_bi_platforms (
11313
    nbuildid IN NUMBER, splatforms IN VARCHAR2, bClear IN NUMBER
11314
) RETURN VARCHAR2 AS
11315
    idx NUMBER;
11316
    nbpid NUMBER;
11317
    citemcollection relmgr_varchar2_tab_t := relmgr_varchar2_tab_t();
11318
    omessage VARCHAR2(4000);
11319
BEGIN
11320
    IF bClear > 0 THEN
11321
        DELETE FROM build_instance_platforms
11322
        WHERE build_id = nbuildid;
11323
    END IF;
11324
 
11325
    IF splatforms IS NOT NULL THEN
11326
 
11327
        citemcollection := in_list_varchar2(splatforms, ',');
11328
        -- dbms_output.put_line(splatforms);
11329
        FOR idx IN 1..citemcollection.count LOOP
11330
            -- dbms_output.put_line(citemcollection(idx));
11331
         BEGIN
11332
            SELECT bp_id
11333
            INTO nbpid
11334
            FROM build_platforms
11335
            WHERE bp_name = citemcollection(idx);
11336
                INSERT INTO build_instance_platforms (
11337
                build_id, bp_id
11338
            ) VALUES (
11339
                nbuildid, nbpid
11340
            );
11341
 
11342
        EXCEPTION
11343
            WHEN no_data_found THEN
11344
                    -- dbms_output.put_line('No Data found' || citemcollection(idx));
11345
                omessage := omessage
11346
                            || ','
11347
                            || citemcollection(idx);
11348
            WHEN dup_val_on_index THEN
11349
                    -- dbms_output.put_line('DUPLICATE:' || citemcollection(idx));
11350
                NULL;
11351
        END;
11352
        END LOOP;
11353
 
11354
        omessage := substr(omessage, 2);
11355
        --dbms_output.put_line('NOT FOUND:' || omessage);
11356
    END IF;
11357
 
11358
    RETURN omessage;
11359
END;
11360
 
11361
--  Insert or delete platforms into the PACKAGE_VERSION_PLATFORMS table
11362
--  npvid - PvId to link with
11363
--  splatforms - CSV list of platforms, If NULL, then the entry will be deleted
11364
--  bClear - Clear all before adding more
11365
--  Returns a CVS list of platforms not known
11366
 
11367
FUNCTION insert_pv_platforms (
11368
    npvid IN NUMBER, splatforms IN VARCHAR2, bClear IN NUMBER
11369
) RETURN VARCHAR2 AS
11370
    idx NUMBER;
11371
    nbpid NUMBER;
11372
    citemcollection relmgr_varchar2_tab_t := relmgr_varchar2_tab_t();
11373
    omessage VARCHAR2(4000);
11374
BEGIN
11375
    IF bClear > 0 THEN
11376
        DELETE FROM package_version_platforms
11377
        WHERE pv_id = npvid;
11378
    END IF;
11379
 
11380
    IF splatforms IS NOT NULL THEN
11381
 
11382
        citemcollection := in_list_varchar2(splatforms, ',');
11383
        -- dbms_output.put_line(splatforms);
11384
        FOR idx IN 1..citemcollection.count LOOP
11385
            -- dbms_output.put_line(citemcollection(idx));
11386
         BEGIN
11387
            SELECT bp_id
11388
            INTO nbpid
11389
            FROM build_platforms
11390
            WHERE bp_name = citemcollection(idx);
11391
                INSERT INTO package_version_platforms (
11392
                pv_id, bp_id
11393
            ) VALUES (
11394
                npvid, nbpid
11395
            );
11396
 
11397
        EXCEPTION
11398
            WHEN no_data_found THEN
11399
                    -- dbms_output.put_line('No Data found' || citemcollection(idx));
11400
                omessage := omessage
11401
                            || ','
11402
                            || citemcollection(idx);
11403
            WHEN dup_val_on_index THEN
11404
                    -- dbms_output.put_line('DUPLICATE:' || citemcollection(idx));
11405
                NULL;
11406
        END;
11407
        END LOOP;
11408
 
11409
        omessage := substr(omessage, 2);
11410
        --dbms_output.put_line('NOT FOUND:' || omessage);
11411
    END IF;
11412
 
11413
    RETURN omessage;
5892 dpurdie 11414
END;
11415
 
1373 dpurdie 11416
END pk_buildapi;
4040 dpurdie 11417
 
6999 dpurdie 11418
/
4040 dpurdie 11419
--------------------------------------------------------
11420
--  DDL for Package Body PK_ENVIRONMENT
11421
--------------------------------------------------------
11422
 
5172 dpurdie 11423
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_ENVIRONMENT" 
1373 dpurdie 11424
IS
11425
 
11426
   /*-------------------------------------------------------------------------------------------------------*/
11427
   FUNCTION select_environment_area (cdlock IN package_versions.dlocked%TYPE)
11428
     RETURN NUMBER
11429
   IS
11430
   BEGIN
11431
      /*
11432
     || N - unlocked
11433
     || Y - release and locked
11434
     || P - penging approval
11435
     || A - approved package ready for auto-build
11436
     */
11437
     IF cdlock = 'N' OR cdlock = 'R'
11438
     THEN
11439
       -- WORK IN PROGRESS --
11440
       RETURN 0;
11441
     ELSIF cdlock = 'P' OR cdlock = 'A'
11442
     THEN
11443
       -- PENDING --
11444
       RETURN 1;
11445
     ELSIF cdlock = 'Y'
11446
     THEN
11447
       -- RELEASED --
11448
       RETURN 2;
11449
     ELSE
11450
       -- NOT FOUND --
11451
       raise_application_error
11452
                   (-20000,
11453
                      'Cannot decide where to place package. [cDlock='
11454
                    || cdlock
11455
                    || ']'
11456
                   );
11457
     END IF;
11458
   END;
11459
 
11460
/*-------------------------------------------------------------------------------------------------------*/
11461
   FUNCTION get_package_area (pvid IN NUMBER, rtagid IN NUMBER)
11462
     RETURN NUMBER
11463
   IS
11464
     envtab   NUMBER         := -1;
11465
 
11466
     CURSOR curarea
11467
     IS
11468
       SELECT 2 AS envtab
11469
         FROM release_content rc
11470
        WHERE rc.rtag_id = rtagid AND rc.pv_id = pvid
11471
       UNION
11472
       SELECT 0 AS envtab
11473
         FROM work_in_progress wip
11474
        WHERE wip.rtag_id = rtagid AND wip.pv_id = pvid
11475
       UNION
11476
       SELECT 1 AS envtab
11477
         FROM planned pl
11478
        WHERE pl.rtag_id = rtagid AND pl.pv_id = pvid;
11479
 
11480
     recarea   curarea%ROWTYPE;
11481
   BEGIN
11482
     OPEN curarea;
11483
 
11484
     FETCH curarea
11485
      INTO recarea;
11486
 
11487
     IF curarea%FOUND
11488
     THEN
11489
       envtab := recarea.envtab;
11490
     END IF;
11491
 
11492
     CLOSE curarea;
11493
 
11494
     RETURN envtab;
11495
   END;
11496
 
11497
/*-------------------------------------------------------------------------------------------------------*/
11498
   FUNCTION get_view_location (pvid IN NUMBER, rtagid IN NUMBER)
11499
     RETURN NUMBER
11500
   IS
11501
     ispatch   package_versions.dlocked%TYPE;
11502
     viewid   NUMBER                    := -1;
11503
 
11504
     CURSOR curview
11505
     IS
11506
       SELECT rc.base_view_id AS view_id
11507
         FROM release_content rc
11508
        WHERE rc.rtag_id = rtagid AND rc.pv_id = pvid
11509
       UNION
11510
       SELECT wip.view_id AS view_id
11511
         FROM work_in_progress wip
11512
        WHERE wip.rtag_id = rtagid AND wip.pv_id = pvid
11513
       UNION
11514
       SELECT pl.view_id AS view_id
11515
         FROM planned pl
11516
        WHERE pl.rtag_id = rtagid AND pl.pv_id = pvid;
11517
 
11518
     recview   curview%ROWTYPE;
11519
   BEGIN
11520
     -- Get dlock state
11521
     SELECT pv.is_patch
11522
      INTO ispatch
11523
      FROM package_versions pv
11524
      WHERE pv.pv_id = pvid;
11525
 
11526
     -- Decide which view id should package go under.
11527
     IF (ispatch != 'Y') OR (ispatch IS NULL)
11528
     THEN
11529
       -- Get VIEW ID of Package
11530
       OPEN curview;
11531
 
11532
       FETCH curview
11533
        INTO recview;
11534
 
11535
       IF curview%FOUND
11536
       THEN
11537
         viewid := recview.view_id;
11538
       ELSE
11539
         raise_application_error
11540
            (-20000,
11541
               'Cannot find view_id to proceed. [PvId='
11542
            || pvid
11543
            || ']. The current version may not exist in the release anymore.'
11544
            );
11545
       END IF;
11546
 
11547
       CLOSE curview;
11548
     ELSE
11549
       -- Get VIEW ID of Patch (view id of parent package)
11550
       SELECT rc.base_view_id
11551
         INTO viewid
11552
         FROM release_content rc, package_patches ppv
11553
        WHERE rc.rtag_id = rtagid
11554
         AND rc.pv_id = ppv.pv_id
11555
         AND ppv.patch_id = pvid;
11556
     END IF;
11557
 
11558
     RETURN viewid;
11559
   END;
11560
 
11561
/*-------------------------------------------------------------------------------------------------------*/
5384 dpurdie 11562
--  Add a package to the specified release
11563
--  Default imode: Will determine the tab ( WIP, PENDING, RELEASE ) to add the package
11564
--  Otherwise will Add the package to the PENDING set
11565
--
1373 dpurdie 11566
   PROCEDURE add_package (
11567
     pvid    IN   NUMBER,
5384 dpurdie 11568
     viewid  IN   NUMBER,
11569
     rtagid  IN   NUMBER,
11570
     userid  IN   NUMBER,
11571
     imode   IN   CHAR default NULL
1373 dpurdie 11572
   )
11573
   IS
11574
     dlocked   package_versions.dlocked%TYPE;
11575
     envtab   NUMBER;
5384 dpurdie 11576
     pendOpr CHAR := 'R';
1373 dpurdie 11577
   BEGIN
11578
     IF can_edit_pkg_in_project (pvid, rtagid) = 1
11579
     THEN
5384 dpurdie 11580
       IF iMode IS NULL THEN
11581
         -- Determine the tab to use based on the package lock state
11582
         -- Get dlock state
11583
         SELECT pv.dlocked
11584
           INTO dlocked
11585
           FROM package_versions pv
11586
          WHERE pv.pv_id = pvid;
6031 dpurdie 11587
 
5384 dpurdie 11588
         -- Get which area should go under
11589
         envtab := select_environment_area (dlocked);
11590
       ELSE
11591
        -- Assume that the package is to be added to Pending
11592
        envtab := 1;
11593
        pendOpr := 'A';
11594
       END IF;
6999 dpurdie 11595
       -- Log
11596
       --log_action (pvid, 'action', userid, 'Start of Package Add...');
1373 dpurdie 11597
 
5384 dpurdie 11598
       -- Add Package
1373 dpurdie 11599
       IF envtab = 0
11600
       THEN
11601
         -- WORK IN PROGRESS --
11602
         pk_work_in_progress.add_package (pvid, viewid, rtagid, userid);
11603
       ELSIF envtab = 1
11604
       THEN
11605
         -- PENDING --
5384 dpurdie 11606
         pk_planned.add_package (pvid, viewid, rtagid, userid, pendOpr);
1373 dpurdie 11607
       ELSIF envtab = 2
11608
       THEN
11609
         -- RELEASED --
11610
         -- NOTE: this package will be replaced with matching package
11611
         pk_release.add_package (pvid, viewid, rtagid, userid);
11612
         -- Now do post Release Actions
11613
         pk_release.run_post_actions (pvid, rtagid);
11614
       END IF;
6999 dpurdie 11615
 
11616
       -- Log
11617
       --log_action (pvid, 'action', userid, 'End of Package Add...');
1373 dpurdie 11618
     END IF;
11619
   END;
11620
 
11621
/*-------------------------------------------------------------------------------------------------------*/
11622
   PROCEDURE add_package_bulk (
11623
     pvidlist   IN   VARCHAR2,
11624
     viewid    IN   NUMBER,
11625
     rtagid    IN   NUMBER,
5384 dpurdie 11626
     userid    IN   NUMBER,
11627
     imode     IN   CHAR DEFAULT NULL
1373 dpurdie 11628
   )
11629
   IS
5384 dpurdie 11630
     nidcollector relmgr_number_tab_t         := relmgr_number_tab_t();
1373 dpurdie 11631
     dlocked      package_versions.dlocked%TYPE;
11632
     pvid         NUMBER;
11633
     envtab       NUMBER;
11634
   BEGIN
11635
     /*--------------- Business Rules Here -------------------*/
11636
     IF (pvidlist IS NULL)
11637
     THEN
11638
       raise_application_error (-20000,
11639
                          'Please select at least one package.'
11640
                         );
11641
     END IF;
11642
 
11643
/*-------------------------------------------------------*/
11644
     nidcollector := in_list_number (pvidlist);
11645
 
11646
     FOR i IN 1 .. nidcollector.COUNT
11647
     LOOP
11648
       pvid := nidcollector (i);
5384 dpurdie 11649
       add_package (pvid, viewid, rtagid, userid, imode);
1373 dpurdie 11650
     END LOOP;
11651
   END;
11652
 
11653
/*-------------------------------------------------------------------------------------------------------*/
11654
   PROCEDURE replace_package (
11655
     newpvid  IN   NUMBER,
11656
     oldpvid  IN   NUMBER,
11657
     rtagid   IN   NUMBER,
11658
     userid   IN   NUMBER
11659
   )
11660
   IS
11661
     dlocked      package_versions.dlocked%TYPE;
11662
     viewid       NUMBER;
11663
     envtab       NUMBER;
11664
     ROWCOUNT     NUMBER;
11665
     creleasemode CHAR (1);
11666
     npkgid       NUMBER;
11667
   BEGIN
11668
     /*--------------- Business Rules Here -------------------*/
11669
     -- Check if oldPvId exists. It could have been removed
11670
     SELECT COUNT (pv.pv_id)
11671
       INTO ROWCOUNT
11672
       FROM package_versions pv
11673
      WHERE pv.pv_id = oldpvid;
11674
 
11675
/*-------------------------------------------------------*/
11676
 
11677
     /* This procedure is usually used by "History" option in Release Manager */
11678
 
11679
     -- Get dlock state
11680
     SELECT pv.dlocked
11681
       INTO dlocked
11682
       FROM package_versions pv
11683
      WHERE pv.pv_id = newpvid;
11684
 
11685
     -- Get VIEW_ID ---
11686
     IF ROWCOUNT = 1
11687
     THEN
11688
       viewid := get_view_location (oldpvid, rtagid);
11689
     ELSE
11690
       -- Set ViewID to default
11691
       viewid := 7;
11692
     END IF;
11693
 
11694
     -- Get which area should go under
11695
     envtab := select_environment_area (dlocked);
6999 dpurdie 11696
     -- Log
11697
     --log_action (oldpvid, 'action', userid, 'Start of Package Replace...');
1373 dpurdie 11698
 
11699
     -- Replace package
11700
     IF envtab = 0
11701
     THEN
11702
       -- WORK IN PROGRESS --
11703
 
11704
       -- Delete old package
11705
       pk_work_in_progress.remove_package (oldpvid, rtagid, userid);
11706
 
11707
       -- Add new package
11708
       pk_work_in_progress.add_package (newpvid, viewid, rtagid, userid);
11709
     ELSIF envtab = 1
11710
     THEN
11711
       -- PENDING --
11712
 
11713
       -- Delete old package
11714
       pk_planned.remove_package (oldpvid, rtagid, userid);
11715
 
11716
       -- Add new package
11717
       pk_planned.add_package (newpvid, viewid, rtagid, userid);
11718
     ELSIF envtab = 2
11719
     THEN
11720
       -- RELEASED --
6031 dpurdie 11721
 
5172 dpurdie 11722
       -- Replace Package
11723
       pk_release.replace_package(newpvid, oldpvid, rtagid, userid);
6031 dpurdie 11724
 
1373 dpurdie 11725
       -- Now do post Release Actions
11726
       pk_release.run_post_actions (newpvid, rtagid);
11727
     END IF;
11728
 
6999 dpurdie 11729
     -- Log
11730
     --log_action (oldpvid, 'action', userid, 'End of Package Replace...');
1373 dpurdie 11731
   END;
11732
 
11733
/*-------------------------------------------------------------------------------------------------------*/
11734
   FUNCTION remove_package (
11735
     pvid        IN   NUMBER,
11736
     rtagid      IN   NUMBER,
11737
     userid      IN   NUMBER,
11738
     forceremove IN   CHAR
11739
   )
11740
     RETURN NUMBER
11741
   IS
11742
     envtab      NUMBER;
11743
     isused      BOOLEAN;
11744
     recordcount   NUMBER;
11745
   BEGIN
11746
/*--------------- Business Rules Here -------------------*/
11747
/*-------------------------------------------------------*/
11748
 
11749
     -- Find location of package
11750
     envtab := get_package_area (pvid, rtagid);
11751
 
11752
     -- Remove Package
11753
     IF envtab = 0
11754
     THEN
11755
       -- WORK IN PROGRESS --
11756
       -- Delete package
11757
       pk_work_in_progress.remove_package (pvid, rtagid, userid);
11758
 
11759
       RETURN 0;
11760
     ELSIF envtab = 1
11761
     THEN
11762
       -- PENDING --
11763
       -- Delete package
11764
       pk_planned.remove_package (pvid, rtagid, userid);
11765
 
11766
       RETURN 0;
11767
     ELSIF envtab = 2
11768
     THEN
11769
       -- RELEASED --
11770
 
11771
       -- Check if is used by other packages
11772
       isused := TRUE;
11773
 
11774
       IF forceremove = 'N'
11775
       THEN
6031 dpurdie 11776
          select count(dpv.PKG_ID) INTO recordcount from
5172 dpurdie 11777
          (SELECT  rc.pv_id
11778
          FROM RELEASE_CONTENT rc, PEGGED_VERSIONS peg
11779
            WHERE rc.rtag_id = rtagid
11780
            AND peg.RTAG_ID(+) = rc.RTAG_ID
11781
            AND peg.PV_ID(+) = rc.PV_ID
11782
            AND peg.rtag_id is null
11783
            AND rc.SDKTAG_ID is null
11784
            ) arc,
11785
          PACKAGE_DEPENDENCIES dep,
11786
          PACKAGE_VERSIONS pv,
11787
          PACKAGE_VERSIONS dpv,
11788
          PACKAGE_VERSIONS bpv
11789
          where dep.PV_ID = arc.pv_id
11790
          AND dep.pv_id = pv.pv_id
11791
          AND dep.dpv_id = dpv.PV_ID
11792
          AND dpv.PKG_ID = bpv.PKG_ID
11793
          AND NVL(dpv.V_EXT, '.NULL') = NVL(bpv.V_EXT, '.NULL')
11794
          AND bpv.pv_id = pvid;
1373 dpurdie 11795
 
11796
         IF recordcount > 0
11797
         THEN
11798
            RETURN 1;               -- Return 1 as package being used
11799
         ELSE
11800
            isused := FALSE;
11801
         END IF;
11802
       END IF;
11803
 
11804
       IF forceremove = 'Y' OR NOT isused
11805
       THEN
11806
         -- Delete old package
11807
         pk_release.remove_package (pvid, rtagid, userid);
11808
 
11809
         -- Delete old package's pegging info
11810
         DELETE FROM PEGGED_VERSIONS pegv WHERE pegv.RTAG_ID = rtagid AND pegv.PV_ID = pvid;
11811
 
11812
         -- Delete old package's advisory ripple info
11813
         DELETE FROM ADVISORY_RIPPLE avr WHERE avr.RTAG_ID = rtagid AND avr.PV_ID = pvid;
11814
 
11815
         -- Now do post Release Actions
11816
         pk_release.run_post_actions (pvid, rtagid);
11817
         RETURN 0;
11818
       END IF;
11819
     END IF;
11820
   END;
11821
 
11822
/*-------------------------------------------------------------------------------------------------------*/
11823
   -- DEVI-45275 added the return of the new "operation" column in the recordset.
7039 dpurdie 11824
PROCEDURE get_environment_items (
1373 dpurdie 11825
     viewtype         IN      NUMBER,
11826
     userid           IN      NUMBER,
11827
     rtagid           IN      NUMBER,
11828
     sviewidshowlist  IN      VARCHAR2,
11829
     ntruerecordcount OUT     NUMBER,
11830
     recordset        OUT     typecur
11831
   )
11832
   IS
11833
   BEGIN
11834
     -- Get true record count because views can give false count
11835
     SELECT COUNT (pl.pv_id)
11836
      INTO ntruerecordcount
11837
      FROM environment_view pl
11838
      WHERE pl.rtag_id = rtagid;
11839
 
11840
     IF viewtype = 1
11841
     THEN
11842
       /*--- GUEST VIEW ---*/
11843
       OPEN recordset FOR
11844
         SELECT   *
11845
            FROM (
11846
                 /* Base Views collapsed */
11847
                 SELECT DISTINCT vi.view_id, vi.view_name,
11848
                             TO_NUMBER (NULL) AS pkg_state,
11849
                             TO_NUMBER (NULL) AS deprecated_state,
11850
                             TO_NUMBER (NULL) AS pv_id,
11851
                             NULL AS pkg_name, NULL AS pkg_version,
11852
                             NULL AS dlocked, NULL AS pv_description,
11853
                             rel.operation
11854
                         FROM environment_view rel, views vi
11855
                        WHERE rel.view_id = vi.view_id
11856
                          AND rtag_id = rtagid
11857
                          AND rel.view_id NOT IN (
11858
                               SELECT *
11859
                                 FROM THE
11860
                                       (SELECT CAST
11861
                                               (in_list_number
11862
                                                  (sviewidshowlist
11863
                                                  ) AS relmgr_number_tab_t
11864
                                               )
11865
                                         FROM DUAL
11866
                                       ))
11867
                 UNION
11868
                 /* Base Views expanded */
11869
                 SELECT vi.view_id, vi.view_name,
11870
                      DECODE (rel.pkg_state,
11871
                            NULL, 0,
11872
                            rel.pkg_state
11873
                           ) AS pkg_state,
11874
                      rel.deprecated_state, pv.pv_id, pkg.pkg_name,
11875
                      pv.pkg_version, pv.dlocked, pv.pv_description,
11876
                      rel.operation
11877
                  FROM environment_view rel,
11878
                      PACKAGES pkg,
11879
                      package_versions pv,
11880
                      views vi
11881
                  WHERE pv.pkg_id = pkg.pkg_id
11882
                   AND rel.pv_id = pv.pv_id
11883
                   AND rel.view_id = vi.view_id
11884
                   AND rel.view_id IN (
11885
                        SELECT *
11886
                          FROM THE
11887
                                (SELECT CAST
11888
                                        (in_list_number
11889
                                               (sviewidshowlist) AS relmgr_number_tab_t
11890
                                        )
11891
                                  FROM DUAL
11892
                                ))
11893
                   AND rtag_id = rtagid) ord
11894
         ORDER BY UPPER (ord.view_name), UPPER (ord.pkg_name);
11895
     ELSIF viewtype = 2
11896
     THEN
11897
       /*--- PERSONAL VIEW ---*/
11898
       OPEN recordset FOR
11899
         SELECT   *
11900
            FROM (
11901
                 /* Base Views collapsed */
11902
                 SELECT DISTINCT vi.view_id, vi.view_name,
11903
                             TO_NUMBER (NULL) AS pkg_state,
11904
                             TO_NUMBER (NULL) AS deprecated_state,
11905
                             TO_NUMBER (NULL) AS pv_id,
11906
                             NULL AS pkg_name, NULL AS pkg_version,
11907
                             NULL AS dlocked, NULL AS pv_description,
11908
                             rel.operation
11909
                         FROM environment_view rel,
11910
                             view_settings vs,
11911
                             views vi
11912
                        WHERE rel.view_id = vi.view_id
11913
                          AND vs.view_id = rel.view_id
11914
                          AND vs.user_id = userid
11915
                          AND rtag_id = rtagid
11916
                          AND rel.view_id NOT IN (
11917
                               SELECT *
11918
                                 FROM THE
11919
                                       (SELECT CAST
11920
                                               (in_list_number
11921
                                                  (sviewidshowlist
11922
                                                  ) AS relmgr_number_tab_t
11923
                                               )
11924
                                         FROM DUAL
11925
                                       ))
11926
                 UNION
11927
                 /* Base Views expanded */
11928
                 SELECT vi.view_id, vi.view_name,
11929
                      DECODE (rel.pkg_state,
11930
                            NULL, 0,
11931
                            rel.pkg_state
11932
                           ) AS pkg_state,
11933
                      rel.deprecated_state, pv.pv_id, pkg.pkg_name,
11934
                      pv.pkg_version, pv.dlocked, pv.pv_description,
11935
                      rel.operation
11936
                  FROM environment_view rel,
11937
                      PACKAGES pkg,
11938
                      package_versions pv,
11939
                      views vi,
11940
                      view_settings vs
11941
                  WHERE pv.pkg_id = pkg.pkg_id
11942
                   AND rel.pv_id = pv.pv_id
11943
                   AND rel.view_id = vi.view_id
11944
                   AND vs.view_id = vi.view_id
11945
                   AND vs.user_id = userid
11946
                   AND rel.view_id IN (
11947
                        SELECT *
11948
                          FROM THE
11949
                                (SELECT CAST
11950
                                        (in_list_number
11951
                                               (sviewidshowlist) AS relmgr_number_tab_t
11952
                                        )
11953
                                  FROM DUAL
11954
                                ))
11955
                   AND rtag_id = rtagid
11956
                 UNION
11957
                 /* Private Views collapsed */
11958
                 SELECT vi.view_id, vi.view_name,
11959
                      TO_NUMBER (NULL) AS pkg_state,
11960
                      TO_NUMBER (NULL) AS deprecated_state,
11961
                      TO_NUMBER (NULL) AS pv_id, NULL AS pkg_name,
11962
                      NULL AS pkg_version, NULL AS dlocked,
11963
                      NULL AS pv_description,
11964
                      rel.operation
11965
                  FROM view_settings vs,
11966
                      view_def vd,
11967
                      views vi,
11968
                      environment_view rel,
11969
                      package_versions pv
11970
                  WHERE vs.view_id = vi.view_id
11971
                   AND rel.pv_id = pv.pv_id
11972
                   AND vd.pkg_id = pv.pkg_id
11973
                   AND vd.view_id = vi.view_id
11974
                   AND vi.base_view = 'N'
11975
                   AND rel.rtag_id = rtagid
11976
                   AND vs.user_id = userid
11977
                   AND vi.view_id NOT IN (
11978
                        SELECT *
11979
                          FROM THE
11980
                                (SELECT CAST
11981
                                        (in_list_number
11982
                                               (sviewidshowlist) AS relmgr_number_tab_t
11983
                                        )
11984
                                  FROM DUAL
11985
                                ))
11986
                 UNION
11987
                 /* Private Views expanded */
11988
                 SELECT vi.view_id, vi.view_name,
11989
                      DECODE (rel.pkg_state,
11990
                            NULL, 0,
11991
                            rel.pkg_state
11992
                           ) AS pkg_state,
11993
                      rel.deprecated_state, pv.pv_id, pkg.pkg_name,
11994
                      pv.pkg_version, pv.dlocked, pv.pv_description,
11995
                      rel.operation
11996
                  FROM users usr,
11997
                      view_settings vs,
11998
                      view_def vd,
11999
                      views vi,
12000
                      environment_view rel,
12001
                      PACKAGES pkg,
12002
                      package_versions pv
12003
                  WHERE vs.user_id = usr.user_id
12004
                   AND vs.view_id = vi.view_id
12005
                   AND vd.view_id = vi.view_id
12006
                   AND pv.pkg_id = pkg.pkg_id
12007
                   AND rel.pv_id = pv.pv_id
12008
                   AND rel.rtag_id = rtagid
12009
                   AND vd.pkg_id = pkg.pkg_id
12010
                   AND vi.base_view = 'N'
12011
                   AND vi.view_id IN (
12012
                        SELECT *
12013
                          FROM THE
12014
                                (SELECT CAST
12015
                                        (in_list_number
12016
                                               (sviewidshowlist) AS relmgr_number_tab_t
12017
                                        )
12018
                                  FROM DUAL
12019
                                ))
12020
                   AND usr.user_id = userid) ord
12021
         ORDER BY UPPER (ord.view_name), UPPER (ord.pkg_name);
12022
     END IF;
12023
   END;
12024
 
12025
/*-------------------------------------------------------------------------------------------------------*/
7039 dpurdie 12026
  PROCEDURE get_released_items (
1373 dpurdie 12027
     viewtype         IN      NUMBER,
12028
     userid           IN      NUMBER,
12029
     rtagid           IN      NUMBER,
12030
     sviewidshowlist  IN      VARCHAR2,
12031
     ntruerecordcount OUT     NUMBER,
12032
     recordset        OUT     typecur
12033
   )
12034
   IS
12035
   BEGIN
12036
     -- Get true record count because views can give false count
7039 dpurdie 12037
     SELECT COUNT (pl.pv_id)
1373 dpurdie 12038
      INTO ntruerecordcount
7039 dpurdie 12039
      FROM environment_view pl
12040
      WHERE pl.rtag_id = rtagid;
1373 dpurdie 12041
 
12042
     IF viewtype = 1
12043
     THEN
12044
       /*--- GUEST VIEW ---*/
12045
       OPEN recordset FOR
12046
         SELECT   *
12047
            FROM (
12048
                 /* Base Views collapsed */
12049
                 SELECT DISTINCT vi.view_id, vi.view_name,
12050
                             TO_NUMBER (NULL) AS pkg_state,
12051
                             TO_NUMBER (NULL) AS deprecated_state,
12052
                             TO_NUMBER (NULL) AS pv_id,
12053
                             NULL AS pkg_name, NULL AS pkg_version,
7039 dpurdie 12054
                             NULL AS dlocked, NULL AS pv_description,
12055
                             rel.operation
12056
                         FROM environment_view rel, views vi
12057
                        WHERE rel.view_id = vi.view_id
12058
                          AND rel.env_area = 2
1373 dpurdie 12059
                          AND rtag_id = rtagid
7039 dpurdie 12060
                          AND rel.view_id NOT IN (
1373 dpurdie 12061
                               SELECT *
12062
                                 FROM THE
12063
                                       (SELECT CAST
12064
                                               (in_list_number
12065
                                                  (sviewidshowlist
12066
                                                  ) AS relmgr_number_tab_t
12067
                                               )
12068
                                         FROM DUAL
12069
                                       ))
12070
                 UNION
12071
                 /* Base Views expanded */
7039 dpurdie 12072
                 SELECT vi.view_id, vi.view_name,
12073
                     rel.pkg_state,
1373 dpurdie 12074
                      rel.deprecated_state, pv.pv_id, pkg.pkg_name,
7039 dpurdie 12075
                      pv.pkg_version, pv.dlocked, pv.pv_description,
12076
                      rel.operation
12077
                  FROM environment_view rel,
1373 dpurdie 12078
                      PACKAGES pkg,
12079
                      package_versions pv,
12080
                      views vi
12081
                  WHERE pv.pkg_id = pkg.pkg_id
12082
                   AND rel.pv_id = pv.pv_id
7039 dpurdie 12083
                   AND rel.env_area = 2
12084
                   AND rel.view_id = vi.view_id
12085
                   AND rel.view_id IN (
1373 dpurdie 12086
                        SELECT *
12087
                          FROM THE
12088
                                (SELECT CAST
12089
                                        (in_list_number
12090
                                               (sviewidshowlist) AS relmgr_number_tab_t
12091
                                        )
12092
                                  FROM DUAL
12093
                                ))
12094
                   AND rtag_id = rtagid) ord
12095
         ORDER BY UPPER (ord.view_name), UPPER (ord.pkg_name);
12096
     ELSIF viewtype = 2
12097
     THEN
12098
       /*--- PERSONAL VIEW ---*/
12099
       OPEN recordset FOR
12100
         SELECT   *
12101
            FROM (
12102
                 /* Base Views collapsed */
12103
                 SELECT DISTINCT vi.view_id, vi.view_name,
12104
                             TO_NUMBER (NULL) AS pkg_state,
12105
                             TO_NUMBER (NULL) AS deprecated_state,
12106
                             TO_NUMBER (NULL) AS pv_id,
12107
                             NULL AS pkg_name, NULL AS pkg_version,
7039 dpurdie 12108
                             NULL AS dlocked, NULL AS pv_description,
12109
                             rel.operation
12110
                         FROM environment_view rel,
1373 dpurdie 12111
                             view_settings vs,
12112
                             views vi
7039 dpurdie 12113
                        WHERE rel.view_id = vi.view_id
12114
                          AND rel.env_area = 2
12115
                          AND vs.view_id = rel.view_id
1373 dpurdie 12116
                          AND vs.user_id = userid
12117
                          AND rtag_id = rtagid
7039 dpurdie 12118
                          AND rel.view_id NOT IN (
1373 dpurdie 12119
                               SELECT *
12120
                                 FROM THE
12121
                                       (SELECT CAST
12122
                                               (in_list_number
12123
                                                  (sviewidshowlist
12124
                                                  ) AS relmgr_number_tab_t
12125
                                               )
12126
                                         FROM DUAL
12127
                                       ))
12128
                 UNION
12129
                 /* Base Views expanded */
7039 dpurdie 12130
                 SELECT vi.view_id, vi.view_name,
12131
                        rel.pkg_state,
1373 dpurdie 12132
                      rel.deprecated_state, pv.pv_id, pkg.pkg_name,
7039 dpurdie 12133
                      pv.pkg_version, pv.dlocked, pv.pv_description,
12134
                      rel.operation
12135
                  FROM environment_view rel,
1373 dpurdie 12136
                      PACKAGES pkg,
12137
                      package_versions pv,
12138
                      views vi,
12139
                      view_settings vs
12140
                  WHERE pv.pkg_id = pkg.pkg_id
12141
                   AND rel.pv_id = pv.pv_id
7039 dpurdie 12142
                   AND rel.view_id = vi.view_id
12143
                   AND rel.env_area = 2
1373 dpurdie 12144
                   AND vs.view_id = vi.view_id
12145
                   AND vs.user_id = userid
7039 dpurdie 12146
                   AND rel.view_id IN (
1373 dpurdie 12147
                        SELECT *
12148
                          FROM THE
12149
                                (SELECT CAST
12150
                                        (in_list_number
12151
                                               (sviewidshowlist) AS relmgr_number_tab_t
12152
                                        )
12153
                                  FROM DUAL
12154
                                ))
12155
                   AND rtag_id = rtagid
12156
                 UNION
12157
                 /* Private Views collapsed */
12158
                 SELECT vi.view_id, vi.view_name,
12159
                      TO_NUMBER (NULL) AS pkg_state,
12160
                      TO_NUMBER (NULL) AS deprecated_state,
12161
                      TO_NUMBER (NULL) AS pv_id, NULL AS pkg_name,
12162
                      NULL AS pkg_version, NULL AS dlocked,
7039 dpurdie 12163
                      NULL AS pv_description,
12164
                      rel.operation
1373 dpurdie 12165
                  FROM view_settings vs,
12166
                      view_def vd,
12167
                      views vi,
7039 dpurdie 12168
                      environment_view rel,
1373 dpurdie 12169
                      package_versions pv
12170
                  WHERE vs.view_id = vi.view_id
7039 dpurdie 12171
                   AND rel.env_area = 2
1373 dpurdie 12172
                   AND rel.pv_id = pv.pv_id
12173
                   AND vd.pkg_id = pv.pkg_id
12174
                   AND vd.view_id = vi.view_id
12175
                   AND vi.base_view = 'N'
12176
                   AND rel.rtag_id = rtagid
12177
                   AND vs.user_id = userid
12178
                   AND vi.view_id NOT IN (
12179
                        SELECT *
12180
                          FROM THE
12181
                                (SELECT CAST
12182
                                        (in_list_number
12183
                                               (sviewidshowlist) AS relmgr_number_tab_t
12184
                                        )
12185
                                  FROM DUAL
12186
                                ))
12187
                 UNION
12188
                 /* Private Views expanded */
7039 dpurdie 12189
                 SELECT vi.view_id, vi.view_name,
12190
                      rel.pkg_state,
1373 dpurdie 12191
                      rel.deprecated_state, pv.pv_id, pkg.pkg_name,
7039 dpurdie 12192
                      pv.pkg_version, pv.dlocked, pv.pv_description,
12193
                      rel.operation
1373 dpurdie 12194
                  FROM users usr,
12195
                      view_settings vs,
12196
                      view_def vd,
12197
                      views vi,
7039 dpurdie 12198
                      environment_view rel,
1373 dpurdie 12199
                      PACKAGES pkg,
12200
                      package_versions pv
12201
                  WHERE vs.user_id = usr.user_id
12202
                   AND vs.view_id = vi.view_id
7039 dpurdie 12203
                   AND rel.env_area = 2
1373 dpurdie 12204
                   AND vd.view_id = vi.view_id
12205
                   AND pv.pkg_id = pkg.pkg_id
12206
                   AND rel.pv_id = pv.pv_id
12207
                   AND rel.rtag_id = rtagid
12208
                   AND vd.pkg_id = pkg.pkg_id
12209
                   AND vi.base_view = 'N'
12210
                   AND vi.view_id IN (
12211
                        SELECT *
12212
                          FROM THE
12213
                                (SELECT CAST
12214
                                        (in_list_number
12215
                                               (sviewidshowlist) AS relmgr_number_tab_t
12216
                                        )
12217
                                  FROM DUAL
12218
                                ))
12219
                   AND usr.user_id = userid) ord
12220
         ORDER BY UPPER (ord.view_name), UPPER (ord.pkg_name);
12221
     END IF;
12222
   END;
7039 dpurdie 12223
 
1373 dpurdie 12224
 
12225
/*-------------------------------------------------------------------------------------------------------*/
12226
   PROCEDURE get_work_in_progress_items (
12227
     viewtype         IN      NUMBER,
12228
     userid           IN      NUMBER,
12229
     rtagid           IN      NUMBER,
12230
     sviewidshowlist  IN      VARCHAR2,
12231
     ntruerecordcount OUT     NUMBER,
12232
     recordset        OUT     typecur
12233
   )
12234
   IS
12235
   BEGIN
12236
     -- Get true record count because views can give false count
12237
     SELECT COUNT (wip.pv_id)
12238
      INTO ntruerecordcount
12239
      FROM work_in_progress wip
12240
      WHERE wip.rtag_id = rtagid;
12241
 
12242
     IF viewtype = 1
12243
     THEN
12244
       /*--- GUEST VIEW ---*/
12245
       OPEN recordset FOR
12246
         SELECT   *
12247
            FROM (
12248
                 /* Base Views collapsed */
12249
                 SELECT DISTINCT vi.view_id, vi.view_name,
12250
                             TO_NUMBER (NULL) AS pkg_state,
12251
                             TO_NUMBER (NULL) AS deprecated_state,
12252
                             TO_NUMBER (NULL) AS pv_id,
12253
                             NULL AS pkg_name, NULL AS pkg_version,
12254
                             NULL AS dlocked, NULL AS pv_description
12255
                         FROM work_in_progress rel, views vi
12256
                        WHERE rel.view_id = vi.view_id
12257
                          AND rtag_id = rtagid
12258
                          AND rel.view_id NOT IN (
12259
                               SELECT *
12260
                                 FROM THE
12261
                                       (SELECT CAST
12262
                                               (in_list_number
12263
                                                  (sviewidshowlist
12264
                                                  ) AS relmgr_number_tab_t
12265
                                               )
12266
                                         FROM DUAL
12267
                                       ))
12268
                 UNION
12269
                 /* Base Views expanded */
12270
                 SELECT vi.view_id, vi.view_name, 0 AS pkg_state,
12271
 
12272
                      --rel.pkg_state,
12273
                      TO_NUMBER (NULL) AS deprecated_state, pv.pv_id,
12274
                      pkg.pkg_name, pv.pkg_version, pv.dlocked,
12275
                      pv.pv_description
12276
                  FROM work_in_progress rel,
12277
                      PACKAGES pkg,
12278
                      package_versions pv,
12279
                      views vi
12280
                  WHERE pv.pkg_id = pkg.pkg_id
12281
                   AND rel.pv_id = pv.pv_id
12282
                   AND rel.view_id = vi.view_id
12283
                   AND rel.view_id IN (
12284
                        SELECT *
12285
                          FROM THE
12286
                                (SELECT CAST
12287
                                        (in_list_number
12288
                                               (sviewidshowlist) AS relmgr_number_tab_t
12289
                                        )
12290
                                  FROM DUAL
12291
                                ))
12292
                   AND rtag_id = rtagid) ord
12293
         ORDER BY UPPER (ord.view_name), UPPER (ord.pkg_name);
12294
     ELSIF viewtype = 2
12295
     THEN
12296
       /*--- PERSONAL VIEW ---*/
12297
       OPEN recordset FOR
12298
         SELECT   *
12299
            FROM (
12300
                 /* Base Views collapsed */
12301
                 SELECT DISTINCT vi.view_id, vi.view_name,
12302
                             TO_NUMBER (NULL) AS pkg_state,
12303
                             TO_NUMBER (NULL) AS deprecated_state,
12304
                             TO_NUMBER (NULL) AS pv_id,
12305
                             NULL AS pkg_name, NULL AS pkg_version,
12306
                             NULL AS dlocked, NULL AS pv_description
12307
                         FROM work_in_progress rel,
12308
                             view_settings vs,
12309
                             views vi
12310
                        WHERE rel.view_id = vi.view_id
12311
                          AND vs.view_id = rel.view_id
12312
                          AND vs.user_id = userid
12313
                          AND rtag_id = rtagid
12314
                          AND rel.view_id NOT IN (
12315
                               SELECT *
12316
                                 FROM THE
12317
                                       (SELECT CAST
12318
                                               (in_list_number
12319
                                                  (sviewidshowlist
12320
                                                  ) AS relmgr_number_tab_t
12321
                                               )
12322
                                         FROM DUAL
12323
                                       ))
12324
                 UNION
12325
                 /* Base Views expanded */
12326
                 SELECT vi.view_id, vi.view_name, 0 AS pkg_state,
12327
 
12328
                      --rel.pkg_state,
12329
                      TO_NUMBER (NULL) AS deprecated_state, pv.pv_id,
12330
                      pkg.pkg_name, pv.pkg_version, pv.dlocked,
12331
                      pv.pv_description
12332
                  FROM work_in_progress rel,
12333
                      PACKAGES pkg,
12334
                      package_versions pv,
12335
                      views vi,
12336
                      view_settings vs
12337
                  WHERE pv.pkg_id = pkg.pkg_id
12338
                   AND rel.pv_id = pv.pv_id
12339
                   AND rel.view_id = vi.view_id
12340
                   AND vs.view_id = vi.view_id
12341
                   AND vs.user_id = userid
12342
                   AND rel.view_id IN (
12343
                        SELECT *
12344
                          FROM THE
12345
                                (SELECT CAST
12346
                                        (in_list_number
12347
                                               (sviewidshowlist) AS relmgr_number_tab_t
12348
                                        )
12349
                                  FROM DUAL
12350
                                ))
12351
                   AND rtag_id = rtagid
12352
                 UNION
12353
                 /* Private Views collapsed */
12354
                 SELECT vi.view_id, vi.view_name,
12355
                      TO_NUMBER (NULL) AS pkg_state,
12356
                      TO_NUMBER (NULL) AS deprecated_state,
12357
                      TO_NUMBER (NULL) AS pv_id, NULL AS pkg_name,
12358
                      NULL AS pkg_version, NULL AS dlocked,
12359
                      NULL AS pv_description
12360
                  FROM view_settings vs,
12361
                      view_def vd,
12362
                      views vi,
12363
                      work_in_progress rel,
12364
                      package_versions pv
12365
                  WHERE vs.view_id = vi.view_id
12366
                   AND rel.pv_id = pv.pv_id
12367
                   AND vd.pkg_id = pv.pkg_id
12368
                   AND vd.view_id = vi.view_id
12369
                   AND vi.base_view = 'N'
12370
                   AND rel.rtag_id = rtagid
12371
                   AND vs.user_id = userid
12372
                   AND vi.view_id NOT IN (
12373
                        SELECT *
12374
                          FROM THE
12375
                                (SELECT CAST
12376
                                        (in_list_number
12377
                                               (sviewidshowlist) AS relmgr_number_tab_t
12378
                                        )
12379
                                  FROM DUAL
12380
                                ))
12381
                 UNION
12382
                 /* Private Views expanded */
12383
                 SELECT vi.view_id, vi.view_name, 0 AS pkg_state,
12384
 
12385
                      --rel.pkg_state,
12386
                      TO_NUMBER (NULL) AS deprecated_state, pv.pv_id,
12387
                      pkg.pkg_name, pv.pkg_version, pv.dlocked,
12388
                      pv.pv_description
12389
                  FROM users usr,
12390
                      view_settings vs,
12391
                      view_def vd,
12392
                      views vi,
12393
                      work_in_progress rel,
12394
                      PACKAGES pkg,
12395
                      package_versions pv
12396
                  WHERE vs.user_id = usr.user_id
12397
                   AND vs.view_id = vi.view_id
12398
                   AND vd.view_id = vi.view_id
12399
                   AND pv.pkg_id = pkg.pkg_id
12400
                   AND rel.pv_id = pv.pv_id
12401
                   AND rel.rtag_id = rtagid
12402
                   AND vd.pkg_id = pkg.pkg_id
12403
                   AND vi.base_view = 'N'
12404
                   AND vi.view_id IN (
12405
                        SELECT *
12406
                          FROM THE
12407
                                (SELECT CAST
12408
                                        (in_list_number
12409
                                               (sviewidshowlist) AS relmgr_number_tab_t
12410
                                        )
12411
                                  FROM DUAL
12412
                                ))
12413
                   AND usr.user_id = userid) ord
12414
         ORDER BY UPPER (ord.view_name), UPPER (ord.pkg_name);
12415
     END IF;
12416
   END;
12417
 
12418
/*-------------------------------------------------------------------------------------------------------*/
12419
   -- DEVI-45275 added the return of the new "operation" column in the recordset.
12420
 
7039 dpurdie 12421
PROCEDURE get_pending_items (
1373 dpurdie 12422
     viewtype         IN      NUMBER,
12423
     userid           IN      NUMBER,
12424
     rtagid           IN      NUMBER,
12425
     sviewidshowlist  IN      VARCHAR2,
12426
     ntruerecordcount OUT     NUMBER,
12427
     recordset        OUT     typecur
12428
   )
12429
   IS
12430
   BEGIN
12431
     -- Get true record count because views can give false count
12432
     SELECT COUNT (pl.pv_id)
12433
      INTO ntruerecordcount
7039 dpurdie 12434
      FROM environment_view pl
1373 dpurdie 12435
      WHERE pl.rtag_id = rtagid;
12436
 
12437
     IF viewtype = 1
12438
     THEN
12439
       /*--- GUEST VIEW ---*/
12440
       OPEN recordset FOR
12441
         SELECT   *
12442
            FROM (
12443
                 /* Base Views collapsed */
12444
                 SELECT DISTINCT vi.view_id, vi.view_name,
12445
                             TO_NUMBER (NULL) AS pkg_state,
12446
                             TO_NUMBER (NULL) AS deprecated_state,
12447
                             TO_NUMBER (NULL) AS pv_id,
12448
                             NULL AS pkg_name, NULL AS pkg_version,
12449
                             NULL AS dlocked, NULL AS pv_description,
12450
                             rel.operation
7039 dpurdie 12451
                         FROM environment_view rel, views vi
1373 dpurdie 12452
                        WHERE rel.view_id = vi.view_id
7039 dpurdie 12453
                          AND rel.env_area = 1
1373 dpurdie 12454
                          AND rtag_id = rtagid
12455
                          AND rel.view_id NOT IN (
12456
                               SELECT *
12457
                                 FROM THE
12458
                                       (SELECT CAST
12459
                                               (in_list_number
12460
                                                  (sviewidshowlist
12461
                                                  ) AS relmgr_number_tab_t
12462
                                               )
12463
                                         FROM DUAL
12464
                                       ))
12465
                 UNION
12466
                 /* Base Views expanded */
7039 dpurdie 12467
                 SELECT vi.view_id, vi.view_name,
12468
                     rel.pkg_state,
12469
                      rel.deprecated_state, pv.pv_id, pkg.pkg_name,
12470
                      pv.pkg_version, pv.dlocked, pv.pv_description,
1373 dpurdie 12471
                      rel.operation
7039 dpurdie 12472
                  FROM environment_view rel,
1373 dpurdie 12473
                      PACKAGES pkg,
12474
                      package_versions pv,
12475
                      views vi
12476
                  WHERE pv.pkg_id = pkg.pkg_id
12477
                   AND rel.pv_id = pv.pv_id
7039 dpurdie 12478
                   AND rel.env_area = 1
1373 dpurdie 12479
                   AND rel.view_id = vi.view_id
12480
                   AND rel.view_id IN (
12481
                        SELECT *
12482
                          FROM THE
12483
                                (SELECT CAST
12484
                                        (in_list_number
12485
                                               (sviewidshowlist) AS relmgr_number_tab_t
12486
                                        )
12487
                                  FROM DUAL
12488
                                ))
12489
                   AND rtag_id = rtagid) ord
12490
         ORDER BY UPPER (ord.view_name), UPPER (ord.pkg_name);
12491
     ELSIF viewtype = 2
12492
     THEN
12493
       /*--- PERSONAL VIEW ---*/
12494
       OPEN recordset FOR
12495
         SELECT   *
12496
            FROM (
12497
                 /* Base Views collapsed */
12498
                 SELECT DISTINCT vi.view_id, vi.view_name,
12499
                             TO_NUMBER (NULL) AS pkg_state,
12500
                             TO_NUMBER (NULL) AS deprecated_state,
12501
                             TO_NUMBER (NULL) AS pv_id,
12502
                             NULL AS pkg_name, NULL AS pkg_version,
12503
                             NULL AS dlocked, NULL AS pv_description,
12504
                             rel.operation
7039 dpurdie 12505
                         FROM environment_view rel,
12506
                             view_settings vs,
12507
                             views vi
1373 dpurdie 12508
                        WHERE rel.view_id = vi.view_id
7039 dpurdie 12509
                          AND rel.env_area = 1
1373 dpurdie 12510
                          AND vs.view_id = rel.view_id
12511
                          AND vs.user_id = userid
12512
                          AND rtag_id = rtagid
12513
                          AND rel.view_id NOT IN (
12514
                               SELECT *
12515
                                 FROM THE
12516
                                       (SELECT CAST
12517
                                               (in_list_number
12518
                                                  (sviewidshowlist
12519
                                                  ) AS relmgr_number_tab_t
12520
                                               )
12521
                                         FROM DUAL
12522
                                       ))
12523
                 UNION
12524
                 /* Base Views expanded */
7039 dpurdie 12525
                 SELECT vi.view_id, vi.view_name,
12526
                        rel.pkg_state,
12527
                      rel.deprecated_state, pv.pv_id, pkg.pkg_name,
12528
                      pv.pkg_version, pv.dlocked, pv.pv_description,
1373 dpurdie 12529
                      rel.operation
7039 dpurdie 12530
                  FROM environment_view rel,
1373 dpurdie 12531
                      PACKAGES pkg,
12532
                      package_versions pv,
12533
                      views vi,
12534
                      view_settings vs
12535
                  WHERE pv.pkg_id = pkg.pkg_id
12536
                   AND rel.pv_id = pv.pv_id
12537
                   AND rel.view_id = vi.view_id
7039 dpurdie 12538
                   AND rel.env_area = 1
1373 dpurdie 12539
                   AND vs.view_id = vi.view_id
12540
                   AND vs.user_id = userid
12541
                   AND rel.view_id IN (
12542
                        SELECT *
12543
                          FROM THE
12544
                                (SELECT CAST
12545
                                        (in_list_number
12546
                                               (sviewidshowlist) AS relmgr_number_tab_t
12547
                                        )
12548
                                  FROM DUAL
12549
                                ))
12550
                   AND rtag_id = rtagid
12551
                 UNION
12552
                 /* Private Views collapsed */
12553
                 SELECT vi.view_id, vi.view_name,
12554
                      TO_NUMBER (NULL) AS pkg_state,
12555
                      TO_NUMBER (NULL) AS deprecated_state,
12556
                      TO_NUMBER (NULL) AS pv_id, NULL AS pkg_name,
12557
                      NULL AS pkg_version, NULL AS dlocked,
12558
                      NULL AS pv_description,
12559
                      rel.operation
12560
                  FROM view_settings vs,
12561
                      view_def vd,
12562
                      views vi,
7039 dpurdie 12563
                      environment_view rel,
1373 dpurdie 12564
                      package_versions pv
12565
                  WHERE vs.view_id = vi.view_id
7039 dpurdie 12566
                   AND rel.env_area = 1
1373 dpurdie 12567
                   AND rel.pv_id = pv.pv_id
12568
                   AND vd.pkg_id = pv.pkg_id
12569
                   AND vd.view_id = vi.view_id
12570
                   AND vi.base_view = 'N'
12571
                   AND rel.rtag_id = rtagid
12572
                   AND vs.user_id = userid
12573
                   AND vi.view_id NOT IN (
12574
                        SELECT *
12575
                          FROM THE
12576
                                (SELECT CAST
12577
                                        (in_list_number
12578
                                               (sviewidshowlist) AS relmgr_number_tab_t
12579
                                        )
12580
                                  FROM DUAL
12581
                                ))
12582
                 UNION
12583
                 /* Private Views expanded */
7039 dpurdie 12584
                 SELECT vi.view_id, vi.view_name,
12585
                      rel.pkg_state,
12586
                      rel.deprecated_state, pv.pv_id, pkg.pkg_name,
12587
                      pv.pkg_version, pv.dlocked, pv.pv_description,
1373 dpurdie 12588
                      rel.operation
12589
                  FROM users usr,
12590
                      view_settings vs,
12591
                      view_def vd,
12592
                      views vi,
7039 dpurdie 12593
                      environment_view rel,
1373 dpurdie 12594
                      PACKAGES pkg,
12595
                      package_versions pv
12596
                  WHERE vs.user_id = usr.user_id
12597
                   AND vs.view_id = vi.view_id
7039 dpurdie 12598
                   AND rel.env_area = 1
1373 dpurdie 12599
                   AND vd.view_id = vi.view_id
12600
                   AND pv.pkg_id = pkg.pkg_id
12601
                   AND rel.pv_id = pv.pv_id
12602
                   AND rel.rtag_id = rtagid
12603
                   AND vd.pkg_id = pkg.pkg_id
12604
                   AND vi.base_view = 'N'
12605
                   AND vi.view_id IN (
12606
                        SELECT *
12607
                          FROM THE
12608
                                (SELECT CAST
12609
                                        (in_list_number
12610
                                               (sviewidshowlist) AS relmgr_number_tab_t
12611
                                        )
12612
                                  FROM DUAL
12613
                                ))
12614
                   AND usr.user_id = userid) ord
12615
         ORDER BY UPPER (ord.view_name), UPPER (ord.pkg_name);
12616
     END IF;
12617
   END;
7039 dpurdie 12618
 
1373 dpurdie 12619
 
12620
/*-------------------------------------------------------------------------------------------------------*/
12621
   PROCEDURE get_view_content (
12622
     rtagid     IN      NUMBER,
12623
     viewid     IN      NUMBER,
12624
     recordset OUT     typecur
12625
   )
12626
   IS
12627
     isbaseview   CHAR (1);
12628
   BEGIN
12629
     -- Check if the view is BASE VIEW
12630
     SELECT vi.base_view
12631
      INTO isbaseview
12632
      FROM views vi
12633
      WHERE vi.view_id = viewid;
12634
 
5172 dpurdie 12635
     IF (IsBaseView IN ('Y', 'S'))
1373 dpurdie 12636
     THEN
12637
       -- Get Base view content
12638
       OPEN recordset FOR
12639
         SELECT   DECODE (rel.pkg_state,
12640
                      NULL, 0,
12641
                      rel.pkg_state
12642
                     ) AS pkg_state,
12643
                rel.deprecated_state, pv.pv_id, pkg.pkg_name,
12644
                pv.pkg_version, pv.dlocked, pv.pv_description,
12645
                pv.build_type,
12646
                rel.operation
7039 dpurdie 12647
            FROM environment_view rel, 
12648
                PACKAGES pkg,
12649
                package_versions pv
1373 dpurdie 12650
            WHERE pv.pkg_id = pkg.pkg_id
12651
             AND rel.pv_id = pv.pv_id
12652
             AND rel.view_id = viewid
12653
             AND rel.rtag_id = rtagid
12654
         ORDER BY UPPER (pkg.pkg_name);
12655
     ELSE
12656
       -- Get non base view content
12657
       OPEN recordset FOR
12658
         SELECT   DECODE (rel.pkg_state,
12659
                      NULL, 0,
12660
                      rel.pkg_state
12661
                     ) AS pkg_state,
12662
                rel.deprecated_state, pv.pv_id, pkg.pkg_name,
12663
                pv.pkg_version, pv.dlocked, pv.pv_description,
12664
                pv.build_type,
12665
                rel.operation
12666
            FROM environment_view rel,
12667
                PACKAGES pkg,
12668
                package_versions pv,
12669
                view_def vd
12670
            WHERE pv.pkg_id = pkg.pkg_id
12671
             AND rel.pv_id = pv.pv_id
12672
             AND rel.rtag_id = rtagid
12673
             AND vd.view_id = viewid
12674
             AND vd.pkg_id = pv.pkg_id
12675
         ORDER BY UPPER (pkg.pkg_name);
12676
     END IF;
12677
   END;
12678
 
12679
/*-------------------------------------------------------------------------------------------------------*/
12680
   FUNCTION get_package_view (pvid IN NUMBER, rtagid IN NUMBER)
12681
     RETURN NUMBER
12682
   IS
12683
     envtab           NUMBER;
12684
     returnvalue      NUMBER;
12685
     return_not_found NUMBER := -1;
12686
   BEGIN
12687
     envtab := get_package_area (pvid, rtagid);
12688
 
12689
     IF envtab = 0
12690
     THEN
12691
       -- WORK IN PROGRESS --
12692
       returnvalue := pk_work_in_progress.get_package_view (pvid, rtagid);
12693
     ELSIF envtab = 1
12694
     THEN
12695
       -- PENDING --
12696
       returnvalue := pk_planned.get_package_view (pvid, rtagid);
12697
     ELSIF envtab = 2
12698
     THEN
12699
       -- RELEASED --
12700
       returnvalue := pk_release.get_package_view (pvid, rtagid);
12701
     ELSE
12702
       -- This may be a Patch not located anywhere but unlocked
12703
       returnvalue := return_not_found;
12704
     END IF;
12705
 
12706
     RETURN returnvalue;
12707
   END;
12708
 
12709
/*-------------------------------------------------------------------------------------------------------*/
5172 dpurdie 12710
  PROCEDURE make_release (
4585 dpurdie 12711
     pvid          IN   NUMBER,                         -- NEW  PKG pvid
12712
     rtagid        IN   NUMBER,                         -- Release Id
12713
     userid        IN   NUMBER                          -- User performing Release
12714
   )
1373 dpurdie 12715
   IS
12716
     viewid        NUMBER;
12717
     envtab        NUMBER;
12718
     ispatch       CHAR (1) := NULL;
12719
     buildtype     CHAR (1) := NULL;
12720
   BEGIN
12721
     -- Check if package is patch
12722
     SELECT pv.is_patch, pv.build_type
12723
      INTO ispatch, buildtype
12724
      FROM package_versions pv
12725
      WHERE pv.pv_id = pvid;
12726
 
12727
     -- Get ViewId
12728
     viewid := get_package_view (pvid, rtagid);
12729
     -- Remove from current area
12730
     envtab := pk_environment.get_package_area (pvid, rtagid);
12731
 
12732
     -- Make sure that package was in work-in-progress or pending before makeing it release
12733
     -- Exclude patches, ripple builds
12734
     IF (envtab < 0)
12735
     THEN
12736
       -- Not found in work-in-progress or pending
12737
       IF (ispatch IS NULL) AND (buildtype = 'M')
12738
       THEN
12739
         raise_application_error (-20000,
12740
                            'This package cannot be released here.'
12741
                           );
12742
       END IF;
12743
     END IF;
12744
 
6999 dpurdie 12745
     -- Log
12746
     --log_action (pvid, 'action', userid, 'Start of Make Package Release...');
12747
 
1373 dpurdie 12748
     IF envtab = 0
12749
     THEN
12750
       -- WORK IN PROGRESS --
12751
       pk_work_in_progress.remove_package (pvid, rtagid, userid);
12752
     ELSIF envtab = 1
12753
     THEN
12754
       -- PENDING --
12755
       pk_planned.remove_package (pvid, rtagid, userid);
12756
     END IF;
12757
 
12758
     -- Change package state
4585 dpurdie 12759
     -- Set dlocked state to mark the package a 'Released and Locked'
1373 dpurdie 12760
     pk_package.change_state (pvid, 'Y', userid);
12761
 
12762
     -- Make sure it is valid BASE VIEW
12763
     IF viewid < 1
12764
     THEN
12765
       viewid := 7;                     -- This is default base view
12766
     END IF;
12767
 
12768
     IF (ispatch IS NULL)
12769
     THEN
4585 dpurdie 12770
       -- Add (Replace) package to new area
1373 dpurdie 12771
       pk_release.add_package (pvid, viewid, rtagid, userid);
12772
     END IF;
12773
 
12774
     -- Now do post Release Actions
12775
     pk_release.run_post_actions (pvid, rtagid);
12776
 
12777
     -- The release has changed and there may now be invalid rtag_id/pv_id combinations in
12778
     -- the DO_NOT_RIPPLE and ADVISORY_RIPPLE Tables so perform a clean-up operation upon them.
12779
     clean_do_not_ripple(rtagid);
12780
     clean_advisory_ripple(rtagid);
12781
 
6999 dpurdie 12782
     -- Log
12783
     --log_action (pvid, 'action', userid, 'End of Make Package Release...');
1373 dpurdie 12784
   END;
12785
 
12786
/*-------------------------------------------------------------------------------------------------------*/
4585 dpurdie 12787
  --  Release a specified package into a specified release
12788
  --
12789
  --  Similar to 'make_release', but it attempts to handle the case where a package-version
12790
  --  is being replaced with one with a different package-suffix, but it doesn't
6031 dpurdie 12791
  --  handle all the cases well.
4585 dpurdie 12792
  --
12793
  --  The current build system cannot do this automatically - yet
12794
  --
12795
  --
1373 dpurdie 12796
   PROCEDURE auto_make_release (
4585 dpurdie 12797
     pvid          IN   NUMBER,                         -- NEW  PKG pvid
12798
     rtagid        IN   NUMBER,                         -- Release Id
12799
     userid        IN   NUMBER,                         -- User performing Release
12800
     vext          IN   package_versions.v_ext%TYPE,    -- Package Extension for original pkg
12801
     ssv_ext       IN   package_versions.v_ext%TYPE,    -- Package Extension for new package
12802
     clonefrompvid IN   NUMBER                          -- PVID of Original
1373 dpurdie 12803
   )
12804
   IS
12805
     viewid        NUMBER;
12806
     envtab        NUMBER;
4585 dpurdie 12807
 
12808
     clone_removal NUMBER := 0;
12809
     clone_viewid  NUMBER := -1;
12810
     clone_envtab  NUMBER := -1;
12811
 
1373 dpurdie 12812
     ispatch       CHAR (1) := NULL;
4585 dpurdie 12813
     buildtype     CHAR (1) := NULL;
12814
 
1373 dpurdie 12815
   BEGIN
12816
     -- Check if package is patch
12817
     SELECT pv.is_patch, pv.build_type
12818
      INTO ispatch, buildtype
12819
      FROM package_versions pv
12820
      WHERE pv.pv_id = pvid;
12821
 
4585 dpurdie 12822
     --
12823
     -- Determine the viewid and environment for the new package
12824
     --
12825
     viewid := get_package_view (pvid, rtagid);
12826
     envtab := pk_environment.get_package_area (pvid, rtagid);
12827
 
12828
     --
12829
     -- If changing pkgExt, then we need to delete the orig package, not just replace it
12830
     --
12831
     IF (clonefrompvid is NOT NULL) AND (vext <> ssv_ext)
1373 dpurdie 12832
     THEN
4585 dpurdie 12833
        clone_removal := 1;
12834
        clone_viewid := get_package_view (clonefrompvid, rtagid);
12835
        clone_envtab := pk_environment.get_package_area (clonefrompvid, rtagid);
1373 dpurdie 12836
     END IF;
12837
 
4585 dpurdie 12838
     --
1373 dpurdie 12839
     -- Make sure that package was in work-in-progress or pending before makeing it release
12840
     -- Exclude patches, ripple builds
4585 dpurdie 12841
     --
1373 dpurdie 12842
     IF (envtab < 0)
12843
     THEN
12844
       -- Not found in work-in-progress or pending
12845
       IF (ispatch IS NULL) AND (buildtype = 'M')
12846
       THEN
12847
         raise_application_error (-20000,
12848
                            'This package cannot be released here.'
12849
                           );
12850
       END IF;
12851
     END IF;
12852
 
6999 dpurdie 12853
     -- Log
12854
     --log_action (pvid, 'action', userid, 'Start of Make Package Release...');
12855
 
4585 dpurdie 12856
     --
12857
     -- Remove the package from the WIP or PENDING tab
6031 dpurdie 12858
     -- Do NOT remove from the release area.
4585 dpurdie 12859
     --     This will be handled later with a process that
12860
     --     will do a 'replace' so that meta data is not lost
12861
     --
12862
    IF envtab = 0
12863
    THEN
12864
        -- WORK IN PROGRESS --
12865
        pk_work_in_progress.remove_package (pvid, rtagid, userid);
12866
    ELSIF envtab = 1
12867
    THEN
12868
        -- PENDING --
12869
        pk_planned.remove_package (pvid, rtagid, userid);
12870
    END IF;
12871
 
12872
    --
12873
    --  If we are changing the pkgExt, then fully remove the base package
12874
    --  This includes removing it from the 'release' area.
12875
    --
12876
    IF clone_removal = 1
12877
    THEN
12878
        IF clone_envtab = 0
12879
        THEN
12880
            -- WORK IN PROGRESS --
12881
            pk_work_in_progress.remove_package (clonefrompvid, rtagid, userid);
12882
        ELSIF clone_envtab = 1
12883
        THEN
12884
            -- PENDING --
12885
            pk_planned.remove_package (clonefrompvid, rtagid, userid);
12886
        ELSIF clone_envtab = 2
12887
        THEN
12888
            -- RELEASED --
12889
            pk_release.remove_package (clonefrompvid, rtagid, userid);
1373 dpurdie 12890
       END IF;
4585 dpurdie 12891
    END IF;
1373 dpurdie 12892
 
12893
     -- Change package state
4585 dpurdie 12894
     -- Set dlocked state to mark the package a 'Released and Locked'
1373 dpurdie 12895
     pk_package.change_state (pvid, 'Y', userid);
12896
 
12897
     -- Make sure it is valid BASE VIEW
4585 dpurdie 12898
     -- If its not specified, give it a default (7) view
1373 dpurdie 12899
     IF viewid < 1
12900
     THEN
4585 dpurdie 12901
        IF clone_viewid >= 0
12902
        THEN
6031 dpurdie 12903
            viewid := clone_viewid;
4585 dpurdie 12904
        ELSE
12905
            viewid := 7;
12906
        END IF;
1373 dpurdie 12907
     END IF;
12908
 
12909
     IF (ispatch IS NULL)
12910
     THEN
4585 dpurdie 12911
       -- Add (Replace) package to new area
1373 dpurdie 12912
       pk_release.add_package (pvid, viewid, rtagid, userid);
12913
     END IF;
12914
 
12915
     -- Now do post Release Actions
12916
     pk_release.run_post_actions (pvid, rtagid);
12917
     -- Now update the Dash_Board Table (DEPRECATED)
12918
     pk_rmapi.update_dash_board (rtagid);
12919
 
12920
     -- The release has changed and there may now be invalid rtag_id/pv_id combinations in
12921
     -- the DO_NOT_RIPPLE and ADVISORY_RIPPLE Tables so perform a clean-up operation upon them.
12922
     clean_do_not_ripple(rtagid);
12923
     clean_advisory_ripple(rtagid);
12924
 
6999 dpurdie 12925
     -- Log
12926
     --log_action (pvid, 'action', userid, 'End of Make Package Release...');
1373 dpurdie 12927
   END;
12928
 
5172 dpurdie 12929
 
1373 dpurdie 12930
/*-------------------------------------------------------------------------------------------------------*/
12931
   PROCEDURE make_unrelease (pvid IN NUMBER, rtagid IN NUMBER, userid IN NUMBER)
12932
   IS
12933
     viewid   NUMBER;
12934
     envtab   NUMBER;
12935
   BEGIN
12936
     -- Get ViewId
12937
     --ViewId := PK_RELEASE.GET_PACKAGE_VIEW ( PvId, RtagId );
12938
     viewid := get_package_view (pvid, rtagid);
12939
     -- Remove from current area
12940
     envtab := pk_environment.get_package_area (pvid, rtagid);
6999 dpurdie 12941
     -- Log
12942
     -- log_action (pvid, 'action', userid, 'Start of Make Package UnRelease...' );
1373 dpurdie 12943
 
12944
     IF envtab = 2
12945
     THEN
12946
       -- RELEASE AREA --
12947
       pk_release.remove_package (pvid, rtagid, userid);
12948
     ELSIF envtab = 1
12949
     THEN
12950
       -- PENDING --
12951
       pk_planned.remove_package (pvid, rtagid, userid);
12952
     END IF;
12953
 
12954
     -- Change package state
12955
     pk_package.change_state (pvid, 'N', userid);
12956
 
12957
     -- Make sure it is valid BASE VIEW
12958
     IF viewid < 1
12959
     THEN
12960
       viewid := 7;                     -- This is default base view
12961
     END IF;
12962
 
12963
     -- Add package to new area
12964
     pk_work_in_progress.add_package (pvid, viewid, rtagid, userid);
12965
     -- Now do post Release Actions
12966
     pk_release.run_post_actions (pvid, rtagid);
6999 dpurdie 12967
 
12968
     -- Log
12969
     -- log_action (pvid, 'action', userid, 'End of Make Package UnRelease...');
1373 dpurdie 12970
   END;
12971
 
12972
/*-------------------------------------------------------------------------------------------------------*/
12973
   PROCEDURE make_pending (pvid IN NUMBER, rtagid IN NUMBER, userid IN NUMBER)
12974
   IS
12975
     viewid     NUMBER;
12976
     ispatch    CHAR (1) := NULL;
12977
     buildtype  CHAR (1) := NULL;
12978
   BEGIN
12979
     -- Check if package is patch
12980
     SELECT pv.is_patch, pv.build_type
12981
      INTO ispatch, buildtype
12982
      FROM package_versions pv
12983
      WHERE pv.pv_id = pvid;
12984
 
12985
     -- Get ViewId
12986
     viewid := get_package_view (pvid, rtagid);
12987
     --ViewId := PK_WORK_IN_PROGRESS.GET_PACKAGE_VIEW ( PvId, RtagId );
12988
 
6999 dpurdie 12989
     -- Log
12990
     --log_action (pvid, 'action', userid, 'Start of Make Package Pending...');
12991
 
1373 dpurdie 12992
     IF (ispatch IS NULL)
12993
     THEN
12994
       -- Remove from current area
12995
       pk_work_in_progress.remove_package (pvid, rtagid, userid);
12996
       -- Change package state
12997
       pk_package.change_state (pvid, 'P', userid);
12998
       -- Add package to new area
12999
       pk_planned.add_package (pvid, viewid, rtagid, userid);
13000
     END IF;
6999 dpurdie 13001
 
13002
     -- Log
13003
     --log_action (pvid, 'action', userid, 'End of Make Package Pending...');
1373 dpurdie 13004
   END;
13005
 
13006
/*-------------------------------------------------------------------------------------------------------*/
7039 dpurdie 13007
   PROCEDURE make_approved (pvid IN NUMBER, rtagid IN NUMBER, userid IN NUMBER, sched in VARCHAR2)
1373 dpurdie 13008
   IS
13009
   BEGIN
6999 dpurdie 13010
     -- Log
13011
     -- log_action (pvid, 'action', userid, 'Start of Package Pending Approval...' );
1373 dpurdie 13012
     -- Change package state
13013
     pk_package.change_state (pvid, 'A', userid);
6031 dpurdie 13014
 
5172 dpurdie 13015
     -- Flag Release has changed for the purposes of building
13016
     PK_RELEASE.SET_RELEASE_MODIFIED(rtagid);
7039 dpurdie 13017
 
13018
     PK_BUILDAPI.del_daemon_inst_by_rtag_pvid(2, rtagid, pvid);
13019
     IF sched IS NOT NULL THEN
13020
        -- Schedule a future build of the package
13021
        PK_BUILDAPI.insert_daemon_inst( 2, rtagid, pvid, TO_DATE( sched, 'YYYY-MM-DD HH24:MI:SS'), 0, ORA_SYSDATETIME, userid);
13022
        log_action (pvid, 'approve_scheduled', userid, 'Scheduled build:' || sched);
13023
 
13024
     END IF;
6999 dpurdie 13025
 
13026
     -- Log
13027
     -- log_action (pvid, 'action', userid, 'End of Package Pending Approval...');
1373 dpurdie 13028
   END;
13029
 
13030
/*-------------------------------------------------------------------------------------------------------*/
13031
   PROCEDURE make_reject (pvid IN NUMBER, rtagid IN NUMBER, userid IN NUMBER)
13032
   IS
13033
     viewid   NUMBER;
13034
     operation CHAR;
13035
   BEGIN
13036
     -- Get ViewId
13037
     viewid := get_package_view (pvid, rtagid);
13038
     -- ViewId := PK_PLANNED.GET_PACKAGE_VIEW ( PvId, RtagId );
13039
 
13040
     -- DEVI-45275
13041
     -- If the package version is an official version that is to be rejected from a merge operation
13042
     -- then find out in order to prevent it being added back to work-in-progress table . This will
13043
     -- be denoted by the operation field in the planned table being A or S
13044
     operation := ' ';
13045
     SELECT
13046
     (CASE WHEN pl.operation IS NOT NULL THEN pl.operation ELSE ' ' END) INTO operation
13047
     FROM planned pl
13048
     WHERE pl.PV_ID = pvid
13049
     AND pl.RTAG_ID = rtagid;
13050
 
6999 dpurdie 13051
     -- Log
13052
     -- log_action (pvid, 'action', userid, 'Start of Reject Package...');
13053
 
1373 dpurdie 13054
     -- Remove from current area
13055
     pk_planned.remove_package (pvid, rtagid, userid);
13056
 
13057
     -- DEVI-45275 - Prevent merge candidate from being added back to work-in-progress table .
13058
     IF operation <> 'A' AND operation <> 'S'
13059
     THEN
13060
     -- Change package state
13061
     pk_package.change_state (pvid, 'R', userid);
13062
     -- Add package to new area
13063
     pk_work_in_progress.add_package (pvid, viewid, rtagid, userid);
7039 dpurdie 13064
     PK_BUILDAPI.del_daemon_inst_by_rtag_pvid(2, rtagid, pvid);
1373 dpurdie 13065
     ELSE
13066
      log_action (pvid, 'action', userid, 'Rejected Package Merge');
13067
     END IF;
6999 dpurdie 13068
 
13069
     -- Log
13070
     -- log_action (pvid, 'action', userid, 'End of Reject Package...');
1373 dpurdie 13071
   END;
13072
 
13073
/*-------------------------------------------------------------------------------------------------------*/
13074
   PROCEDURE change_package_view (
13075
     pvid       IN   NUMBER,
13076
     rtagid     IN   NUMBER,
13077
     newviewid  IN   NUMBER
13078
   )
13079
   IS
13080
     envtab   NUMBER;
13081
   BEGIN
13082
     envtab := pk_environment.get_package_area (pvid, rtagid);
13083
 
13084
     IF envtab = 0
13085
     THEN
13086
       -- WORK IN PROGRESS --
13087
       pk_work_in_progress.change_package_view (pvid, rtagid, newviewid);
13088
     ELSIF envtab = 1
13089
     THEN
13090
       -- PENDING --
13091
       pk_planned.change_package_view (pvid, rtagid, newviewid);
13092
     ELSIF envtab = 2
13093
     THEN
13094
       -- RELEASED --
13095
       pk_release.change_package_view (pvid, rtagid, newviewid);
13096
     END IF;
13097
   END;
13098
 
13099
/*-------------------------------------------------------------------------------------------------------*/
13100
   PROCEDURE find_package (
13101
     skeyword     IN      VARCHAR2,
13102
     nrtagid      IN      NUMBER,
13103
     nsearcharea  IN      NUMBER,
13104
     recordset    OUT     typecur
13105
   )
13106
   IS
13107
   BEGIN
13108
     IF nsearcharea = 0
13109
     THEN
13110
       /* Search Work In Progress */
13111
       OPEN recordset FOR
13112
         SELECT nsearcharea AS env_area, vi.view_name, pv.dlocked,
13113
                pkg.pkg_name, pv.pv_id, pv.pkg_version, pv.comments,
13114
                pv.modified_stamp, usr.full_name, usr.user_email
13115
           FROM views vi,
13116
                work_in_progress rc,
13117
                PACKAGES pkg,
13118
                package_versions pv,
13119
                users usr
13120
          WHERE rc.view_id = vi.view_id
13121
            AND rc.pv_id = pv.pv_id
13122
            AND pkg.pkg_id = pv.pkg_id
13123
            AND pv.modifier_id = usr.user_id
13124
            AND rc.rtag_id = nrtagid
13125
            AND UPPER (pkg.pkg_name) LIKE UPPER (skeyword)
13126
       ORDER BY UPPER (pkg.pkg_name);
13127
     ELSIF nsearcharea = 1
13128
     THEN
13129
       /* Search Pending */
13130
       OPEN recordset FOR
13131
         SELECT nsearcharea AS env_area, vi.view_name, pv.dlocked,
13132
                pkg.pkg_name, pv.pv_id, pv.pkg_version, pv.comments,
13133
                pv.modified_stamp, usr.full_name, usr.user_email
13134
           FROM views vi,
13135
                planned rc,
13136
                PACKAGES pkg,
13137
                package_versions pv,
13138
                users usr
13139
          WHERE rc.view_id = vi.view_id
13140
            AND rc.pv_id = pv.pv_id
13141
            AND pkg.pkg_id = pv.pkg_id
13142
            AND pv.modifier_id = usr.user_id
13143
            AND rc.rtag_id = nrtagid
13144
            AND UPPER (pkg.pkg_name) LIKE UPPER (skeyword)
13145
       ORDER BY UPPER (pkg.pkg_name);
13146
     ELSIF nsearcharea = 2
13147
     THEN
13148
       /* Search Released */
13149
       OPEN recordset FOR
13150
         SELECT nsearcharea AS env_area, vi.view_name, pv.dlocked,
13151
                pkg.pkg_name, pv.pv_id, pv.pkg_version, pv.comments,
13152
                pv.modified_stamp, usr.full_name, usr.user_email
13153
           FROM views vi,
13154
                release_content rc,
13155
                PACKAGES pkg,
13156
                package_versions pv,
13157
                users usr
13158
          WHERE rc.base_view_id = vi.view_id
13159
            AND rc.pv_id = pv.pv_id
13160
            AND pkg.pkg_id = pv.pkg_id
13161
            AND pv.modifier_id = usr.user_id
13162
            AND rc.rtag_id = nrtagid
13163
            AND UPPER (pkg.pkg_name) LIKE UPPER (skeyword)
13164
         ORDER BY UPPER (pkg.pkg_name);
13165
     ELSIF nsearcharea = 3
13166
     THEN
13167
       /* Search ALL */
13168
       OPEN recordset FOR
13169
         SELECT rc.env_area, vi.view_name, pv.dlocked, pkg.pkg_name,
13170
                pv.pv_id, pv.pkg_version, pv.comments,
13171
                pv.modified_stamp, usr.full_name, usr.user_email
13172
           FROM views vi,
13173
                environment_view rc,
13174
                PACKAGES pkg,
13175
                package_versions pv,
13176
                users usr
13177
          WHERE rc.view_id = vi.view_id
13178
            AND rc.pv_id = pv.pv_id
13179
            AND pkg.pkg_id = pv.pkg_id
13180
            AND pv.modifier_id = usr.user_id
13181
            AND rc.rtag_id = nrtagid
13182
            AND UPPER (pkg.pkg_name) LIKE UPPER (skeyword)
13183
         ORDER BY UPPER (pkg.pkg_name);
13184
     END IF;
13185
   END;
13186
 
13187
/*-------------------------------------------------------------------------------------------------------*/
13188
   PROCEDURE find_file (
13189
     skeyword     IN      VARCHAR2,
13190
     nrtagid      IN      NUMBER,
13191
     nsearcharea  IN      NUMBER,
13192
     npagesize    IN      NUMBER,
13193
     recordset    OUT     typecur
13194
   )
13195
   IS
13196
   BEGIN
13197
     IF nsearcharea = 0
13198
     THEN
13199
       /* Search Work In Progress */
13200
       OPEN recordset FOR
13201
         SELECT   qry.*
13202
            FROM (
13203
                 /* File search on Packages */
13204
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13205
                        pv.pv_id, pv.pkg_version, art.crc_cksum
13206
                   FROM work_in_progress rc,
13207
                        PACKAGES pkg,
13208
                        package_versions pv,
13209
                        release_components art
13210
                  WHERE rc.pv_id = art.pv_id
13211
                    AND pv.pkg_id = pkg.pkg_id
13212
                    AND rc.pv_id = pv.pv_id
13213
                    AND rc.rtag_id = nrtagid
13214
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)
13215
                 UNION ALL
13216
                 /* File search on Products */
13217
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13218
                        pv.pv_id, pv.pkg_version, art.crc_cksum
13219
                   FROM work_in_progress rc,
13220
                        PACKAGES pkg,
13221
                        package_versions pv,
13222
                        product_components art
13223
                  WHERE rc.pv_id = art.pv_id
13224
                    AND pv.pkg_id = pkg.pkg_id
13225
                    AND rc.pv_id = pv.pv_id
13226
                    AND rc.rtag_id = nrtagid
13227
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)) qry
13228
            WHERE ROWNUM <= npagesize
13229
         ORDER BY UPPER (qry.pkg_name);
13230
     ELSIF nsearcharea = 1
13231
     THEN
13232
       /* Search Pending */
13233
       OPEN recordset FOR
13234
         SELECT   qry.*
13235
            FROM (
13236
                 /* File search on Packages */
13237
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13238
                        pv.pv_id, pv.pkg_version, art.crc_cksum
13239
                   FROM planned rc,
13240
                        PACKAGES pkg,
13241
                        package_versions pv,
13242
                        release_components art
13243
                  WHERE rc.pv_id = art.pv_id
13244
                    AND pv.pkg_id = pkg.pkg_id
13245
                    AND rc.pv_id = pv.pv_id
13246
                    AND rc.rtag_id = nrtagid
13247
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)
13248
                 UNION ALL
13249
                 /* File search on Products */
13250
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13251
                        pv.pv_id, pv.pkg_version, art.crc_cksum
13252
                   FROM planned rc,
13253
                        PACKAGES pkg,
13254
                        package_versions pv,
13255
                        product_components art
13256
                  WHERE rc.pv_id = art.pv_id
13257
                    AND pv.pkg_id = pkg.pkg_id
13258
                    AND rc.pv_id = pv.pv_id
13259
                    AND rc.rtag_id = nrtagid
13260
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)) qry
13261
            WHERE ROWNUM <= npagesize
13262
         ORDER BY UPPER (qry.pkg_name);
13263
     ELSIF nsearcharea = 2
13264
     THEN
13265
       /* Search Released */
13266
       OPEN recordset FOR
13267
         SELECT   qry.*
13268
            FROM (
13269
                 /* File search on Packages */
13270
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13271
                        pv.pv_id, pv.pkg_version, art.crc_cksum,
13272
                        NULL AS patch_id
13273
                   FROM release_content rc,
13274
                        PACKAGES pkg,
13275
                        package_versions pv,
13276
                        release_components art
13277
                  WHERE rc.pv_id = art.pv_id
13278
                    AND pv.pkg_id = pkg.pkg_id
13279
                    AND rc.pv_id = pv.pv_id
13280
                    AND rc.rtag_id = nrtagid
13281
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)
13282
                 UNION ALL
13283
                 /* File search on Products */
13284
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13285
                        pv.pv_id, pv.pkg_version, art.crc_cksum,
13286
                        NULL AS patch_id
13287
                   FROM release_content rc,
13288
                        PACKAGES pkg,
13289
                        package_versions pv,
13290
                        product_components art
13291
                  WHERE rc.pv_id = art.pv_id
13292
                    AND pv.pkg_id = pkg.pkg_id
13293
                    AND rc.pv_id = pv.pv_id
13294
                    AND rc.rtag_id = nrtagid
13295
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)
13296
                 UNION ALL
13297
                 /* File search on Patches */
13298
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13299
                        pv.pv_id, pv.pkg_version, art.crc_cksum,
13300
                        DECODE (art.file_path,
13301
                                NULL, pp.patch_id,
13302
                                NULL
13303
                                ) AS patch_id
13304
                   FROM release_content rc,
13305
                        PACKAGES pkg,
13306
                        package_versions pv,
13307
                        release_components art,
13308
                        package_patches pp
13309
                  WHERE pv.pv_id = pp.pv_id
13310
                    AND pv.pkg_id = pkg.pkg_id
13311
                    AND rc.rtag_id = nrtagid
13312
                    AND art.pv_id = pp.patch_id
13313
                    AND rc.pv_id = pp.pv_id
13314
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)) qry
13315
            WHERE ROWNUM <= npagesize
13316
         ORDER BY UPPER (qry.pkg_name);
13317
     ELSIF nsearcharea = 3
13318
     THEN
13319
       /* Search ALL */
13320
       OPEN recordset FOR
13321
         SELECT   qry.*
13322
            FROM (
13323
                 /* File search on Packages */
13324
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13325
                        pv.pv_id, pv.pkg_version, art.crc_cksum,
13326
                        NULL AS patch_id
13327
                   FROM environment_view rc,
13328
                        PACKAGES pkg,
13329
                        package_versions pv,
13330
                        release_components art
13331
                  WHERE rc.pv_id = art.pv_id
13332
                    AND pv.pkg_id = pkg.pkg_id
13333
                    AND rc.pv_id = pv.pv_id
13334
                    AND rc.rtag_id = nrtagid
13335
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)
13336
                 UNION ALL
13337
                 /* File search on Products */
13338
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13339
                        pv.pv_id, pv.pkg_version, art.crc_cksum,
13340
                        NULL AS patch_id
13341
                   FROM environment_view rc,
13342
                        PACKAGES pkg,
13343
                        package_versions pv,
13344
                        product_components art
13345
                  WHERE rc.pv_id = art.pv_id
13346
                    AND pv.pkg_id = pkg.pkg_id
13347
                    AND rc.pv_id = pv.pv_id
13348
                    AND rc.rtag_id = nrtagid
13349
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)
13350
                 UNION ALL
13351
                 /* File search on Patches */
13352
                 SELECT art.file_name, art.file_path, pkg.pkg_name,
13353
                        pv.pv_id, pv.pkg_version, art.crc_cksum,
13354
                        DECODE (art.file_path,
13355
                                NULL, pp.patch_id,
13356
                                NULL
13357
                               ) AS patch_id
13358
                   FROM release_content rc,
13359
                        PACKAGES pkg,
13360
                        package_versions pv,
13361
                        release_components art,
13362
                        package_patches pp
13363
                  WHERE pv.pv_id = pp.pv_id
13364
                    AND pv.pkg_id = pkg.pkg_id
13365
                    AND rc.rtag_id = nrtagid
13366
                    AND art.pv_id = pp.patch_id
13367
                    AND rc.pv_id = pp.pv_id
13368
                    AND UPPER (art.file_name) LIKE UPPER (skeyword)) qry
13369
            WHERE ROWNUM <= npagesize
13370
         ORDER BY UPPER (qry.pkg_name);
13371
     END IF;
13372
   END;
13373
 
13374
/*-------------------------------------------------------------------------------------------------------*/
13375
   PROCEDURE get_prodrelease_items (
13376
     rtagid           IN      NUMBER,
13377
     ntruerecordcount OUT     NUMBER,
13378
     recordset        OUT     typecur
13379
   )
13380
   IS
13381
   BEGIN
13382
     -- Get true record count n the number of integration products
13383
     SELECT COUNT (rc.pv_id)
13384
      INTO ntruerecordcount
13385
      FROM release_content rc
13386
      WHERE rc.rtag_id = rtagid;
13387
 
13388
     OPEN recordset FOR
13389
       SELECT vi.view_id, vi.view_name, rel.pkg_state,   --rel.pkg_state,
13390
              rel.deprecated_state, pv.pv_id, pkg.pkg_name,
13391
              pv.pkg_version, pv.dlocked, pv.pv_description
13392
         FROM release_content rel,
13393
              PACKAGES pkg,
13394
              package_versions pv,
13395
              views vi
13396
        WHERE pv.pkg_id = pkg.pkg_id
13397
          AND rel.pv_id = pv.pv_id
13398
          AND rel.base_view_id = vi.view_id
13399
          AND pv.is_deployable = 'Y'
13400
          AND rtag_id = rtagid
13401
          AND pv.pv_id NOT IN (SELECT DISTINCT prod_id
13402
                                 FROM deployment_manager.os_contents)
13403
          AND rel.product_state IS NULL
13404
     ORDER BY UPPER (vi.view_name), UPPER (pkg.pkg_name);
13405
   END;
13406
 
13407
/*-------------------------------------------------------------------------------------------------------*/
13408
   PROCEDURE get_integration_items (
13409
     rtagid           IN      NUMBER,
13410
     ntruerecordcount OUT     NUMBER,
13411
     recordset        OUT     typecur
13412
   )
13413
   IS
13414
   BEGIN
13415
     -- Get true record count n the number of integration products
13416
     SELECT COUNT (rc.pv_id)
13417
      INTO ntruerecordcount
13418
      FROM release_content rc
13419
      WHERE rc.rtag_id = rtagid AND rc.product_state = 1;
13420
 
13421
     OPEN recordset FOR
13422
       SELECT vi.view_id, vi.view_name, rel.pkg_state,
13423
              rel.deprecated_state, pv.pv_id, pkg.pkg_name,
13424
              pv.pkg_version, pv.dlocked, pv.pv_description
13425
         FROM release_content rel,
13426
              PACKAGES pkg,
13427
              package_versions pv,
13428
              views vi
13429
        WHERE pv.pkg_id = pkg.pkg_id
13430
          AND rel.pv_id = pv.pv_id
13431
          AND rel.base_view_id = vi.view_id
13432
          AND pv.is_deployable = 'Y'
13433
          AND rtag_id = rtagid
13434
          AND rel.product_state IN (1, 5)
13435
     ORDER BY UPPER (vi.view_name), UPPER (pkg.pkg_name);
13436
   END;
13437
 
13438
/*-------------------------------------------------------------------------------------------------------*/
13439
   PROCEDURE get_test_items (
13440
     rtagid           IN      NUMBER,
13441
     ntruerecordcount OUT     NUMBER,
13442
     recordset        OUT     typecur
13443
   )
13444
   IS
13445
   BEGIN
13446
     -- Get true record count n the number of test products
13447
     SELECT COUNT (rc.pv_id)
13448
      INTO ntruerecordcount
13449
      FROM release_content rc
13450
      WHERE rc.rtag_id = rtagid AND rc.product_state = 2;
13451
 
13452
     OPEN recordset FOR
13453
       SELECT vi.view_id, vi.view_name, rel.pkg_state,
13454
              rel.deprecated_state, pv.pv_id, pkg.pkg_name,
13455
              pv.pkg_version, pv.dlocked, pv.pv_description
13456
         FROM release_content rel,
13457
              PACKAGES pkg,
13458
              package_versions pv,
13459
              views vi
13460
        WHERE pv.pkg_id = pkg.pkg_id
13461
          AND rel.pv_id = pv.pv_id
13462
          AND rel.base_view_id = vi.view_id
13463
          AND pv.is_deployable = 'Y'
13464
          AND rtag_id = rtagid
13465
          AND rel.product_state = 2
13466
     ORDER BY UPPER (vi.view_name), UPPER (pkg.pkg_name);
13467
   END;
13468
 
13469
/*-------------------------------------------------------------------------------------------------------*/
13470
   PROCEDURE get_deploy_items (
13471
     rtagid           IN      NUMBER,
13472
     ntruerecordcount OUT     NUMBER,
13473
     recordset        OUT     typecur
13474
   )
13475
   IS
13476
   BEGIN
13477
     -- Get true record count n the number of deploy products
13478
     SELECT COUNT (rc.pv_id)
13479
      INTO ntruerecordcount
13480
      FROM release_content rc
13481
      WHERE rc.rtag_id = rtagid AND rc.product_state = 3;
13482
 
13483
     OPEN recordset FOR
13484
       SELECT vi.view_id, vi.view_name, rel.pkg_state,
13485
              rel.deprecated_state, pv.pv_id, pkg.pkg_name,
13486
              pv.pkg_version, pv.dlocked, pv.pv_description
13487
         FROM release_content rel,
13488
              PACKAGES pkg,
13489
              package_versions pv,
13490
              views vi
13491
        WHERE pv.pkg_id = pkg.pkg_id
13492
          AND rel.pv_id = pv.pv_id
13493
          AND rel.base_view_id = vi.view_id
13494
          AND pv.is_deployable = 'Y'
13495
          AND rtag_id = rtagid
13496
          AND rel.product_state IN (3, 5)
13497
          AND pv.pv_id NOT IN (SELECT DISTINCT prod_id
13498
                                 FROM deployment_manager.os_contents)
13499
     ORDER BY UPPER (vi.view_name), UPPER (pkg.pkg_name);
13500
   END;
13501
 
13502
/*-------------------------------------------------------------------------------------------------------*/
13503
   PROCEDURE get_reject_items (
13504
     rtagid           IN      NUMBER,
13505
     ntruerecordcount OUT     NUMBER,
13506
     recordset        OUT     typecur
13507
   )
13508
   IS
13509
   BEGIN
13510
     -- Get true record count n the number of reject products
13511
     SELECT COUNT (rc.pv_id)
13512
       INTO ntruerecordcount
13513
       FROM release_content rc
13514
      WHERE rc.rtag_id = rtagid AND rc.product_state = 4;
13515
 
13516
     OPEN recordset FOR
13517
       SELECT vi.view_id, vi.view_name, rel.pkg_state,
13518
              rel.deprecated_state, pv.pv_id, pkg.pkg_name,
13519
              pv.pkg_version, pv.dlocked, pv.pv_description
13520
         FROM release_content rel,
13521
              PACKAGES pkg,
13522
              package_versions pv,
13523
              views vi
13524
        WHERE pv.pkg_id = pkg.pkg_id
13525
          AND rel.pv_id = pv.pv_id
13526
          AND rel.base_view_id = vi.view_id
13527
          AND pv.is_deployable = 'Y'
13528
          AND rtag_id = rtagid
13529
          AND rel.product_state = 4
13530
     ORDER BY UPPER (vi.view_name), UPPER (pkg.pkg_name);
13531
   END;
13532
/*-------------------------------------------------------------------------------------------------------*/
13533
   -- DEVI-45275 - this procedure performs the merge of an existing package version in the planned table
13534
   -- to the release_content table.
13535
 
13536
  PROCEDURE approve_merge (
13537
   PvId    IN NUMBER,
13538
   RtagId  IN NUMBER,
13539
   UserId  IN NUMBER
13540
  )
13541
  IS
13542
   viewid        NUMBER;
13543
   envtab        NUMBER;
13544
   oper         CHAR;
13545
  BEGIN
13546
      -- Get ViewId
13547
     viewid := get_package_view (pvid, rtagid);
13548
 
13549
     -- Get the view tab
13550
     envtab := pk_environment.get_package_area (pvid, rtagid);
13551
 
13552
     -- Make sure that package was in pending before merging it to released
13553
     IF (envtab <> 1)
13554
     THEN
13555
       -- Not found in pending
13556
       raise_application_error (-20000,
13557
                          'This package cannot be released here.'
13558
                         );
13559
     END IF;
13560
 
6999 dpurdie 13561
     -- Log
13562
     --log_action (pvid, 'action', userid, 'Start of Package Merge...');
13563
 
1373 dpurdie 13564
     -- Get the planned operation type A=Add, S=Subtract
13565
     SELECT ev.operation INTO oper
13566
       FROM environment_view ev
13567
      WHERE ev.rtag_id = RtagId
13568
        AND ev.pv_id = PvId
13569
        AND (ev.operation = 'A' OR ev.operation = 'S');
13570
 
13571
     -- Remove from Pending
13572
     pk_planned.remove_package (PvId, RtagId, UserId);
13573
 
13574
     -- Either add to the release, or remove from the release as the operation commands
13575
     IF oper = 'A'
13576
     THEN
13577
       pk_release.add_package(PvId, viewId, RtagId, UserId);
13578
 
13579
     ELSIF oper = 'S'
13580
     THEN
13581
       pk_release.remove_package(PvId, RtagId, UserId);
13582
 
13583
       -- Delete old package's pegging info
13584
       DELETE FROM PEGGED_VERSIONS pegv WHERE pegv.RTAG_ID = RtagId AND pegv.PV_ID = PvId;
13585
 
13586
       -- Delete old package's advisory ripple info
13587
       DELETE FROM ADVISORY_RIPPLE avr WHERE avr.RTAG_ID = RtagId AND avr.PV_ID = PvId;
13588
     END IF;
13589
 
13590
     touch_release(RtagId);
6999 dpurdie 13591
 
13592
     -- Log
13593
     --log_action (pvid, 'action', userid, 'End of Package Merge...');
1373 dpurdie 13594
  END;
13595
/*-------------------------------------------------------------------------------------------------------*/
13596
END pk_environment;
4040 dpurdie 13597
 
6999 dpurdie 13598
/
4040 dpurdie 13599
--------------------------------------------------------
13600
--  DDL for Package Body PK_LICENCING
13601
--------------------------------------------------------
13602
 
5172 dpurdie 13603
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_LICENCING" IS
1373 dpurdie 13604
 
13605
/*
13606
------------------------------
3959 dpurdie 13607
||  Last Modified:  G.Huddy
13608
||  Modified Date:  19/Aug/2008
1373 dpurdie 13609
||  Body Version:   1.0
13610
------------------------------
13611
*/
13612
 
3959 dpurdie 13613
   PROCEDURE ADD_LICENCE ( PvId IN NUMBER, licenceId IN NUMBER, UserId IN NUMBER ) IS
13614
   BEGIN
13615
      IF IS_LICENCED(PvId, licenceId) = 0 THEN
13616
         -- Add entry to licencing table
13617
         INSERT INTO licencing (pv_id, licence)
13618
         VALUES (PvId, licenceId);
1373 dpurdie 13619
 
3959 dpurdie 13620
         -- log action
13621
         -- TODO
13622
      END IF;
1373 dpurdie 13623
 
3959 dpurdie 13624
   END;
1373 dpurdie 13625
 
13626
/*-------------------------------------------------------------------------------------------------------*/
13627
 
3959 dpurdie 13628
   PROCEDURE REMOVE_LICENCE ( PvId IN NUMBER, licenceId IN NUMBER, UserId IN NUMBER ) IS
13629
   BEGIN
13630
      IF NOT IS_LICENCED(PvId, licenceId) = 0 THEN
13631
         -- Delete entry from licencing table
13632
         DELETE FROM licencing
13633
         WHERE pv_id = PvId
13634
         AND licence = licenceId;
1373 dpurdie 13635
 
3959 dpurdie 13636
         -- log action
13637
         -- TODO
13638
      END IF;
13639
   END;
1373 dpurdie 13640
 
13641
/*-------------------------------------------------------------------------------------------------------*/
13642
 
3959 dpurdie 13643
   PROCEDURE CLONE_LICENCING( fromPvId IN NUMBER, toPvId IN NUMBER, UserId IN NUMBER ) IS
1373 dpurdie 13644
 
3959 dpurdie 13645
      CURSOR licencing_cur
13646
      IS
13647
         SELECT *
13648
         FROM licencing
13649
         WHERE pv_id = fromPvId;
1373 dpurdie 13650
 
3959 dpurdie 13651
      licencing_rec licencing_cur%ROWTYPE;
1373 dpurdie 13652
 
13653
   BEGIN
3959 dpurdie 13654
      -- For each licence association that the Last PV_ID had, create a similar
13655
      -- arrangement for the new PV_ID
13656
      -- NOTE that any additional licencing associations the new PV_ID has that the old one
13657
      -- does not have, are retained. The assumption is that the user has made those and so we do not
13658
      -- have any right to destroy them without asking them.
13659
      OPEN licencing_cur;
1373 dpurdie 13660
 
3959 dpurdie 13661
      FETCH licencing_cur
13662
      INTO licencing_rec;
1373 dpurdie 13663
 
3959 dpurdie 13664
      WHILE licencing_cur%FOUND
1373 dpurdie 13665
      LOOP
3959 dpurdie 13666
         ADD_LICENCE ( toPvId, licencing_rec.licence, UserId );
1373 dpurdie 13667
 
3959 dpurdie 13668
         FETCH licencing_cur
13669
         INTO licencing_rec;
1373 dpurdie 13670
      END LOOP;
13671
   END;
13672
 
13673
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 13674
 
13675
   FUNCTION IS_LICENCED( PvId IN NUMBER, licenceId IN NUMBER) RETURN NUMBER IS
13676
      found NUMBER;
1373 dpurdie 13677
   BEGIN
13678
 
3959 dpurdie 13679
      SELECT COUNT(*) INTO found
13680
      FROM licencing
13681
      WHERE pv_id = PvId
13682
      AND licence = LicenceId;
1373 dpurdie 13683
 
3959 dpurdie 13684
      RETURN found;
1373 dpurdie 13685
   END;
13686
 
13687
/*-------------------------------------------------------------------------------------------------------*/
13688
 
3959 dpurdie 13689
   PROCEDURE REMOVE_ALL_LICENCING( PvId IN NUMBER, UserId IN NUMBER ) IS
1373 dpurdie 13690
 
3959 dpurdie 13691
      CURSOR licencing_cur
13692
      IS
1373 dpurdie 13693
         SELECT *
3959 dpurdie 13694
         FROM licencing
13695
         WHERE pv_id = PvId;
1373 dpurdie 13696
 
3959 dpurdie 13697
      licencing_rec licencing_cur%ROWTYPE;
13698
   BEGIN
13699
      -- For each licence association that the PV_ID had, remove it
13700
      OPEN licencing_cur;
1373 dpurdie 13701
 
3959 dpurdie 13702
      FETCH licencing_cur
13703
      INTO licencing_rec;
1373 dpurdie 13704
 
3959 dpurdie 13705
      WHILE licencing_cur%FOUND
13706
      LOOP
13707
         REMOVE_LICENCE ( PvId, licencing_rec.licence, UserId );
1373 dpurdie 13708
 
3959 dpurdie 13709
         FETCH licencing_cur
13710
         INTO licencing_rec;
13711
      END LOOP;
1373 dpurdie 13712
   END;
13713
 
13714
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 13715
END PK_LICENCING;
4040 dpurdie 13716
 
6999 dpurdie 13717
/
4040 dpurdie 13718
--------------------------------------------------------
13719
--  DDL for Package Body PK_PACKAGE
13720
--------------------------------------------------------
13721
 
5172 dpurdie 13722
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_PACKAGE" 
1373 dpurdie 13723
IS
13724
   /*-------------------------------------------------------------------------------------------------------*/
13725
   PROCEDURE new_version (
13726
      nlastpvid                   IN       NUMBER,
13727
      snewpkgversion              IN       VARCHAR2 DEFAULT NULL,
13728
      cbuildtype                  IN       CHAR,
4211 dpurdie 13729
      cchangetype                 IN       CHAR,
1373 dpurdie 13730
      nsettopvid                  IN       NUMBER DEFAULT NULL,
13731
      nrtagid                     IN       NUMBER,
13732
      nuserid                     IN       NUMBER,
13733
      enumissues_state_imported   IN       NUMBER,
13734
      returnpvid                  OUT      NUMBER
13735
   )
13736
   IS
3959 dpurdie 13737
      origpkg_id                  package_versions.pkg_id%TYPE;
13738
      origdlocked                 package_versions.dlocked%TYPE;
13739
      ssv_mm                      package_versions.v_mm%TYPE;
13740
      ssv_nmm                     package_versions.v_nmm%TYPE;
13741
      ssv_ext                     package_versions.v_ext%TYPE;
13742
      spackageversion             VARCHAR2 (4000);
13743
      nissuestypes                NUMBER;
13744
      nviewid                     NUMBER;
13745
      reccount                    NUMBER;
13746
      isreleased                  package_versions.dlocked%TYPE := 'N';
13747
      slabel                      VARCHAR2 (4000)               := NULL;
4211 dpurdie 13748
      uchangetype                 CHAR := cchangetype;
1373 dpurdie 13749
 
13750
      CURSOR package_versions_cur
13751
      IS
13752
         SELECT pv.pv_id, pv.is_patch, pv.dlocked
13753
           FROM package_versions pv
13754
          WHERE pv.pkg_version = snewpkgversion
13755
            AND pv.pkg_id IN (SELECT DISTINCT origpv.pkg_id
13756
                                         FROM package_versions origpv
13757
                                        WHERE origpv.pv_id = nlastpvid);
13758
 
3959 dpurdie 13759
      package_versions_rec package_versions_cur%ROWTYPE;
1373 dpurdie 13760
 
13761
      CURSOR clone_package_versions_cur
13762
      IS
13763
         SELECT DISTINCT pkg_id, dlocked
13764
                    FROM package_versions
13765
                   WHERE pv_id = nlastpvid;
13766
 
3959 dpurdie 13767
      clone_package_versions_rec clone_package_versions_cur%ROWTYPE;
1373 dpurdie 13768
   BEGIN
13769
      spackageversion := snewpkgversion;
13770
 
13771
      IF nsettopvid IS NULL
13772
      THEN
13773
         -- SetToPv_id is not supplied, hence proceed.
13774
 
13775
         /* ---------------------------------------------------- */
3959 dpurdie 13776
         /* Find id package_version exists                       */
13777
         /* ---------------------------------------------------- */
1373 dpurdie 13778
         OPEN package_versions_cur;
13779
 
13780
         FETCH package_versions_cur
13781
          INTO package_versions_rec;
13782
 
13783
         IF package_versions_cur%NOTFOUND
13784
         THEN
13785
            ---  Create brand new package ---
13786
            SELECT seq_pv_id.NEXTVAL
13787
              INTO returnpvid
13788
              FROM DUAL;
13789
 
13790
            -- Split Version to get extention + other
13791
            split_version (spackageversion, ssv_mm, ssv_nmm, ssv_ext);
13792
 
13793
            -- Get previous package to clone from
13794
            OPEN clone_package_versions_cur;
13795
 
13796
            FETCH clone_package_versions_cur
13797
             INTO clone_package_versions_rec;
13798
 
13799
            origpkg_id := clone_package_versions_rec.pkg_id;
13800
            origdlocked := clone_package_versions_rec.dlocked;
13801
 
13802
            CLOSE clone_package_versions_cur;
13803
 
13804
            -- Automated built config
4211 dpurdie 13805
            IF ( cbuildtype = 'M' ) THEN
13806
              uchangetype := 'F';
6031 dpurdie 13807
            END IF;
13808
 
4211 dpurdie 13809
            -- Automated version numbering
13810
            -- Make sure that version is still unique
13811
            IF (uchangetype != 'F') THEN
13812
              spackageversion := '(' || returnpvid || ')' || ssv_ext;
1373 dpurdie 13813
            END IF;
13814
 
6031 dpurdie 13815
 
1373 dpurdie 13816
            -- Clone Package Version Details --
3959 dpurdie 13817
            INSERT INTO package_versions(pv_id, pkg_id, pkg_version, dlocked, created_stamp,
13818
                                         creator_id, modified_stamp, modifier_id, v_mm, v_nmm,
13819
                                         v_ext, src_path, pv_description, pv_overview,
13820
                                         last_pv_id, owner_id, is_deployable,
6031 dpurdie 13821
                                         is_build_env_required, build_type, change_type,
5892 dpurdie 13822
                                         bs_id, is_autobuildable, ripple_field, build_time)
3959 dpurdie 13823
                 SELECT returnpvid AS pv_id, origpkg_id AS pkg_id,
13824
                        spackageversion AS pkg_version, 'N' AS dlocked,
7000 dpurdie 13825
                        ora_sysdatetime AS created_stamp, nuserid AS creator_id,
3959 dpurdie 13826
                        ora_sysdatetime AS modified_stamp,
13827
                        nuserid AS modifier_id, ssv_mm AS v_mm,
13828
                        ssv_nmm AS v_nmm, ssv_ext AS v_ext, pv.src_path,
13829
                        pv.pv_description, pv.pv_overview,
13830
                        nlastpvid AS last_pv_id, pv.owner_id, pv.is_deployable,
6031 dpurdie 13831
                        pv.is_build_env_required, cbuildtype, uchangetype,
5892 dpurdie 13832
                        pv.bs_id, pv.is_autobuildable, pv.ripple_field, pv.build_time
3959 dpurdie 13833
                   FROM package_versions pv
13834
                  WHERE pv.pv_id = nlastpvid;
1373 dpurdie 13835
 
13836
            -- Set Issues Type for cloning ---
13837
            IF origdlocked = 'Y'
13838
            THEN
13839
               nissuestypes := enumissues_state_imported;
13840
            ELSE
13841
               nissuestypes := NULL;
13842
            END IF;
13843
 
13844
            basic_clone (nlastpvid,
13845
                         returnpvid,
13846
                         nrtagid,
13847
                         nuserid,
13848
                         origpkg_id,
13849
                         nissuestypes
13850
                        );
6031 dpurdie 13851
 
4211 dpurdie 13852
            -- Update Label for versioning purposes
13853
            slabel := get_automated_label (returnpvid);
13854
            UPDATE package_versions pv
13855
            SET pv.pkg_label = slabel
13856
            WHERE pv.pv_id = returnpvid;
6031 dpurdie 13857
 
1373 dpurdie 13858
         ELSE
13859
            --- Package already exists, hence reuse ---
13860
            returnpvid := package_versions_rec.pv_id;
13861
            isreleased := package_versions_rec.dlocked;
13862
         END IF;
13863
 
13864
         CLOSE package_versions_cur;
13865
      ELSE
13866
         returnpvid := nsettopvid;
13867
      END IF;
13868
   END new_version;
13869
 
13870
/*-------------------------------------------------------------------------------------------------------*/
13871
   PROCEDURE change_state (
13872
      pvid       IN   NUMBER,
13873
      newstate   IN   package_versions.dlocked%TYPE,
13874
      userid     IN   NUMBER
13875
   )
13876
   IS
13877
   BEGIN
13878
      -- Set package in Released mode
13879
      UPDATE package_versions pv
13880
         SET pv.dlocked = newstate,
13881
             pv.modified_stamp = ora_sysdatetime,
13882
             pv.modifier_id = userid
13883
       WHERE pv.pv_id = pvid;
13884
 
13885
      -- Log action --
13886
      IF newstate = 'Y'
13887
      THEN
13888
         -- RELEASED --
6999 dpurdie 13889
         log_action (pvid,
13890
                     'makeofficial',
13891
                     userid,
13892
                     'Package state change to: Released'
13893
                    );
1373 dpurdie 13894
      ELSIF newstate = 'N'
13895
      THEN
13896
         -- UNLOCKED --
6999 dpurdie 13897
         log_action (pvid,
13898
                     'makeunofficial',
13899
                     userid,
13900
                     'Package state change to: Ulocked'
13901
                    );
1373 dpurdie 13902
      ELSIF newstate = 'P'
13903
      THEN
13904
         -- PENDING APPROVAL --
6999 dpurdie 13905
         log_action (pvid,
13906
                     'add_to_planned',
13907
                     userid,
13908
                     'Package state change to: Pending Approval'
13909
                    );
1373 dpurdie 13910
      ELSIF newstate = 'R'
13911
      THEN
13912
         -- REJECTED --
6999 dpurdie 13913
         log_action (pvid,
13914
                     'reject_package',
13915
                     userid,
13916
                     'Package state change to: Rejected'
13917
                    );
1373 dpurdie 13918
      ELSIF newstate = 'A'
13919
      THEN
13920
         -- APPROVED --
6999 dpurdie 13921
         log_action (pvid,
13922
                     'approve_package',
13923
                     userid,
13924
                     'Package state change to: Approved'
13925
                    );
1373 dpurdie 13926
      END IF;
13927
   END;
13928
 
13929
/*-------------------------------------------------------------------------------------------------------*/
6031 dpurdie 13930
-- This function has been deprecated and can be deleted
13931
-- Replaced with destroy_package_extended
1373 dpurdie 13932
   PROCEDURE destroy_package (
13933
      pvid               IN       NUMBER,
13934
      overridewarnings   IN       CHAR DEFAULT 'N',
13935
      problemstring      OUT      VARCHAR2
13936
   )
13937
   IS
13938
      LOCKED     CHAR;
13939
      pkgid      NUMBER;
13940
      ROWCOUNT   NUMBER;
6031 dpurdie 13941
      lastPvid   NUMBER;
1373 dpurdie 13942
   BEGIN
13943
      /*
13944
      || This will destroy all package details from database.
13945
      || It will only be used to remove unwanted work in progress packages,
6031 dpurdie 13946
      || or mistaken versions
1373 dpurdie 13947
      */
13948
 
13949
      /*--------------- Business Rules Here -------------------*/
13950
      problemstring := NULL;
13951
 
13952
      IF overridewarnings = 'N'
13953
      THEN
13954
         -- Package must not be official
13955
         SELECT pv.dlocked
13956
           INTO LOCKED
13957
           FROM package_versions pv
13958
          WHERE pv.pv_id = pvid;
13959
 
13960
         IF LOCKED = 'Y'
13961
         THEN
13962
            problemstring :=
13963
                  problemstring
13964
               || '- Package is locked and released.'
5892 dpurdie 13965
               ||PK_PACKAGE.crlf;
1373 dpurdie 13966
         END IF;
13967
 
13968
         -- Cannot remove if used in BOMs
13969
         SELECT COUNT (osc.prod_id)
13970
           INTO ROWCOUNT
13971
           FROM deployment_manager.os_contents osc
13972
          WHERE osc.prod_id = pvid;
13973
 
13974
         IF ROWCOUNT > 0
13975
         THEN
13976
            problemstring :=
13977
                  problemstring
13978
               || '- Package is part of Bill-Of-Material (BOM) in Deployment Manager.'
5892 dpurdie 13979
               ||PK_PACKAGE.crlf;
1373 dpurdie 13980
         END IF;
6031 dpurdie 13981
 
13982
         -- Cannot remove if used in an SDK
13983
         SELECT COUNT (sc.pv_id)
13984
           INTO ROWCOUNT
13985
           FROM sdk_content sc
13986
          WHERE sc.pv_id = pvid;
1373 dpurdie 13987
 
6031 dpurdie 13988
         IF ROWCOUNT > 0
13989
         THEN
13990
            problemstring :=
13991
                  problemstring
13992
               || '- Package is part of an SDK.'
13993
               ||PK_PACKAGE.crlf;
13994
         END IF;
13995
 
1373 dpurdie 13996
         -- Cannot remove if Referenced as build dependency
13997
         SELECT COUNT (dep.pv_id)
13998
           INTO ROWCOUNT
13999
           FROM package_dependencies dep
14000
          WHERE dep.dpv_id = pvid;
14001
 
14002
         IF ROWCOUNT > 0
14003
         THEN
14004
            problemstring :=
14005
                  problemstring
14006
               || '- Package is referenced by other package as build dependency.'
5892 dpurdie 14007
               ||PK_PACKAGE.crlf;
1373 dpurdie 14008
         END IF;
14009
 
14010
         -- Cannot remove if Referenced as runtime dependency
14011
         SELECT COUNT (rd.pv_id)
14012
           INTO ROWCOUNT
14013
           FROM runtime_dependencies rd
14014
          WHERE rd.rtd_id = pvid;
14015
 
14016
         IF ROWCOUNT > 0
14017
         THEN
14018
            problemstring :=
14019
                  problemstring
14020
               || '- Package is referenced by other package as runtime dependency.'
5892 dpurdie 14021
               ||PK_PACKAGE.crlf;
1373 dpurdie 14022
         END IF;
14023
 
14024
         -- Cannot remove if Referenced as patch
14025
         SELECT COUNT (pp.pv_id)
14026
           INTO ROWCOUNT
14027
           FROM package_patches pp
14028
          WHERE pp.patch_id = pvid;
14029
 
14030
         IF ROWCOUNT > 0
14031
         THEN
14032
            problemstring :=
14033
                  problemstring
14034
               || '- Package is used as patch by other package.'
5892 dpurdie 14035
               ||PK_PACKAGE.crlf;
1373 dpurdie 14036
         END IF;
6031 dpurdie 14037
 
14038
         -- Cannot remove if a Daemon Instruction
14039
         SELECT COUNT (di.pv_id)
14040
           INTO ROWCOUNT
14041
           FROM DAEMON_INSTRUCTIONS di
14042
          WHERE di.pv_id = pvid;
1373 dpurdie 14043
 
6031 dpurdie 14044
         IF ROWCOUNT > 0
14045
         THEN
14046
            problemstring :=
14047
                  problemstring
14048
               || '- Package is in use for a Daemon Instruction.'
14049
               ||PK_PACKAGE.crlf;
14050
         END IF;
14051
 
14052
 
14053
      END IF;      
14054
 
1373 dpurdie 14055
/*-------------------------------------------------------*/
14056
      IF (problemstring IS NULL)
14057
      THEN
14058
         --- Remove From Work in Progress
14059
         DELETE FROM work_in_progress wip
14060
               WHERE wip.pv_id = pvid;
14061
 
14062
         --- Remove From Pending
14063
         DELETE FROM planned pl
14064
               WHERE pl.pv_id = pvid;
14065
 
14066
         --- Remove From Released area
14067
         DELETE FROM release_content rc
14068
               WHERE rc.pv_id = pvid;
14069
 
14070
         ---Remove From Package Processes
14071
         DELETE FROM package_processes pp
14072
               WHERE pp.pv_id = pvid;
14073
 
14074
         --- Remove Dependencies
14075
         DELETE FROM package_dependencies dep
14076
               WHERE dep.pv_id = pvid;
14077
 
14078
         DELETE FROM package_dependencies dep
14079
               WHERE dep.dpv_id = pvid;
14080
 
14081
         --- Remove Runtime dependencies
14082
         DELETE FROM runtime_dependencies rtd
14083
               WHERE rtd.pv_id = pvid;
14084
 
14085
         DELETE FROM runtime_dependencies rtd
14086
               WHERE rtd.rtd_id = pvid;
14087
 
14088
         --- Remove components
14089
         DELETE FROM product_components pc
14090
               WHERE pc.pv_id = pvid;
14091
 
14092
         DELETE FROM release_components rc
14093
               WHERE rc.pv_id = pvid;
14094
 
14095
         --- Remove From Notification History
14096
         DELETE FROM notification_history nh
14097
               WHERE nh.pv_id = pvid;
14098
 
14099
         --- Remove From Ignore Warnings
14100
         DELETE FROM ignore_warnings iw
14101
               WHERE iw.pv_id = pvid;
14102
 
14103
         --- Remove From Additional Notes
14104
         DELETE FROM additional_notes an
14105
               WHERE an.pv_id = pvid;
14106
 
14107
         --- Remove From CQ Issues
14108
         DELETE FROM cq_issues cq
14109
               WHERE cq.pv_id = pvid;
14110
 
14111
         --- Remove from Package Patches
14112
         DELETE FROM package_patches pp
14113
               WHERE pp.pv_id = pvid;
14114
 
14115
         DELETE FROM package_patches pp
14116
               WHERE pp.patch_id = pvid;
14117
 
14118
         --- Remove From Package Documents
14119
         DELETE FROM package_documents pd
14120
               WHERE pd.pv_id = pvid;
14121
 
14122
         --- Remove from Code Review
14123
         DELETE FROM code_reviews cr
14124
               WHERE cr.pv_id = pvid;
14125
 
3959 dpurdie 14126
         --- Remove from Code Review URL
14127
         DELETE FROM code_review_url cru
14128
               WHERE cru.pv_id = pvid;
14129
 
1373 dpurdie 14130
         --- Remove from Unit Tests
14131
         DELETE FROM unit_tests ut
14132
               WHERE ut.pv_id = pvid;
14133
 
14134
         --- Remove from Package BuildEnv
14135
         DELETE FROM package_build_env pbe
14136
               WHERE pbe.pv_id = pvid;
14137
 
3959 dpurdie 14138
         --- Remove from Package Build Info
14139
         DELETE FROM package_build_info pbi
14140
               WHERE pbi.pv_id = pvid;
6031 dpurdie 14141
 
14142
        --- Remove from Build Plan
14143
         DELETE FROM BUILD_PLAN bp
14144
               WHERE bp.pv_id = pvid;
14145
 
14146
         --- Remove from Build Instances
14147
         DELETE FROM BUILD_INSTANCES bi
14148
               WHERE bi.pv_id = pvid;
3959 dpurdie 14149
 
1373 dpurdie 14150
         --- Remove from Build Order
14151
         DELETE FROM build_order bo
14152
               WHERE bo.pv_id = pvid;
14153
 
3959 dpurdie 14154
         --- Remove from Licencing
14155
         PK_LICENCING.REMOVE_ALL_LICENCING( pvid, 0 );
14156
 
1373 dpurdie 14157
         --- Remove from Note Manager
14158
         DELETE FROM note_manager nm
14159
               WHERE nm.nid = pvid;
14160
 
14161
         --- Remove from Action log
14162
         DELETE FROM action_log al
14163
               WHERE al.pv_id = pvid;
3959 dpurdie 14164
 
14165
         --- Remove from Do Not Ripple
14166
         DELETE FROM DO_NOT_RIPPLE dnr
14167
               WHERE dnr.PV_ID = pvid;
6031 dpurdie 14168
 
14169
        --- Remove from SDK
14170
        DELETE FROM SDK_CONTENT sc
14171
            WHERE sc.PV_ID = pvid;
14172
 
14173
        -- Remove from daemon Instruction
14174
        DELETE FROM DAEMON_INSTRUCTIONS di
14175
          WHERE di.PV_ID = pvid;
3959 dpurdie 14176
 
14177
         --- Remove from Advisory Ripple
14178
         DELETE FROM ADVISORY_RIPPLE ar
14179
               WHERE ar.PV_ID = pvid;
14180
 
14181
         --- Remove from Jira Issues
14182
         DELETE FROM JIRA_ISSUES jira
14183
               WHERE jira.PV_ID = pvid;
14184
 
14185
         --- Remove from Package Metrics
14186
         DELETE FROM package_metrics pm
14187
              WHERE pm.pv_id = pvid;
14188
 
14189
         -- Delete from Pegged Versions
14190
         DELETE FROM pegged_versions pegv
14191
              WHERE pegv.pv_id = pvid;
14192
 
1373 dpurdie 14193
         --- Finally Remove From Package Versions
14194
         --- Get Package name
6031 dpurdie 14195
         SELECT pv.pkg_id, pv.LAST_PV_ID
14196
           INTO pkgid, lastPvid
1373 dpurdie 14197
           FROM package_versions pv
14198
          WHERE pv.pv_id = pvid;
6031 dpurdie 14199
 
14200
          --- Relink packages last_pv_id
14201
          IF lastPvid is NOT NULL AND pvid !=  lastPvid THEN
14202
            UPDATE package_versions pv
14203
               SET pv.LAST_PV_ID = lastPvid
14204
             WHERE pv.LAST_PV_ID = pvid;
14205
          END IF;
14206
 
14207
         --- Delete the version
1373 dpurdie 14208
         DELETE FROM package_versions pv
14209
               WHERE pv.pv_id = pvid;
14210
 
14211
         --- Remove package name if not used any more
14212
         SELECT COUNT (pv.pv_id)
14213
           INTO ROWCOUNT
14214
           FROM package_versions pv
14215
          WHERE pv.pkg_id = pkgid;
14216
 
14217
         IF ROWCOUNT < 1
14218
         THEN
14219
            DELETE FROM PACKAGES pkg
14220
                  WHERE pkg.pkg_id = pkgid;
14221
         END IF;
14222
      END IF;
14223
   END;
14224
 
14225
/*-------------------------------------------------------------------------------------------------------*/
6031 dpurdie 14226
    PROCEDURE destroy_package_extended (
14227
      pvid               IN       NUMBER,
14228
      rtagid             IN       NUMBER,
14229
      overridewarnings   IN       NUMBER DEFAULT 0,
14230
      RESULTS            OUT      SYS_REFCURSOR
14231
      -- pvid - The pvid of the package to delete
14232
 
14233
      -- rtagid - Package is allowed to exist in this release
14234
 
14235
      -- overridewarnings
14236
      --    0   - Do not delete, just test
14237
      --    1   - Delete package if there are only advisory warnings
14238
      --    2   - Delete package even if there are FoolHardy warnings
14239
 
14240
      -- Results [OUTPUT]
14241
      --    Message Text, Error Level
14242
      --    Where error Level is
14243
      --        'A' - Advisory.
14244
      --        'F' - Foolhardy. Will damage releases, SBOMs and other packages
14245
   )
14246
   IS
14247
      LOCKED     CHAR;
14248
      pkgid      NUMBER;
14249
      ROWCOUNT   NUMBER;
14250
      lastPvid   NUMBER;
14251
 
14252
      vartbl RELMGR_PKG_DESTROY_ERR_TAB_T := RELMGR_PKG_DESTROY_ERR_TAB_T();
14253
      ii NUMBER;
14254
 
14255
      -- Add message to table that will be returned
14256
      PROCEDURE ADD_MESSAGE( p1 IN VARCHAR2, p2 IN CHAR)
14257
      IS
14258
      BEGIN
14259
        ii := ii + 1;
14260
        vartbl.extend;
14261
        vartbl(ii) := RELMGR_PKG_DESTROY_ERR_T(p1,UPPER(p2));
14262
      END; 
14263
 
14264
   BEGIN
14265
      /*
14266
      || This will destroy all package details from database.
14267
      || It will only be used to remove unwanted work in progress packages,
14268
      || or mistaken versions
14269
      */
14270
 
14271
      /*--------------- Business Rules Here -------------------*/
14272
      ii := 0;
14273
 
14274
      IF overridewarnings < 1
14275
      THEN
14276
         -- Package must not be official
14277
         SELECT pv.dlocked
14278
           INTO LOCKED
14279
           FROM package_versions pv
14280
          WHERE pv.pv_id = pvid;
14281
 
14282
         IF LOCKED = 'Y'
14283
         THEN
14284
            ADD_MESSAGE ('Package Version is locked and released.', 'A');
14285
         END IF;
14286
 
14287
         -- Cannot remove if a WIP
14288
         SELECT COUNT (pv_id)
14289
           INTO ROWCOUNT
14290
           FROM work_in_progress wip
14291
          WHERE wip.pv_id = pvid AND wip.RTAG_ID != rtagid;
14292
 
14293
         IF ROWCOUNT > 0
14294
         THEN
14295
            ADD_MESSAGE ('Version is in use as a WIP.', 'A');
14296
         END IF;
14297
 
14298
         -- Cannot remove if a PENDING
14299
         SELECT COUNT (pv_id)
14300
           INTO ROWCOUNT
14301
           FROM planned pl
14302
          WHERE pl.pv_id = pvid AND pl.RTAG_ID != rtagid;
14303
 
14304
         IF ROWCOUNT > 0
14305
         THEN
14306
            ADD_MESSAGE ('Version is Pending in a release.', 'A');
14307
         END IF;
14308
 
14309
         -- Cannot remove if in a Release
14310
         SELECT COUNT (pv_id)
14311
           INTO ROWCOUNT
14312
           FROM release_content rc
14313
          WHERE pv_id = pvid AND rc.RTAG_ID != rtagid;
14314
 
14315
         IF ROWCOUNT > 1
14316
         THEN
14317
            ADD_MESSAGE ('Version is a part of another Releases.', 'A');
14318
         END IF;
14319
 
14320
 
14321
         -- Cannot remove if a Daemon Instruction
14322
         SELECT COUNT (di.pv_id)
14323
           INTO ROWCOUNT
14324
           FROM DAEMON_INSTRUCTIONS di
14325
          WHERE di.pv_id = pvid;
14326
 
14327
         IF ROWCOUNT > 0
14328
         THEN
14329
            ADD_MESSAGE ('Version has outstanding Daemon Instruction.', 'A');
14330
         END IF;
14331
 
14332
      END IF;
14333
 
14334
      IF overridewarnings < 2
14335
      THEN
14336
         -- Cannot remove if used in BOMs
14337
         SELECT COUNT (osc.prod_id)
14338
           INTO ROWCOUNT
14339
           FROM deployment_manager.os_contents osc
14340
          WHERE osc.prod_id = pvid;
14341
 
14342
         IF ROWCOUNT > 0
14343
         THEN
14344
            ADD_MESSAGE ('Version is part of Bill-Of-Material (BOM) in Deployment Manager.', 'F');
14345
         END IF;
14346
 
14347
         -- Cannot remove if used in BOMs - Base Env
14348
         SELECT COUNT (bec.prod_id)
14349
           INTO ROWCOUNT
14350
           FROM deployment_manager.base_env_contents bec
14351
          WHERE bec.prod_id = pvid;
14352
 
14353
         IF ROWCOUNT > 0
14354
         THEN
14355
            ADD_MESSAGE ('Version is part of Base Environment in Deployment Manager.', 'F');
14356
         END IF;
14357
 
14358
         -- Cannot remove if used in an SDK
14359
         SELECT COUNT (sc.pv_id)
14360
           INTO ROWCOUNT
14361
           FROM sdk_content sc
14362
          WHERE sc.pv_id = pvid;
14363
 
14364
         IF ROWCOUNT > 0
14365
         THEN
14366
            ADD_MESSAGE ('Version is part of an SDK', 'F');
14367
         END IF;
14368
 
14369
         -- Cannot remove if Referenced as build dependency
14370
         SELECT COUNT (dep.pv_id)
14371
           INTO ROWCOUNT
14372
           FROM package_dependencies dep
14373
          WHERE dep.dpv_id = pvid;
14374
 
14375
         IF ROWCOUNT > 0
14376
         THEN
14377
            ADD_MESSAGE ('Version is referenced by a package as build dependency.', 'F');
14378
         END IF;
14379
 
14380
         -- Cannot remove if Referenced as runtime dependency
14381
         SELECT COUNT (rd.pv_id)
14382
           INTO ROWCOUNT
14383
           FROM runtime_dependencies rd
14384
          WHERE rd.rtd_id = pvid;
14385
 
14386
         IF ROWCOUNT > 0
14387
         THEN
14388
            ADD_MESSAGE ('Version is referenced by other package as a runtime dependency.', 'F');
14389
         END IF;
14390
 
14391
         -- Cannot remove if Referenced as patch
14392
         SELECT COUNT (pp.pv_id)
14393
           INTO ROWCOUNT
14394
           FROM package_patches pp
14395
          WHERE pp.patch_id = pvid;
14396
 
14397
         IF ROWCOUNT > 0
14398
         THEN
14399
            ADD_MESSAGE ('Version is used as a patch by other package.', 'F');
14400
         END IF;
14401
 
14402
      END IF;
14403
 
14404
/*-------------------------------------------------------*/
14405
      IF (ii = 0 AND overridewarnings > 0)
14406
      THEN
14407
         --- Remove From Work in Progress
14408
         DELETE FROM work_in_progress wip
14409
               WHERE wip.pv_id = pvid;
14410
 
14411
         --- Remove From Pending
14412
         DELETE FROM planned pl
14413
               WHERE pl.pv_id = pvid;
14414
 
14415
         --- Remove From Released area
14416
         DELETE FROM release_content rc
14417
               WHERE rc.pv_id = pvid;
14418
 
14419
         ---Remove From Package Processes
14420
         DELETE FROM package_processes pp
14421
               WHERE pp.pv_id = pvid;
14422
 
14423
         --- Remove Dependencies
14424
         DELETE FROM package_dependencies dep
14425
               WHERE dep.pv_id = pvid;
14426
 
14427
         DELETE FROM package_dependencies dep
14428
               WHERE dep.dpv_id = pvid;
14429
 
14430
         --- Remove Runtime dependencies
14431
         DELETE FROM runtime_dependencies rtd
14432
               WHERE rtd.pv_id = pvid;
14433
 
14434
         DELETE FROM runtime_dependencies rtd
14435
               WHERE rtd.rtd_id = pvid;
14436
 
14437
         --- Remove components
14438
         DELETE FROM product_components pc
14439
               WHERE pc.pv_id = pvid;
14440
 
14441
         DELETE FROM release_components rc
14442
               WHERE rc.pv_id = pvid;
14443
 
14444
         --- Remove From Notification History
14445
         DELETE FROM notification_history nh
14446
               WHERE nh.pv_id = pvid;
14447
 
14448
         --- Remove From Ignore Warnings
14449
         DELETE FROM ignore_warnings iw
14450
               WHERE iw.pv_id = pvid;
14451
 
14452
         --- Remove From Additional Notes
14453
         DELETE FROM additional_notes an
14454
               WHERE an.pv_id = pvid;
14455
 
14456
         --- Remove From CQ Issues
14457
         DELETE FROM cq_issues cq
14458
               WHERE cq.pv_id = pvid;
14459
 
14460
         --- Remove from Package Patches
14461
         DELETE FROM package_patches pp
14462
               WHERE pp.pv_id = pvid;
14463
 
14464
         DELETE FROM package_patches pp
14465
               WHERE pp.patch_id = pvid;
14466
 
14467
         --- Remove From Package Documents
14468
         DELETE FROM package_documents pd
14469
               WHERE pd.pv_id = pvid;
14470
 
14471
         --- Remove from Code Review
14472
         DELETE FROM code_reviews cr
14473
               WHERE cr.pv_id = pvid;
14474
 
14475
         --- Remove from Code Review URL
14476
         DELETE FROM code_review_url cru
14477
               WHERE cru.pv_id = pvid;
14478
 
14479
         --- Remove from Unit Tests
14480
         DELETE FROM unit_tests ut
14481
               WHERE ut.pv_id = pvid;
14482
 
14483
         --- Remove from Package BuildEnv
14484
         DELETE FROM package_build_env pbe
14485
               WHERE pbe.pv_id = pvid;
14486
 
14487
         --- Remove from Package Build Info
14488
         DELETE FROM package_build_info pbi
14489
               WHERE pbi.pv_id = pvid;
14490
 
14491
        --- Remove from Build Plan
14492
         DELETE FROM BUILD_PLAN bp
14493
               WHERE bp.pv_id = pvid;
14494
 
14495
         --- Remove from Build Instances
14496
         DELETE FROM BUILD_INSTANCES bi
14497
               WHERE bi.pv_id = pvid;
14498
 
14499
         --- Remove from Build Order
14500
         DELETE FROM build_order bo
14501
               WHERE bo.pv_id = pvid;
14502
 
14503
         --- Remove from Licencing
14504
         PK_LICENCING.REMOVE_ALL_LICENCING( pvid, 0 );
14505
 
14506
         --- Remove from Note Manager
14507
         DELETE FROM note_manager nm
14508
               WHERE nm.nid = pvid;
14509
 
14510
         --- Remove from Action log
14511
         DELETE FROM action_log al
14512
               WHERE al.pv_id = pvid;
14513
 
14514
         --- Remove from Do Not Ripple
14515
         DELETE FROM DO_NOT_RIPPLE dnr
14516
               WHERE dnr.PV_ID = pvid;
14517
 
14518
        --- Remove from SDK
14519
        DELETE FROM SDK_CONTENT sc
14520
            WHERE sc.PV_ID = pvid;
14521
 
14522
        -- Remove from daemon Instruction
14523
        DELETE FROM DAEMON_INSTRUCTIONS di
14524
          WHERE di.PV_ID = pvid;
14525
 
14526
         --- Remove from Advisory Ripple
14527
         DELETE FROM ADVISORY_RIPPLE ar
14528
               WHERE ar.PV_ID = pvid;
14529
 
14530
         --- Remove from Jira Issues
14531
         DELETE FROM JIRA_ISSUES jira
14532
               WHERE jira.PV_ID = pvid;
14533
 
14534
         --- Remove from Package Metrics
14535
         DELETE FROM package_metrics pm
14536
              WHERE pm.pv_id = pvid;
14537
 
14538
         -- Delete from Pegged Versions
14539
         DELETE FROM pegged_versions pegv
14540
              WHERE pegv.pv_id = pvid;
14541
 
14542
         --- Finally Remove From Package Versions
14543
         --- Get Package name
14544
         SELECT pv.pkg_id, pv.LAST_PV_ID
14545
           INTO pkgid, lastPvid
14546
           FROM package_versions pv
14547
          WHERE pv.pv_id = pvid;
14548
 
14549
          --- Relink packages last_pv_id
14550
          IF lastPvid is NOT NULL AND pvid !=  lastPvid THEN
14551
            UPDATE package_versions pv
14552
               SET pv.LAST_PV_ID = lastPvid
14553
             WHERE pv.LAST_PV_ID = pvid;
14554
          END IF;
14555
 
14556
         --- Delete the version
14557
         DELETE FROM package_versions pv
14558
               WHERE pv.pv_id = pvid;
14559
 
14560
         --- Remove package name if not used any more
14561
         SELECT COUNT (pv.pv_id)
14562
           INTO ROWCOUNT
14563
           FROM package_versions pv
14564
          WHERE pv.pkg_id = pkgid;
14565
 
14566
         IF ROWCOUNT < 1
14567
         THEN
14568
            DELETE FROM PACKAGES pkg
14569
                  WHERE pkg.pkg_id = pkgid;
14570
         END IF;
14571
      END IF;
14572
 
14573
      --- Return table of reasons the package shouldn't be destroyed
14574
       open RESULTS for select * from table(vartbl);
14575
 
14576
   END;
14577
 
14578
/*-------------------------------------------------------------------------------------------------------*/
1373 dpurdie 14579
   PROCEDURE new_patch (
14580
      snewpatchversion   IN       package_versions.pkg_version%TYPE,
14581
      nparentpvid        IN       NUMBER,
14582
      spatchidlist       IN       VARCHAR2,
14583
      nuserid            IN       NUMBER,
14584
      returnpatchid      OUT      NUMBER
14585
   )
14586
   IS
14587
      patchpv_id           NUMBER;
14588
      parpkg_id            NUMBER;
14589
      lastinstallorder     NUMBER;
14590
      ispatchdlocked       package_versions.dlocked%TYPE;
14591
      ssv_mm               package_versions.v_mm%TYPE;
14592
      ssv_nmm              package_versions.v_nmm%TYPE;
14593
      ssv_ext              package_versions.v_ext%TYPE;
3959 dpurdie 14594
      opatchdepcollector   relmgr_number_tab_t  := relmgr_number_tab_t ();
1373 dpurdie 14595
 
14596
      CURSOR parent_cur
14597
      IS
14598
         SELECT pv.*, pkg.pkg_name
14599
           FROM package_versions pv, PACKAGES pkg
14600
          WHERE pv.pv_id = nparentpvid AND pv.pkg_id = pkg.pkg_id;
14601
 
3959 dpurdie 14602
      parent_rec parent_cur%ROWTYPE;
1373 dpurdie 14603
 
14604
      CURSOR patch_cur
14605
      IS
14606
         SELECT pv.*, pg.pkg_name
14607
           FROM package_versions pv, PACKAGES pg
14608
          WHERE pv.pkg_id = parpkg_id
14609
            AND pv.pkg_version = snewpatchversion
14610
            AND pv.pkg_id = pg.pkg_id;
14611
 
3959 dpurdie 14612
      patch_rec  patch_cur%ROWTYPE;
1373 dpurdie 14613
 
14614
      CURSOR releases_cur
14615
      IS
14616
         SELECT rc.pv_id
14617
           FROM release_content rc
14618
          WHERE rc.pv_id = patch_rec.pv_id;
14619
 
3959 dpurdie 14620
      releases_rec releases_cur%ROWTYPE;
1373 dpurdie 14621
   BEGIN
14622
      -- Get Last Install Order
14623
      SELECT COUNT (*)
14624
        INTO lastinstallorder
14625
        FROM package_patches pp
14626
       WHERE pp.pv_id = nparentpvid;
14627
 
14628
      -- Get parent details
14629
      OPEN parent_cur;
14630
 
14631
      FETCH parent_cur
14632
       INTO parent_rec;
14633
 
14634
      parpkg_id := parent_rec.pkg_id;
14635
 
14636
      -- Find if patch exists in database
14637
      OPEN patch_cur;
14638
 
14639
      FETCH patch_cur
14640
       INTO patch_rec;
14641
 
14642
      -- Parent must be official
14643
      IF parent_rec.dlocked = 'Y'
14644
      THEN
14645
         IF patch_cur%NOTFOUND
14646
         THEN
14647
            ispatchdlocked := 'N';
14648
 
14649
            -- Create new patch version --
14650
            SELECT seq_pv_id.NEXTVAL
14651
              INTO patchpv_id
14652
              FROM DUAL;
14653
 
14654
            split_version (snewpatchversion, ssv_mm, ssv_nmm, ssv_ext);
14655
 
14656
            INSERT INTO package_versions
14657
                        (pv_id, pkg_id, pkg_version,
14658
                         dlocked, created_stamp, creator_id,
14659
                         modified_stamp, modifier_id, v_mm, v_nmm, v_ext,
14660
                         src_path,
14661
                         pv_description,
14662
                         owner_id, is_patch, last_pv_id, build_type, is_build_env_required, bs_id,
3959 dpurdie 14663
                         is_autobuildable, ripple_field
1373 dpurdie 14664
                        )
14665
                 VALUES (patchpv_id, parpkg_id, snewpatchversion,
7000 dpurdie 14666
                         ispatchdlocked, ora_sysdatetime, nuserid,
1373 dpurdie 14667
                         ora_sysdatetime, nuserid, ssv_mm, ssv_nmm, ssv_ext,
14668
                         parent_rec.src_path,
14669
                            'This is a patch to '
14670
                         || parent_rec.pkg_name
14671
                         || ' '
14672
                         || parent_rec.pkg_version,
3959 dpurdie 14673
                         nuserid, 'Y', patchpv_id, 'M', 'N', 3, 'N', parent_rec.ripple_field
1373 dpurdie 14674
                        );
14675
 
14676
            INSERT INTO package_patches
14677
                        (pv_id, patch_id, install_order)
3959 dpurdie 14678
                (SELECT nparentpvid AS pv_id, pv.pv_id AS patch_id,
14679
                        lastinstallorder + 1 AS install_order
14680
                   FROM package_versions pv
14681
                  WHERE pv.pv_id = patchpv_id AND pv.is_patch = 'Y');
1373 dpurdie 14682
 
14683
            /* LOG ACTION */
6999 dpurdie 14684
            log_action (patchpv_id,
14685
                        'new_version',
14686
                        nuserid,
14687
                        'Patch version created: ' || snewpatchversion
14688
                       );
14689
            log_action (nparentpvid,
14690
                        'patch_add',
14691
                        nuserid,
14692
                        'New patch created and attached: ' || snewpatchversion
14693
                       );
1373 dpurdie 14694
         ELSE
14695
            patchpv_id := patch_rec.pv_id;
14696
            ispatchdlocked := patch_rec.dlocked;
14697
 
14698
            -- Find if pv_id exists in release content (i.e. it cannot be a patch)
14699
            OPEN releases_cur;
14700
 
14701
            FETCH releases_cur
14702
             INTO releases_rec;
14703
 
14704
            IF releases_cur%NOTFOUND
14705
            THEN
14706
               -- This pv_id is trully a patch, hence add Y to column IS_PATCH
14707
               UPDATE package_versions
14708
                  SET is_patch = 'Y'
14709
                WHERE pv_id = patchpv_id;
14710
 
14711
               INSERT INTO package_patches
14712
                           (pv_id, patch_id, install_order)
3959 dpurdie 14713
                   (SELECT nparentpvid AS pv_id, pv.pv_id AS patch_id,
14714
                           lastinstallorder + 1 AS install_order
14715
                      FROM package_versions pv
14716
                     WHERE pv.pv_id = patchpv_id AND pv.is_patch = 'Y');
1373 dpurdie 14717
            END IF;
14718
 
14719
            CLOSE releases_cur;
14720
 
14721
            /* LOG ACTION */
6999 dpurdie 14722
            log_action (nparentpvid,
14723
                        'patch_add',
14724
                        nuserid,
14725
                           'Patch version was found and attached: '
14726
                        || snewpatchversion
14727
                       );
1373 dpurdie 14728
         END IF;
14729
      END IF;
14730
 
14731
      /* Create Patch Dependencies */
14732
      opatchdepcollector := in_list_number (spatchidlist);
14733
 
14734
      -- Make sure patch is unofficial before altering its dependencies
14735
      IF (opatchdepcollector.COUNT > 0) AND (ispatchdlocked = 'N')
14736
      THEN
14737
         -- Delete Existing Dependencies
14738
         DELETE FROM package_dependencies dep
14739
               WHERE dep.pv_id = patchpv_id;
14740
 
14741
         -- Insert new dependencies
14742
         INSERT INTO package_dependencies
14743
                     (pv_id, dpv_id, pkg_id, dpkg_id, build_type)
3959 dpurdie 14744
              SELECT patchpv_id AS pv_id, pv.pv_id AS dpv_id,
14745
                     parpkg_id AS pkg_id, pv.pkg_id AS dpkg_id,
14746
                     'L' AS build_type
14747
                FROM package_versions pv
14748
               WHERE pv.pv_id IN (
1373 dpurdie 14749
                      SELECT *
14750
                        FROM TABLE
14751
                                (CAST
14752
                                    (opatchdepcollector AS relmgr_number_tab_t)
14753
                                ));
14754
      END IF;
14755
 
14756
      -- Return patch_id
14757
      returnpatchid := patchpv_id;
14758
 
14759
      CLOSE parent_cur;
14760
 
14761
      CLOSE patch_cur;
14762
   EXCEPTION
14763
      WHEN DUP_VAL_ON_INDEX
14764
      THEN
14765
         raise_application_error (-20000,
14766
                                     'Patch version '
14767
                                  || snewpatchversion
14768
                                  || ' already exist.'
14769
                                 );
14770
   END;
14771
 
14772
/*-------------------------------------------------------------------------------------------------------*/
14773
   PROCEDURE obsolete_patch (
14774
      patchid            IN   NUMBER,
14775
      isobsolete         IN   CHAR,
14776
      obsoletecomments   IN   VARCHAR2,
14777
      userid             IN   NUMBER
14778
   )
14779
   IS
14780
   BEGIN
14781
      -- Update patch
14782
      UPDATE package_versions pv
14783
         SET pv.is_obsolete = isobsolete,
14784
             pv.obsolete_comments = obsoletecomments
14785
       WHERE pv.pv_id = patchid;
14786
 
14787
      /*
14788
      -- Update patch children
14789
      UPDATE PACKAGE_VERSIONS pv SET
14790
      pv.IS_OBSOLETE = IsObsolete,
14791
      pv.OBSOLETE_COMMENTS = ObsoleteComments
14792
      WHERE pv.PV_ID IN (
14793
                     SELECT DISTINCT dep.DPV_ID
14794
                       FROM PACKAGE_DEPENDENCIES dep
14795
                      WHERE dep.PV_ID = PatchId
14796
                     );
14797
 
14798
 
14799
      -- Update patch parent
14800
      UPDATE PACKAGE_VERSIONS pv SET
14801
      pv.IS_OBSOLETE = IsObsolete,
14802
      pv.OBSOLETE_COMMENTS = ObsoleteComments
14803
      WHERE pv.PV_ID IN (
14804
                     SELECT DISTINCT dep.PV_ID
14805
                       FROM PACKAGE_DEPENDENCIES dep
14806
                      WHERE dep.DPV_ID = PatchId
14807
                     );
14808
 
3959 dpurdie 14809
      */
1373 dpurdie 14810
 
14811
      /* LOG ACTION */
14812
      IF isobsolete IS NOT NULL
14813
      THEN
6999 dpurdie 14814
         log_action (patchid,
14815
                     'patch_obsolete',
14816
                     userid,
14817
                     'Obsolete patch. ' || obsoletecomments
14818
                    );
1373 dpurdie 14819
      ELSE
6999 dpurdie 14820
         log_action (patchid,
14821
                     'patch_obsolete',
14822
                     userid,
14823
                     'Undo patch obsolete.'
14824
                    );
1373 dpurdie 14825
      END IF;
14826
   END;
14827
 
14828
/*-------------------------------------------------------------------------------------------------------*/
14829
   PROCEDURE obsolete_patches (
14830
      spatchidlist       IN   VARCHAR2,
14831
      isobsolete         IN   CHAR,
14832
      obsoletecomments   IN   VARCHAR2,
14833
      userid             IN   NUMBER
14834
   )
14835
   IS
14836
   BEGIN
14837
      /*--------------- Business Rules Here -------------------*/
14838
      IF spatchidlist IS NULL
14839
      THEN
14840
         raise_application_error (-20000,
14841
                                  'Please select one or more Patches.'
14842
                                 );
14843
      END IF;
14844
 
14845
/*-------------------------------------------------------*/
14846
 
14847
      -- Update patch
14848
      UPDATE package_versions pv
14849
         SET pv.is_obsolete = isobsolete,
14850
             pv.obsolete_comments = obsoletecomments
14851
       WHERE pv.pv_id IN (
14852
                SELECT *
14853
                  FROM THE
14854
                          (SELECT CAST
14855
                                     (in_list_number (spatchidlist) AS relmgr_number_tab_t
14856
                                     )
14857
                             FROM DUAL
14858
                          ));
3959 dpurdie 14859
      /*
14860
      -- Update patch children
14861
      UPDATE PACKAGE_VERSIONS pv SET
14862
      pv.IS_OBSOLETE = IsObsolete,
14863
      pv.OBSOLETE_COMMENTS = ObsoleteComments
14864
      WHERE pv.PV_ID IN (
14865
                     SELECT DISTINCT dep.DPV_ID
14866
                       FROM PACKAGE_DEPENDENCIES dep
14867
                      WHERE dep.PV_ID = PatchId
14868
                     );
1373 dpurdie 14869
 
14870
 
3959 dpurdie 14871
      -- Update patch parent
14872
      UPDATE PACKAGE_VERSIONS pv SET
14873
      pv.IS_OBSOLETE = IsObsolete,
14874
      pv.OBSOLETE_COMMENTS = ObsoleteComments
14875
      WHERE pv.PV_ID IN (
14876
                     SELECT DISTINCT dep.PV_ID
14877
                       FROM PACKAGE_DEPENDENCIES dep
14878
                      WHERE dep.DPV_ID = PatchId
14879
                     );
1373 dpurdie 14880
 
14881
      */
14882
 
3959 dpurdie 14883
      /* LOG ACTION
14884
      IF IsObsolete IS NOT NULL THEN
6999 dpurdie 14885
         Log_Action ( PatchId, 'patch_obsolete', UserId,
14886
                     'Obsolete patch. '|| ObsoleteComments );
3959 dpurdie 14887
      ELSE
6999 dpurdie 14888
         Log_Action ( PatchId, 'patch_obsolete', UserId,
14889
                     'Undo patch obsolete.' );
3959 dpurdie 14890
      END IF;  */
1373 dpurdie 14891
   END;
14892
 
14893
/*-------------------------------------------------------------------------------------------------------*/
14894
   PROCEDURE add_process (
14895
      nprocid         IN   processes.proc_id%TYPE,
14896
      shealthtag      IN   processes.proc_name%TYPE,
14897
      sprocdesc       IN   processes.proc_description%TYPE,
14898
      scmdinterface   IN   processes.run_as%TYPE,
14899
      spkgowner       IN   processes.pkg_owner%TYPE,
14900
      sisinterface    IN   processes.is_interface%TYPE,
14901
      npvid           IN   package_processes.pv_id%TYPE,
14902
      nuserid         IN   NUMBER
14903
   )
14904
   IS
14905
      pkgname   VARCHAR2 (100);
3959 dpurdie 14906
 
1373 dpurdie 14907
   BEGIN
14908
      INSERT INTO processes
14909
                  (proc_id, proc_name, proc_description, run_as, pkg_owner,
14910
                   is_interface
14911
                  )
14912
           VALUES (nprocid, shealthtag, sprocdesc, scmdinterface, spkgowner,
14913
                   sisinterface
14914
                  );
14915
 
14916
      pk_package.add_package_process (nprocid, npvid, nuserid);
14917
   END;
14918
 
14919
/*-------------------------------------------------------------------------------------------------------*/
14920
   PROCEDURE add_package_process (
14921
      nprocidlist   IN   VARCHAR2,
14922
      npvid         IN   package_processes.pv_id%TYPE,
14923
      nuserid       IN   NUMBER
14924
   )
14925
   IS
14926
      processname   VARCHAR2 (4000);
14927
 
14928
      CURSOR proc_cur
14929
      IS
14930
         SELECT prc.proc_id
14931
           FROM processes prc
14932
          WHERE prc.proc_id IN (
14933
                   SELECT *
14934
                     FROM THE
14935
                             (SELECT CAST
14936
                                        (in_list_number (nprocidlist) AS relmgr_number_tab_t
14937
                                        )
14938
                                FROM DUAL
14939
                             ));
14940
 
3959 dpurdie 14941
      proc_rec  proc_cur%ROWTYPE;
1373 dpurdie 14942
   BEGIN
14943
      OPEN proc_cur;
14944
 
14945
      FETCH proc_cur
14946
       INTO proc_rec;
14947
 
14948
      WHILE proc_cur%FOUND
14949
      LOOP
3959 dpurdie 14950
         INSERT INTO package_processes (proc_id, pv_id)
14951
              VALUES (proc_rec.proc_id, npvid);
1373 dpurdie 14952
 
14953
         SELECT prc.proc_name
14954
           INTO processname
14955
           FROM processes prc
14956
          WHERE prc.proc_id = proc_rec.proc_id;
14957
 
14958
         -- Log Action --
6999 dpurdie 14959
         log_action (npvid,
14960
                     'process_add',
14961
                     nuserid,
14962
                     'Added process with health tag ' || processname
14963
                    );
1373 dpurdie 14964
 
14965
         FETCH proc_cur
14966
          INTO proc_rec;
14967
      END LOOP;
3959 dpurdie 14968
 
14969
      CLOSE proc_cur;
1373 dpurdie 14970
   END;
14971
 
14972
/*-------------------------------------------------------------------------------------------------------*/
14973
   PROCEDURE remove_process (
14974
      nprocid   IN   package_processes.proc_id%TYPE,
14975
      npvid     IN   package_processes.pv_id%TYPE,
14976
      nuserid   IN   NUMBER
14977
   )
14978
   IS
14979
      processname   VARCHAR2 (4000);
14980
   BEGIN
14981
      SELECT prc.proc_name
14982
        INTO processname
14983
        FROM processes prc
14984
       WHERE prc.proc_id = nprocid;
14985
 
14986
      DELETE FROM package_processes
14987
            WHERE proc_id = nprocid AND pv_id = npvid;
14988
 
14989
      -- Log Action --
6999 dpurdie 14990
      log_action (npvid,
14991
                  'process_remove',
14992
                  nuserid,
14993
                  'Removed process with health tag ' || processname
14994
                 );
1373 dpurdie 14995
   END;
14996
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 14997
   /*
14998
   ** Author: Rupesh Solanki
14999
   ** Purpose: To move package versions from one release to another
15000
   ** Release: 4th September 2006
15001
   */
15002
   PROCEDURE move_package (
15003
      npvid        IN package_versions.pv_id%TYPE,
15004
      nrtagid      IN release_tags.rtag_id%TYPE,
15005
      nnewrtagid   IN release_tags.rtag_id%TYPE,
15006
      nuserid      IN NUMBER
15007
   )
15008
   IS
1373 dpurdie 15009
 
3959 dpurdie 15010
      oldrtag_name VARCHAR2(4000);newrtag_name VARCHAR2(4000);
15011
 
15012
   BEGIN
15013
      SELECT rtag_name into oldrtag_name
15014
      FROM RELEASE_TAGS
15015
      WHERE rtag_id = nrtagid;
15016
 
15017
      SELECT rtag_name into newrtag_name
15018
      FROM RELEASE_TAGS
15019
      WHERE rtag_id = nnewrtagid;
15020
 
15021
      /* Table Work In Progress*/
15022
      UPDATE WORK_IN_PROGRESS
15023
      SET RTAG_ID = nnewrtagid
15024
      WHERE RTAG_ID = nrtagid
15025
      AND PV_ID = npvid;
15026
 
15027
      /* Table PLANNED*/
15028
      UPDATE PLANNED
15029
      SET RTAG_ID = nnewrtagid
15030
      WHERE RTAG_ID = nrtagid
15031
      AND PV_ID = npvid;
15032
 
15033
      /* Table PEGGED_VERSIONS */
15034
      DELETE FROM PEGGED_VERSIONS pegv
15035
      WHERE pegv.RTAG_ID = nrtagid
15036
      AND pegv.PV_ID = npvid;
15037
 
15038
      /* Table ADVISORY_RIPPLE*/
15039
      DELETE FROM ADVISORY_RIPPLE
15040
      WHERE RTAG_ID = nrtagid
15041
      AND PV_ID = npvid;
15042
 
15043
 
1373 dpurdie 15044
      -- Log Action --
6999 dpurdie 15045
      log_action (npvid,
15046
                  'move_package_version',
15047
                  nuserid,
15048
                  'Moved package version from ' || oldrtag_name || ' to ' || newrtag_name
15049
                 );
3959 dpurdie 15050
   END;
15051
 
1373 dpurdie 15052
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 15053
   /*
15054
   ** Author: Rupesh Solanki
15055
   ** Purpose: To modify the product state from integration to test to deployment
15056
   ** Release: 25th January 2006
15057
   */
15058
   PROCEDURE modify_product_state (
15059
      npvid    IN package_versions.pv_id%TYPE,
15060
      nrtagid  IN release_tags.rtag_id%TYPE,
15061
      nstateid IN product_states.state_id%TYPE,
15062
      nuserid  IN NUMBER
1373 dpurdie 15063
   ) IS
3959 dpurdie 15064
 
15065
      sStateName VARCHAR2(4000);
15066
      sRtagName VARCHAR2(4000);
15067
 
15068
   BEGIN
15069
 
15070
      UPDATE RELEASE_CONTENT
15071
      SET PRODUCT_STATE = nstateid
15072
      WHERE PV_ID = npvid
15073
      AND RTAG_ID = nrtagid;
15074
 
15075
 
15076
      SELECT STATE INTO sStateName
15077
      FROM PRODUCT_STATES
15078
      WHERE STATE_ID = nstateid;
15079
 
15080
      SELECT RTAG_NAME into sRtagName
15081
      FROM RELEASE_TAGS
15082
      WHERE RTAG_ID = nrtagid;
15083
 
15084
 
15085
      -- Log Action --
6999 dpurdie 15086
      log_action (npvid,
15087
                  'modify_product_state',
15088
                     nuserid,
15089
                     sStateName || ' in '|| sRtagName
15090
                  );
3959 dpurdie 15091
   END;
15092
/*-------------------------------------------------------------------------------------------------------*/
15093
   /*
15094
   ** Author: Jeremy Tweddle
15095
   ** Date: 24/Aug/2007
15096
   */
15097
   PROCEDURE add_code_review_url (
15098
      npvid           IN    NUMBER,
15099
      nprojid         IN    NUMBER,
15100
      surl            IN    VARCHAR2,
15101
      sreason         IN    VARCHAR2,
4553 dpurdie 15102
      ddateofreview   IN    VARCHAR2
3959 dpurdie 15103
   ) IS
15104
 
15105
      ncrid NUMBER;
15106
 
15107
   BEGIN
15108
 
15109
      SELECT seq_cr_id.NEXTVAL INTO ncrid FROM DUAL;
15110
 
4553 dpurdie 15111
      INSERT INTO code_review_url ( cr_id, pv_id, proj_id, url, reason, date_of_review, last_modified )
7000 dpurdie 15112
      VALUES ( ncrid, npvid, nprojid, surl, sreason, TO_DATE( ddateofreview,'DD/MM/YYYY' ), ora_sysdatetime );
3959 dpurdie 15113
 
15114
   END;
15115
/*-------------------------------------------------------------------------------------------------------*/
15116
   /*
15117
   ** Author: Jeremy Tweddle
15118
   ** Date: 22/Aug/2007
15119
   */
15120
   PROCEDURE update_code_review_url (
15121
      ncrid           IN    NUMBER,
15122
      nprojid         IN    NUMBER,
15123
      surl            IN    VARCHAR2,
4553 dpurdie 15124
      sreason         IN    VARCHAR2,
15125
      ddateofreview   IN    VARCHAR2
3959 dpurdie 15126
   ) IS
15127
 
15128
   BEGIN
15129
 
15130
      UPDATE code_review_url
15131
      SET url = surl,
15132
          proj_id = nprojid,
15133
          reason = sreason,
6031 dpurdie 15134
          date_of_review = TO_DATE( ddateofreview,'DD/MM/YYYY' ),
7000 dpurdie 15135
          last_modified = ora_sysdatetime
3959 dpurdie 15136
      WHERE cr_id = ncrid;
15137
 
15138
   END;
4553 dpurdie 15139
 
3959 dpurdie 15140
/*-------------------------------------------------------------------------------------------------------*/
15141
   /*
15142
   ** Author: Jeremy Tweddle
15143
   ** Date: 22/Aug/2007
15144
   */
15145
   PROCEDURE remove_code_review_url (
15146
      ncrid  IN    NUMBER
15147
   ) IS
15148
 
15149
   BEGIN
15150
      DELETE FROM code_review_url
15151
      WHERE cr_id = ncrid;
15152
   END;
15153
/*-------------------------------------------------------------------------------------------------------*/
6600 dpurdie 15154
 
15155
PROCEDURE
15156
        SET_RIPPLE_STOP (
15157
        nPVID IN RELEASE_CONTENT.PV_ID%TYPE,
15158
        nRtagId IN RELEASE_CONTENT.RTAG_ID%TYPE,
15159
        nUserId IN NUMBER,
15160
        cMode IN CHAR
15161
    ) IS
15162
    ReleaseLocation VARCHAR2(4000);
15163
    sMode VARCHAR(100);
15164
    cData CHAR;
15165
 
15166
 
15167
BEGIN
15168
 
15169
    IF (nPVID IS NULL) THEN
15170
        RAISE_APPLICATION_ERROR (-20000, 'PvId not set' );
15171
    END IF;
15172
 
15173
    IF (nRtagId IS NULL) THEN
15174
        RAISE_APPLICATION_ERROR (-20001, 'rTagId not set' );
15175
    END IF;
15176
 
15177
    cData := cMode;
15178
    If cMode = 's' THEN
15179
        sMode := 'ripple_stop';
15180
 
15181
    ELSIF cMode = 'w' THEN
15182
        sMode := 'ripple_wait';
15183
 
15184
    ELSIF cMode = 'r' THEN
15185
        sMode := 'ripple_removed';
15186
        cData := NULL;
15187
 
15188
    ELSIF cMode = 'g' THEN
15189
        sMode := 'ripple_resume';
15190
 
15191
    ELSE
15192
       RAISE_APPLICATION_ERROR (-20002, 'Unknown mode:' || cMode );
15193
 
15194
    END IF;
15195
 
15196
    -- Update the value
15197
    UPDATE RELEASE_CONTENT 
15198
    SET RIPPLE_STOP = cData
15199
    WHERE RTAG_ID = nRtagId
15200
    AND PV_ID = nPVID;
15201
 
15202
    -- Mark Release Changed for build
15203
    PK_RELEASE.SET_RELEASE_MODIFIED(nRtagId);
15204
 
15205
    /* LOG ACTION */
15206
    SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
15207
    FROM PROJECTS proj,RELEASE_TAGS rt
15208
    WHERE rt.PROJ_ID = proj.PROJ_ID
15209
    AND rt.RTAG_ID = nRtagId;
15210
 
15211
    Log_Action ( nPVID, sMode, nUserId, 'Location: '|| ReleaseLocation);
15212
 
15213
END SET_RIPPLE_STOP;
15214
 
3959 dpurdie 15215
END pk_package;
4040 dpurdie 15216
 
1374 dpurdie 15217
/
5892 dpurdie 15218
 
6031 dpurdie 15219
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_PACKAGE" TO "DEPLOYMENT_MANAGER";
6999 dpurdie 15220
  GRANT DEBUG ON "RELEASE_MANAGER"."PK_PACKAGE" TO "DEPLOYMENT_MANAGER";
4040 dpurdie 15221
--------------------------------------------------------
15222
--  DDL for Package Body PK_PLANNED
15223
--------------------------------------------------------
15224
 
5172 dpurdie 15225
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_PLANNED" IS
3959 dpurdie 15226
 
1373 dpurdie 15227
/*
15228
------------------------------
3959 dpurdie 15229
||  Last Modified:  G.Huddy
15230
||  Modified Date:  05/Aug/2008
15231
||  Body Version:   1.2
1373 dpurdie 15232
------------------------------
15233
*/
15234
 
15235
 
15236
/*-------------------------------------------------------------------------------------------------------*/
5384 dpurdie 15237
PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, OPR IN CHAR DEFAULT 'R' ) IS
1373 dpurdie 15238
 
3959 dpurdie 15239
    oldPvId NUMBER;
15240
    ReleaseLocation VARCHAR2(4000);
15241
    IsPatch CHAR(1) := NULL;
15242
    sLocation VARCHAR2(4000) := NULL;
15243
    nRtagIdLocation NUMBER;
1373 dpurdie 15244
 
15245
 
15246
 
3959 dpurdie 15247
BEGIN
15248
    /*--------------- Business Rules Here -------------------*/
15249
    /*-------------------------------------------------------*/
6031 dpurdie 15250
 
5384 dpurdie 15251
    IF OPR = 'R' THEN
15252
      BEGIN
15253
          -- Check if Exists in "Work in progress" anywhere in the world, except "Closed mode" releases
15254
          SELECT proj.PROJ_NAME ||' > '|| rt.RTAG_NAME, rt.RTAG_ID  INTO sLocation, nRtagIdLocation
15255
            FROM PLANNED pl,
15256
                 RELEASE_TAGS rt,
15257
                 PROJECTS proj
15258
           WHERE pl.PV_ID = newPvId
15259
             AND pl.RTAG_ID = rt.RTAG_ID
15260
             AND rt.OFFICIAL != 'Y'
15261
             AND rt.PROJ_ID = proj.PROJ_ID;
6031 dpurdie 15262
 
5384 dpurdie 15263
          EXCEPTION
15264
              WHEN NO_DATA_FOUND THEN
15265
                  sLocation := NULL;
15266
      END;
6031 dpurdie 15267
 
5384 dpurdie 15268
      IF (sLocation IS NULL) OR (nRtagIdLocation = RtagId) THEN
6031 dpurdie 15269
 
5384 dpurdie 15270
          -- Add to "Pending" area
15271
          INSERT INTO PLANNED ( RTAG_ID, PV_ID, VIEW_ID, OPERATION )
15272
          VALUES( RtagId, newPvId, ViewId, OPR );
6031 dpurdie 15273
 
5384 dpurdie 15274
          /* LOG ACTION */
15275
          SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
15276
            FROM PROJECTS proj,
15277
                 RELEASE_TAGS rt
15278
           WHERE rt.PROJ_ID = proj.PROJ_ID
15279
             AND rt.RTAG_ID = RtagId;
6031 dpurdie 15280
 
5384 dpurdie 15281
          Log_Action ( newPvId, 'add_to_planned', UserId, 'Location: '|| ReleaseLocation );
6031 dpurdie 15282
 
5384 dpurdie 15283
      ELSE
15284
            RAISE_APPLICATION_ERROR (-20000, 'This version is already in Pending Area at '|| sLocation ||'.' );
15285
        END IF;
6031 dpurdie 15286
 
3959 dpurdie 15287
    ELSE
6031 dpurdie 15288
      -- Not adding a WIP. Merging a package version
5384 dpurdie 15289
      MERGE_PACKAGE ( newPvId, ViewId, RtagId, UserId, OPR );
3959 dpurdie 15290
    END IF;
15291
 
15292
END;
1373 dpurdie 15293
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 15294
PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
1373 dpurdie 15295
 
3959 dpurdie 15296
    ReleaseLocation VARCHAR2(4000);
1373 dpurdie 15297
 
3959 dpurdie 15298
BEGIN
1373 dpurdie 15299
 
3959 dpurdie 15300
    /*--------------- Business Rules Here -------------------*/
15301
    /*-------------------------------------------------------*/
1373 dpurdie 15302
 
15303
 
3959 dpurdie 15304
    -- Get release location for logging pusposes
15305
    SELECT proj.PROJ_NAME  ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
15306
      FROM PROJECTS proj,
15307
           RELEASE_TAGS rt
15308
     WHERE rt.PROJ_ID = proj.PROJ_ID
15309
       AND rt.RTAG_ID = RtagId;
1373 dpurdie 15310
 
6031 dpurdie 15311
    -- Ensure that package is not marked as Pending any more
15312
    UPDATE package_versions
15313
       SET DLOCKED  = 'N'
15314
     WHERE PV_ID  = PvId
15315
       AND DLOCKED != 'Y';
1373 dpurdie 15316
 
3959 dpurdie 15317
    -- Delete from Work In Progress
15318
    DELETE
15319
      FROM PLANNED pl
15320
     WHERE pl.RTAG_ID = RtagId
15321
       AND pl.PV_ID = PvId;
1373 dpurdie 15322
 
3959 dpurdie 15323
    Log_Action ( PvId, 'deleted_from_pending', UserId, 'Location: '|| ReleaseLocation );
15324
 
15325
 
15326
 
15327
 
15328
END;
1373 dpurdie 15329
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 15330
FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER IS
1373 dpurdie 15331
 
3959 dpurdie 15332
    ReturnValue NUMBER;
1373 dpurdie 15333
 
3959 dpurdie 15334
BEGIN
15335
    SELECT pl.VIEW_ID INTO ReturnValue
15336
      FROM PLANNED pl
15337
     WHERE pl.RTAG_ID = RtagId
15338
       AND pl.PV_ID = PvId;
15339
 
15340
    RETURN ReturnValue;
15341
END;
15342
/*-------------------------------------------------------------------------------------------------------*/
7039 dpurdie 15343
PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur ) as 
15344
begin
15345
OPEN RecordSet FOR
15346
-- Determine the PV_ID and OPERATION for the required VIEW
15347
With selectedPv as (
15348
    SELECT pv.pv_id, rel.operation, 0 as pkg_state
15349
      FROM PLANNED rel, package_versions pv, VIEW_DEF vd,  VIEWS vi
15350
      WHERE rel.pv_id = pv.pv_id
15351
      AND vd.PKG_ID = pv.PKG_ID
15352
      AND vd.VIEW_ID = ViewId
15353
      AND rel.RTAG_ID = RtagId
15354
      AND vi.VIEW_ID = ViewId
15355
      AND vi.BASE_VIEW NOT IN ('Y', 'S')
15356
    UNION
15357
     SELECT rel.pv_id, rel.operation, 0 as pkg_state
15358
     FROM PLANNED rel, VIEWS vi
15359
     WHERE rel.VIEW_ID = ViewId
15360
     AND rel.RTAG_ID = RtagId
15361
     AND vi.VIEW_ID = ViewId
15362
     AND vi.BASE_VIEW IN ('Y', 'S')
15363
),
15364
-- Determine packages that are building
15365
building as (
15366
    SELECT unique rl.CURRENT_PV_ID as pv_id, rc.RTAG_ID 
15367
    FROM RELEASE_CONFIG rc, RELEASE_TAGS rt, RUN_LEVEL rl 
15368
    WHERE rt.RTAG_ID = rc.RTAG_ID
15369
    AND rc.RTAG_ID = RtagId
15370
    AND rc.bmcon_id is not null
15371
    AND rt.OFFICIAL in ( 'N', 'R', 'C')
15372
    AND rl.RCON_ID(+) = rc.RCON_ID
15373
    AND rl.CURRENT_PKG_ID_BEING_BUILT is not null
15374
    AND NVL(rl.PAUSE,0) < 2
15375
), 
15376
-- Determine Packages that are scheduled to build    
15377
scheduled as (
15378
    SELECT pv_id, RTAG_ID from daemon_instructions di
15379
    WHERE di.op_code = 2
15380
    AND RTAG_ID = RtagId
15381
) , 
15382
-- Determine Packages that failed to build or have been excluded
15383
buildFail as (
15384
    SELECT pv_id, root_pv_id, RTAG_ID from do_not_ripple dnr
15385
    WHERE RTAG_ID = RtagId
15386
) 
15387
-- Generate the complete dataset from the fragments
15388
  SELECT Case
15389
                    When sdi.pv_id is not null then 14
15390
                    When bb.pv_id is not null then 15
15391
                    When bf.pv_id is not null AND bf.root_pv_id is NULL then 16
15392
                    When bf.pv_id is not null AND bf.root_pv_id is NOT NULL then  17
15393
                    When rel.pkg_state is not null then rel.pkg_state
15394
                    Else 0
15395
                End as pkg_state,
3959 dpurdie 15396
               NULL AS DEPRECATED_STATE,
15397
               pv.pv_id,
15398
               pkg.pkg_name,
15399
               pv.pkg_version,
15400
               pv.dlocked,
15401
               pv.pv_description,
15402
               pv.BUILD_TYPE,
15403
               rel.operation
7039 dpurdie 15404
          FROM selectedPv rel,
3959 dpurdie 15405
               packages pkg,
15406
               package_versions pv,
7039 dpurdie 15407
               scheduled sdi,
15408
               buildFail bf,
15409
               building bb
3959 dpurdie 15410
         WHERE pv.pkg_id = pkg.pkg_id
15411
           AND rel.pv_id = pv.pv_id
7039 dpurdie 15412
           AND sdi.pv_id(+) = rel.pv_id
15413
           AND bf.pv_id(+) = rel.pv_id
15414
           AND bb.pv_id(+) = rel.pv_id
15415
         ORDER BY UPPER(pkg.PKG_NAME), pv.pv_id;
3959 dpurdie 15416
END;
15417
/*-------------------------------------------------------------------------------------------------------*/
15418
PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER ) IS
15419
 
15420
BEGIN
15421
 
15422
    UPDATE PLANNED pl SET
15423
    pl.VIEW_ID = NewViewId
15424
    WHERE pl.PV_ID = PvId
15425
      AND pl.RTAG_ID = RtagId;
15426
 
15427
END;
15428
/*-------------------------------------------------------------------------------------------------------*/
15429
-- DEVI-45275 This new function supports the ability to insert into the planned table, and existing
15430
-- version of a package as part of a release-to-release merge operation carried out within release manager.
15431
-- DEVI-49594 This function has subsequently been changed to allow a merge operation to cancel its
15432
-- opposite operation, if the opposite already exists in the planned table. This supports user activity
15433
-- via the Release Manager merge manager display
15434
 
15435
PROCEDURE MERGE_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER, mergeOperation IN CHAR ) IS
15436
 
15437
    ReleaseLocation VARCHAR2(4000);
15438
 
15439
        entryExists NUMBER;
15440
        existingOperation CHAR;
15441
BEGIN
15442
    /*--------------- Business Rules Here -------------------*/
15443
    /*-------------------------------------------------------*/
15444
 
15445
      -- Determine if the specified PV_ID already exists in the planned table....
15446
      SELECT COUNT (pl.pv_id) INTO entryExists
15447
      FROM PLANNED pl
15448
      WHERE pl.pv_id = newPvId
15449
      AND pl.rtag_id = RtagId
15450
      AND pl.view_id = ViewId;
15451
 
15452
      -- If the specified PV_ID already exists in the planned table....
15453
      IF entryExists = 1 THEN
15454
 
15455
         -- Get the operation for the existing entry
15456
         SELECT pl.operation INTO existingOperation
15457
         FROM PLANNED pl
15458
         WHERE pl.pv_id = newPvId
15459
         AND pl.rtag_id = RtagId
15460
         AND pl.view_id = ViewId;
15461
 
15462
         -- Is the specified merge operation the opposite of the existing entry?
15463
         -- If it is not, then there is nothing to do, otherwise...
15464
         -- NOTE: A = Add, S = Subtract
15465
         IF (mergeOperation = 'S' AND existingOperation = 'A')
15466
            OR (mergeOperation = 'A' AND existingOperation = 'S') THEN
15467
 
15468
           -- It is the opposite, so effectively it cancels the existing entry
15469
           -- Remove the entry from the planned table
15470
           DELETE
15471
            FROM PLANNED pl
15472
           WHERE pl.pv_id = newPvId
15473
             AND pl.rtag_id = RtagId
15474
             AND pl.view_id = ViewId;
15475
 
15476
           -- Log action
15477
           SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
15478
             FROM PROJECTS proj,
15479
                  RELEASE_TAGS rt
15480
            WHERE rt.PROJ_ID = proj.PROJ_ID
15481
              AND rt.RTAG_ID = RtagId;
15482
 
15483
           Log_Action ( newPvId, 'deleted_from_pending', UserId, 'Location: '|| ReleaseLocation );
1373 dpurdie 15484
         END IF;
3959 dpurdie 15485
      ELSE
15486
         -- Add to Planned tabled
15487
         INSERT INTO PLANNED ( RTAG_ID, PV_ID, VIEW_ID, OPERATION )
15488
         VALUES( RtagId, newPvId, ViewId, mergeOperation );
1373 dpurdie 15489
 
3959 dpurdie 15490
         -- Log Action
15491
         SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
15492
          FROM PROJECTS proj,
15493
               RELEASE_TAGS rt
15494
         WHERE rt.PROJ_ID = proj.PROJ_ID
15495
         AND   rt.RTAG_ID = RtagId;
15496
 
15497
         Log_Action ( newPvId, 'add_to_planned', UserId, 'Location: '|| ReleaseLocation );
1373 dpurdie 15498
      END IF;
15499
 
3959 dpurdie 15500
END;
1373 dpurdie 15501
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 15502
END PK_PLANNED;
4040 dpurdie 15503
 
6999 dpurdie 15504
/
4040 dpurdie 15505
--------------------------------------------------------
15506
--  DDL for Package Body PK_PROJECT
15507
--------------------------------------------------------
15508
 
5172 dpurdie 15509
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_PROJECT" IS
1373 dpurdie 15510
 
3959 dpurdie 15511
    /*------------------------------------------------------------------------*/
15512
    PROCEDURE update_base_url (
15513
    nprojid   IN  projects.proj_id%TYPE,
15514
    sbaseurl  IN  VARCHAR2
15515
    ) IS
15516
    BEGIN
1373 dpurdie 15517
 
3959 dpurdie 15518
    UPDATE projects
15519
    SET base_url = sbaseurl
15520
    WHERE proj_id = nprojid;
15521
 
15522
    END update_base_url;
15523
 
15524
/*------------------------------------------------------------------------*/
15525
    PROCEDURE update_project_config (
15526
    nprojid   IN  projects.proj_id%TYPE,
15527
    sbaseurl  IN  VARCHAR2,
15528
    sjirakey  IN  VARCHAR2
15529
    ) IS
15530
    BEGIN
15531
 
15532
    UPDATE projects
15533
    SET base_url = sbaseurl,
15534
        jira_key = sjirakey
15535
    WHERE proj_id = nprojid;
15536
 
15537
    END update_project_config;
15538
    /*------------------------------------------------------------------------*/
15539
 
15540
    END pk_project;
4040 dpurdie 15541
 
6999 dpurdie 15542
/
4040 dpurdie 15543
--------------------------------------------------------
15544
--  DDL for Package Body PK_RELEASE
15545
--------------------------------------------------------
15546
 
5172 dpurdie 15547
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_RELEASE" IS
3959 dpurdie 15548
 
1373 dpurdie 15549
/*-------------------------------------------------------------------------------------------------------*/
6031 dpurdie 15550
PROCEDURE New_Release ( sReleaseName IN VARCHAR2,
15551
                        sReleaseComments IN VARCHAR2,
15552
                        nProjId IN NUMBER,
15553
                        nSourceRtagId IN NUMBER,
15554
                        sIsBranched IN CHAR,
5502 dpurdie 15555
                        nUserId IN NUMBER,
15556
                        cOfficial IN CHAR DEFAULT 'N'
15557
                        ) IS
1373 dpurdie 15558
 
3959 dpurdie 15559
RtagId NUMBER;
15560
ParentRtagId NUMBER;
15561
RecCount NUMBER := 0;
15562
VtreeId NUMBER;
1373 dpurdie 15563
 
3959 dpurdie 15564
BEGIN
15565
   /*--------------- Business Rules Here -------------------*/
15566
   -- Check for missing parameters
15567
   IF (sReleaseName IS NULL) OR (nUserId IS NULL)
15568
   THEN
15569
      RAISE_APPLICATION_ERROR (-20000, 'Missing some parameters! sReleaseName= '|| sReleaseName ||', nUserId='|| nUserId );
1373 dpurdie 15570
 
3959 dpurdie 15571
   END IF;
1373 dpurdie 15572
 
3959 dpurdie 15573
 
15574
   -- Check for duplicate Release Names
15575
   SELECT COUNT(rt.RTAG_ID) INTO RecCount
15576
     FROM RELEASE_TAGS rt
15577
    WHERE UPPER( rt.RTAG_NAME ) = UPPER( sReleaseName )
15578
      AND rt.PROJ_ID = nProjId;
15579
 
15580
   IF (RecCount > 0) THEN
15581
      RAISE_APPLICATION_ERROR (-20000, 'Release Name '|| sReleaseName ||' is Already Used in this Project.');
15582
   END IF;
15583
   /*-------------------------------------------------------*/
15584
 
15585
 
15586
   -- Get rtag_id
15587
   SELECT SEQ_RTAG_ID.NEXTVAL INTO RtagId FROM DUAL;
15588
 
15589
   SELECT SEQ_VTREE_ID.NEXTVAL INTO VtreeId FROM DUAL;
15590
 
15591
 
15592
 
15593
   -- Get Parent RtagId
15594
   ParentRtagId := GET_PARENT_RTAG ( RtagId, nSourceRtagId, sIsBranched );
15595
 
15596
   -- If the parent RTAG is NOT in this project then we cannot use it.
15597
   -- We must re-assign the parent to be the new release's RTAG_ID instead
15598
   -- else it will not show up in the projects release tree (DEVI-55480)
15599
   SELECT COUNT(rt.RTAG_ID) INTO RecCount
15600
     FROM RELEASE_TAGS rt
15601
    WHERE rt.RTAG_ID = ParentRtagId
15602
      AND rt.PROJ_ID = nProjId;
15603
 
15604
   IF (RecCount = 0) THEN
15605
     ParentRtagId := RtagId;
15606
   END IF;
15607
 
15608
   -- Create new release
15609
   INSERT INTO RELEASE_TAGS ( RTAG_ID, RTAG_NAME, DESCRIPTION, CREATED_STAMP, CREATOR_ID,
15610
                        OFFICIAL, REBUILD_ENV, REBUILD_STAMP,
15611
                        PARENT_RTAG_ID, PROJ_ID, VTREE_ID )
15612
   VALUES ( RtagId,
15613
          sReleaseName,
15614
          sReleaseComments,
7000 dpurdie 15615
          ora_sysdatetime,
3959 dpurdie 15616
          nUserId,
5502 dpurdie 15617
          cOfficial,
3959 dpurdie 15618
          'N',
15619
          0,
15620
          ParentRtagId,
15621
          nProjId,
15622
          VtreeId );
15623
 
15624
   -- If a source release is provided, clone its config spec branch information into the new release (DEVI-56650)
15625
   IF (NOT nSourceRtagId IS NULL)
15626
   THEN
15627
      UPDATE RELEASE_TAGS rtd
15628
      SET rtd.config_spec_branch = (SELECT rts.CONFIG_SPEC_BRANCH FROM RELEASE_TAGS rts WHERE rts.RTAG_ID = nSourceRtagId)
15629
      WHERE rtd.RTAG_ID = RtagId;
15630
   END IF;
15631
 
15632
   -- Update display Order
15633
   UPDATE_DISPLAY_ORDER ( nProjId );
15634
 
15635
   /* Log Project Action */
15636
   Log_Project_Action ( nProjId, 'new_release', nUserId, sReleaseName, RtagId );
15637
 
15638
 
15639
   -- Import Release Contents
15640
   IF (NOT nSourceRtagId IS NULL) THEN
5502 dpurdie 15641
      Import_Release_Contents ( nSourceRtagId, RtagId, nUserId, 1 );
3959 dpurdie 15642
   END IF;
15643
 
15644
END;
15645
/*-------------------------------------------------------------------------------------------------------*/
15646
PROCEDURE UPDATE_DISPLAY_ORDER ( nProjId IN NUMBER ) IS
15647
 
15648
 
15649
BEGIN
15650
 
15651
 
15652
   /*--------------- Business Rules Here -------------------*/
15653
   /*-------------------------------------------------------*/
15654
 
15655
   UPDATE RELEASE_TAGS urt SET
15656
   urt.DISPLAY_ORDER = (
15657
                  SELECT qry.REC_NUM
15658
                    FROM (
15659
                        SELECT rel.*, ROWNUM AS REC_NUM
15660
                          FROM (
15661
 
15662
                                SELECT rt.RTAG_ID,
15663
                                    rt.DISPLAY_ORDER,
15664
                                     DECODE( rt.PARENT_RTAG_ID,
15665
                                             rt.RTAG_ID, 0, rt.PARENT_RTAG_ID ) AS PARENT_RTAG_ID
15666
                                FROM RELEASE_TAGS rt
15667
                               WHERE rt.PROJ_ID = nProjId
15668
 
15669
                                ) rel
15670
                        START WITH rel.PARENT_RTAG_ID = 0
15671
                        CONNECT BY PRIOR rel.RTAG_ID = rel.PARENT_RTAG_ID
15672
                        ORDER SIBLINGS BY rel.DISPLAY_ORDER
15673
                        ) qry
15674
                     WHERE qry.RTAG_ID = urt.RTAG_ID
15675
                  )
15676
   WHERE urt.PROJ_ID = nProjId;
15677
 
15678
END;
15679
/*-------------------------------------------------------------------------------------------------------*/
15680
PROCEDURE MOVE_RELEASE ( sRtagIdList IN VARCHAR2, nProjId IN NUMBER, nUserId IN NUMBER  ) IS
15681
 
15682
   nIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
15683
   SeqNum NUMBER;
15684
 
15685
BEGIN
15686
 
15687
 
15688
   /*--------------- Business Rules Here -------------------*/
15689
   /*-------------------------------------------------------*/
15690
 
15691
   nIdCollector := IN_LIST_NUMBER ( sRtagIdList );
15692
 
15693
   -- Set start sequence number
15694
   SeqNum := 1;
15695
 
15696
   FOR i IN 1..nIdCollector.COUNT
15697
   LOOP
15698
 
15699
      -- Update new display order
15700
      UPDATE RELEASE_TAGS rt SET
15701
         rt.DISPLAY_ORDER = SeqNum
15702
       WHERE rt.PROJ_ID = nProjId
15703
         AND rt.RTAG_ID = nIdCollector(i);
15704
 
15705
      SeqNum := SeqNum + 1;
15706
 
15707
   END LOOP;
15708
 
15709
END;
15710
/*-------------------------------------------------------------------------------------------------------*/
5502 dpurdie 15711
PROCEDURE Update_Release ( nRtagId IN NUMBER,
15712
                           sReleaseName IN VARCHAR2,
15713
                           sReleaseComments IN VARCHAR2,
15714
                           nParentRtagId IN NUMBER,
15715
                           nMASSRtagId IN NUMBER,
15716
                           nConfigSpecBranch IN VARCHAR2,
15717
                           sOwnerEmail IN VARCHAR2,
15718
                           nUserId IN NUMBER,
15719
                           cState IN VARCHAR,
5384 dpurdie 15720
                           nBuildAge in NUMBER,
15721
                           cLxr in CHAR) IS
3959 dpurdie 15722
 
15723
RecCount NUMBER := 0;
15724
ProjId NUMBER;
15725
 
15726
BEGIN
15727
 
15728
 
15729
   /*--------------- Business Rules Here -------------------*/
15730
   -- Check for missing parameters
15731
   IF (sReleaseName IS NULL) OR (nUserId IS NULL) OR (nRtagId IS NULL)
15732
   THEN
15733
      RAISE_APPLICATION_ERROR (-20000, 'Missing some parameters! sReleaseName= '|| sReleaseName ||', nUserId='|| nUserId ||', nRtagId='|| nRtagId);
15734
 
15735
   END IF;
15736
 
15737
 
15738
   -- Check for duplicate Release Names
15739
   SELECT rt.PROJ_ID INTO ProjId
15740
     FROM RELEASE_TAGS rt
15741
    WHERE rt.RTAG_ID = nRtagId;
15742
 
15743
   SELECT COUNT(rt.RTAG_ID) INTO RecCount
15744
     FROM RELEASE_TAGS rt
15745
    WHERE UPPER( rt.RTAG_NAME ) = UPPER( sReleaseName )
15746
      AND rt.RTAG_ID != nRtagId
15747
      AND rt.PROJ_ID = ProjId;
15748
 
15749
 
15750
   IF (RecCount > 0) THEN
15751
      RAISE_APPLICATION_ERROR (-20000, 'Release Name '|| sReleaseName ||' is Already Used in this Project.');
15752
   END IF;
15753
   /*-------------------------------------------------------*/
15754
 
15755
 
15756
 
15757
   -- Update release details
15758
   UPDATE RELEASE_TAGS rt SET
15759
   rt.RTAG_NAME = sReleaseName,
15760
   rt.DESCRIPTION = sReleaseComments,
15761
   rt.PARENT_RTAG_ID = nParentRtagId,
15762
   rt.ASSOC_MASS_REF = nMASSRtagId,
15763
   rt.CONFIG_SPEC_BRANCH = nConfigSpecBranch,
15764
   rt.OWNER_EMAIL = sOwnerEmail,
5172 dpurdie 15765
   rt.PRODUCT_STATE_USED = cState,
5384 dpurdie 15766
   rt.BUILD_AGE = nBuildAge,
15767
   rt.LXR = cLxr
3959 dpurdie 15768
   WHERE rt.RTAG_ID = nRtagId;
15769
 
15770
   -- Update display Order
15771
   UPDATE_DISPLAY_ORDER ( ProjId );
15772
 
15773
   /* Log Project Action */
15774
   Log_Project_Action ( ProjId, 'update_release', nUserId, 'Release Name: <br>Release Comments:', nRtagId );
15775
 
15776
 
15777
 
15778
 
15779
END;
15780
/*-------------------------------------------------------------------------------------------------------*/
15781
PROCEDURE Destroy_Release ( nRtagId IN NUMBER, nUserId IN NUMBER ) IS
15782
 
15783
   RecCount NUMBER := 0;
15784
   sReleaseId VARCHAR2(4000);
15785
   ProjId NUMBER;
15786
 
15787
BEGIN
15788
   /*--------------- Business Rules Here -------------------*/
15789
   IF (nRtagId IS NULL)
15790
   THEN
15791
      RAISE_APPLICATION_ERROR (-20000, 'Missing some parameters! nRtagId= '|| nRtagId  );
15792
   END IF;
15793
 
15794
 
15795
 
15796
   -- Check for any kids
15797
   SELECT COUNT( rt.RTAG_ID ) INTO RecCount
15798
     FROM RELEASE_TAGS rt
15799
    WHERE rt.PARENT_RTAG_ID = nRtagId
15800
      AND rt.RTAG_ID != rt.PARENT_RTAG_ID;
15801
 
15802
   IF (RecCount > 0) THEN
15803
      RAISE_APPLICATION_ERROR (-20000, 'Cannot destroy this release. You need to destroy its children releases first.'  );
15804
   END IF;
15805
   /*-------------------------------------------------------*/
15806
 
15807
   -- Clear the release contents
15808
   Clean_Release_Contents ( nRtagId, nUserId );
15809
 
15810
   /* Log Project Action */
15811
   SELECT rt.PROJ_ID, rt.RTAG_NAME ||'['|| rt.RTAG_VERSION ||'.'|| rt.RTAG_LIFE_CYCLE ||']' INTO ProjId, sReleaseId
15812
     FROM RELEASE_TAGS rt
15813
    WHERE rt.RTAG_ID = nRtagId;
15814
 
15815
   Log_Project_Action ( ProjId, 'destroy_release', nUserId, sReleaseId, nRtagId );
15816
 
15817
 
15818
   -- Remove Release
15819
   DELETE
15820
     FROM RELEASE_TAGS rt
15821
    WHERE rt.RTAG_ID = nRtagId;
15822
 
15823
 
15824
 
15825
END;
15826
/*-------------------------------------------------------------------------------------------------------*/
5502 dpurdie 15827
PROCEDURE Import_Release_Contents ( nSourceRtagId IN NUMBER, nTargetRtagId IN NUMBER, nUserId IN NUMBER, nMode IN NUMBER default 0 ) IS
3959 dpurdie 15828
 
15829
   sSourceLocation VARCHAR2(4000);
15830
   sTargetLocation VARCHAR2(4000);
15831
   ProjId NUMBER;
6999 dpurdie 15832
   nIsOpen NUMBER;
3959 dpurdie 15833
   RconId NUMBER;
15834
 
15835
   -- this cursor gets the source release daemon configurations, ensuring that the
15836
   -- first record will be the master daemon, and subsequent records will be the slaves.
15837
   CURSOR curSrcReleaseConfigs IS
4308 dpurdie 15838
    SELECT daemon_hostname, gbe_id, gbe_buildfilter, bmcon_id, daemon_mode
3959 dpurdie 15839
     FROM RELEASE_CONFIG rc
15840
    WHERE rc.RTAG_ID = nSourceRtagId
15841
    ORDER BY rc.daemon_mode;
15842
    recSrcReleaseConfigs curSrcReleaseConfigs%ROWTYPE;
15843
 
15844
    -- this cursor looks for target release daemons
15845
   CURSOR curTgtReleaseConfigs IS
15846
    SELECT rcon_id
15847
     FROM RELEASE_CONFIG rc
15848
    WHERE rc.RTAG_ID = nTargetRtagId;
15849
    recTgtReleaseConfigs curTgtReleaseConfigs%ROWTYPE;
15850
 
15851
    -- this cursor looks for target release daemon run level entries
15852
   CURSOR curTgtReleaseConfigRunLevel IS
6999 dpurdie 15853
    SELECT pause
3959 dpurdie 15854
     FROM RUN_LEVEL rl
15855
    WHERE rl.RCON_ID = recTgtReleaseConfigs.rcon_id;
15856
    recTgtReleaseConfigRunLevel curTgtReleaseConfigRunLevel%ROWTYPE;
15857
 
15858
BEGIN
15859
   /*--------------- Business Rules Here -------------------*/
15860
   IF (nSourceRtagId IS NULL) OR (nTargetRtagId IS NULL)
15861
   THEN
15862
      RAISE_APPLICATION_ERROR (-20000, 'Missing some parameters! nSourceRtagId= '|| nSourceRtagId ||', nTargetRtagId='|| nTargetRtagId );
15863
   END IF;
15864
 
15865
   IF (nSourceRtagId = nTargetRtagId) THEN
15866
      RAISE_APPLICATION_ERROR (-20000, 'Cannot import release contents from same release.' );
15867
   END IF;
15868
 
15869
 
6999 dpurdie 15870
   -- Check if Target release is in OPEN-ish mode
5502 dpurdie 15871
   IF nMode = 0 THEN
6999 dpurdie 15872
     SELECT count(*)  INTO  nIsOpen
5502 dpurdie 15873
       FROM RELEASE_TAGS rt
6999 dpurdie 15874
      WHERE rt.RTAG_ID = nTargetRtagId
15875
      AND rt.OFFICIAL in ('N', 'R', 'C');
6031 dpurdie 15876
 
6999 dpurdie 15877
     IF (nIsOpen > 1) THEN
5502 dpurdie 15878
        RAISE_APPLICATION_ERROR (-20000, 'Release must be in OPEN mode to import the contents.' );
15879
     END IF;
15880
  END IF;
3959 dpurdie 15881
 
15882
   -- check that the target release's daemons are all paused before we allow an import operation
15883
   OPEN curTgtReleaseConfigs;
15884
   FETCH curtgtReleaseConfigs INTO recTgtReleaseConfigs;
15885
 
7039 dpurdie 15886
 
3959 dpurdie 15887
   WHILE curTgtReleaseConfigs%FOUND
15888
   LOOP
15889
      OPEN curTgtReleaseConfigRunLevel;
15890
      FETCH curTgtReleaseConfigRunLevel INTO recTgtReleaseConfigRunLevel;
15891
      IF curTgtReleaseConfigRunLevel%FOUND THEN
6999 dpurdie 15892
         IF (recTgtReleaseConfigRunLevel.pause IS NULL) OR
15893
            (recTgtReleaseConfigRunLevel.pause <> 2) THEN
3959 dpurdie 15894
            RAISE_APPLICATION_ERROR (-20000, 'Destination release daemon run levels must be paused before operation can proceed.' );
15895
         END IF;
1373 dpurdie 15896
      ELSE
3959 dpurdie 15897
         -- we don't know what the daemon run level is so err on the side of caution
15898
         RAISE_APPLICATION_ERROR (-20000, 'Destination release daemon run levels must be paused before operation can proceed.' );
1373 dpurdie 15899
      END IF;
3959 dpurdie 15900
      CLOSE curTgtReleaseConfigRunLevel;
1373 dpurdie 15901
 
3959 dpurdie 15902
      FETCH curTgtReleaseConfigs INTO recTgtReleaseConfigs;
15903
   END LOOP;
1373 dpurdie 15904
 
3959 dpurdie 15905
   CLOSE curTgtReleaseConfigs;
1373 dpurdie 15906
 
15907
 
3959 dpurdie 15908
   /*-------------------------------------------------------*/
1373 dpurdie 15909
 
3959 dpurdie 15910
   -- Clean target contents
15911
   Clean_Release_Contents ( nTargetRtagId, nUserId );
1373 dpurdie 15912
 
3959 dpurdie 15913
   -- Import Released Area Contents
5502 dpurdie 15914
   INSERT INTO RELEASE_CONTENT ( RTAG_ID, PV_ID, BASE_VIEW_ID, INSERT_STAMP, INSERTOR_ID, PKG_STATE, PKG_ID, DEPRECATED_STATE,PRODUCT_STATE,SDKTAG_ID )
3959 dpurdie 15915
   SELECT nTargetRtagId AS RTAG_ID,
15916
         rc.PV_ID,
15917
         rc.BASE_VIEW_ID,
15918
         rc.INSERT_STAMP,
15919
         rc.INSERTOR_ID,
15920
         rc.PKG_STATE,
15921
         rc.PKG_ID,
5384 dpurdie 15922
         rc.DEPRECATED_STATE,
15923
         rc.PRODUCT_STATE,
15924
         rc.SDKTAG_ID
3959 dpurdie 15925
     FROM RELEASE_CONTENT rc
15926
    WHERE rc.RTAG_ID = nSourceRtagId;
15927
 
15928
 
15929
   -- Import any Pegged Version settings from the source release
15930
   INSERT INTO PEGGED_VERSIONS ( RTAG_ID, PV_ID )
15931
   SELECT nTargetRtagId AS RTAG_ID,
15932
          pegv.PV_ID
15933
     FROM PEGGED_VERSIONS pegv
15934
    WHERE pegv.RTAG_ID = nSourceRtagId;
15935
 
15936
   -- Import any Advisory Ripple settings from the source release
15937
   INSERT INTO ADVISORY_RIPPLE ( RTAG_ID, PV_ID )
15938
   SELECT nTargetRtagId AS RTAG_ID,
15939
          avr.PV_ID
15940
     FROM ADVISORY_RIPPLE avr
15941
    WHERE avr.RTAG_ID = nSourceRtagId;
15942
 
6999 dpurdie 15943
   -- Import Ignore Warning states
15944
   INSERT INTO IGNORE_WARNINGS ( RTAG_ID, PV_ID, DPV_ID )
15945
   SELECT nTargetRtagId AS RTAG_ID,
15946
          igw.PV_ID,
15947
          igw.DPV_ID
15948
     FROM IGNORE_WARNINGS igw
15949
    WHERE igw.rtag_id = nSourceRtagId;
3959 dpurdie 15950
 
6999 dpurdie 15951
 
3959 dpurdie 15952
   --Import Release Configuration Information
15953
   OPEN curSrcReleaseConfigs;
15954
   FETCH curSrcReleaseConfigs INTO recSrcReleaseConfigs;
15955
 
6999 dpurdie 15956
   WHILE curSrcReleaseConfigs%FOUND
3959 dpurdie 15957
   LOOP
15958
      -- add a daemon to the target release
5502 dpurdie 15959
      PK_BUILDAPI.duplicate_daemon_config( nTargetRtagId,
15960
                                     recSrcReleaseConfigs.bmcon_id,
15961
                                     recSrcReleaseConfigs.daemon_hostname,
15962
                                     recSrcReleaseConfigs.gbe_id,
4308 dpurdie 15963
                                     recSrcReleaseConfigs.daemon_mode ,
15964
                                     recSrcReleaseConfigs.gbe_buildfilter );
3959 dpurdie 15965
 
15966
      FETCH curSrcReleaseConfigs INTO recSrcReleaseConfigs;
15967
   END LOOP;
15968
   CLOSE curSrcReleaseConfigs;
15969
 
15970
   /* Log Project Action */
15971
   -- Get Source Location
15972
   SELECT pr.PROJ_NAME ||' > '|| rt.RTAG_NAME ||' ['|| rt.RTAG_VERSION ||'.'|| rt.RTAG_LIFE_CYCLE ||']'  INTO sSourceLocation
15973
     FROM RELEASE_TAGS rt,
15974
           PROJECTS pr
15975
    WHERE rt.PROJ_ID = pr.PROJ_ID
15976
      AND rt.RTAG_ID = nSourceRtagId;
15977
 
15978
   -- Get Target Location
15979
   SELECT pr.PROJ_NAME ||' > '|| rt.RTAG_NAME ||' ['|| rt.RTAG_VERSION ||'.'|| rt.RTAG_LIFE_CYCLE ||']'  INTO sTargetLocation
15980
     FROM RELEASE_TAGS rt,
15981
           PROJECTS pr
15982
    WHERE rt.PROJ_ID = pr.PROJ_ID
15983
      AND rt.RTAG_ID = nTargetRtagId;
15984
 
15985
   -- Get project id
15986
   SELECT rt.PROJ_ID  INTO  ProjId
15987
     FROM RELEASE_TAGS rt
15988
    WHERE rt.RTAG_ID = nTargetRtagId;
15989
 
15990
   Log_Project_Action ( ProjId, 'import_release_contents', nUserId, 'SOURCE: '|| sSourceLocation ||'   TARGET: '|| sTargetLocation, nTargetRtagId );
15991
END;
15992
 
15993
 
1373 dpurdie 15994
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 15995
PROCEDURE Clean_Release_Contents ( nRtagId IN NUMBER, nUserId IN NUMBER ) IS
1373 dpurdie 15996
 
3959 dpurdie 15997
   RecCount NUMBER;
15998
        rconIdList VARCHAR2(4000);
1373 dpurdie 15999
 
3959 dpurdie 16000
BEGIN
16001
   /*--------------- Business Rules Here -------------------*/
16002
   IF (nRtagId IS NULL)
16003
   THEN
16004
      RAISE_APPLICATION_ERROR (-20000, 'Missing some parameters! nRtagId= '|| nRtagId  );
16005
   END IF;
1373 dpurdie 16006
 
16007
 
3959 dpurdie 16008
   -- Check if other release references this release
16009
   SELECT COUNT( rl.RTAG_ID ) INTO RecCount
16010
     FROM RELEASE_LINKS rl
16011
    WHERE rl.REF_RTAG_ID = nRtagId;
1373 dpurdie 16012
 
3959 dpurdie 16013
   IF (RecCount > 0) THEN
16014
      RAISE_APPLICATION_ERROR (-20000, 'This release is referenced by other release and cannot be destroyed.'  );
16015
   END IF;
16016
   /*-------------------------------------------------------*/
1373 dpurdie 16017
 
3959 dpurdie 16018
   -- Delete Release links
16019
   DELETE
16020
     FROM RELEASE_LINKS rl
16021
    WHERE rl.RTAG_ID = nRtagId;
16022
 
16023
   -- Delete ignore warning
16024
   DELETE
16025
     FROM IGNORE_WARNINGS iw
16026
    WHERE iw.RTAG_ID = nRtagId;
16027
 
16028
 
16029
   -- Delete Build Order cached calculations
16030
   DELETE
16031
     FROM BUILD_ORDER bo
16032
    WHERE bo.RTAG_ID = nRtagId;
16033
 
16034
 
16035
   -- Delete Notification History
16036
   DELETE
16037
     FROM NOTIFICATION_HISTORY nh
16038
    WHERE nh.RTAG_ID = nRtagId;
16039
 
16040
 
16041
   -- Delete Released Area Contents
16042
   DELETE
16043
     FROM RELEASE_CONTENT rc
16044
    WHERE rc.RTAG_ID = nRtagId;
16045
 
16046
 
16047
   -- Delete Work In Progress Area Contents
16048
   DELETE
16049
     FROM WORK_IN_PROGRESS wip
16050
    WHERE wip.RTAG_ID = nRtagId;
16051
 
16052
 
16053
   -- Delete Pending Area Contents
16054
   DELETE
16055
     FROM PLANNED pl
16056
    WHERE pl.RTAG_ID = nRtagId;
16057
 
16058
   -- Delete Deprecated Packages
16059
   DELETE
16060
     FROM DEPRECATED_PACKAGES dp
16061
    WHERE dp.RTAG_ID = nRtagId;
16062
 
16063
   -- Delete Project Action Log
16064
   DELETE
16065
     FROM PROJECT_ACTION_LOG pal
16066
    WHERE pal.RTAG_ID = nRtagId;
16067
 
16068
   -- Delete Do Not Ripple Contents
16069
   DELETE
16070
     FROM DO_NOT_RIPPLE dnr
16071
    WHERE dnr.RTAG_ID = nRtagId;
16072
 
16073
   -- Delete Dash Board Contents
16074
   DELETE
16075
     FROM DASH_BOARD db
16076
    WHERE db.RTAG_ID = nRtagId;
16077
 
16078
   -- Delete Advisory Ripple Contents
16079
   DELETE
16080
     FROM ADVISORY_RIPPLE adr
16081
    WHERE adr.RTAG_ID = nRtagId;
16082
 
16083
   -- Delete Archive Action Log
16084
   DELETE
16085
     FROM ARCHIVE_ACTION_LOG aal
16086
    WHERE aal.RTAG_ID = nRtagId;
16087
 
16088
   -- Delete Daemons For This Release
16089
   FOR rcon IN (SELECT rc.RCON_ID FROM RELEASE_CONFIG rc WHERE rc.RTAG_ID = nRtagId )
16090
   LOOP
16091
      rconIdList := rconIdList || rcon.RCON_ID || ',';
16092
   END LOOP;
16093
 
16094
   pk_buildapi.DELETE_DAEMON(rconIdList);
16095
 
16096
   -- Delete Release Metrics Contents
16097
   DELETE
16098
     FROM RELEASE_METRICS rm
16099
    WHERE rm.RTAG_ID = nRtagId;
16100
 
16101
   -- Delete Release Configuration Contents
16102
   DELETE
16103
     FROM RELEASE_CONFIG rc
16104
    WHERE rc.RTAG_ID = nRtagId;
16105
 
16106
   -- Delete Pegged Version Contents
16107
   DELETE
16108
     FROM PEGGED_VERSIONS pegv
16109
    WHERE pegv.RTAG_ID = nRtagId;
16110
 
16111
END;
16112
/*-------------------------------------------------------------------------------------------------------*/
16113
FUNCTION GET_PARENT_RTAG ( nRtagId IN NUMBER, nSourceRtagId IN NUMBER, cIsBranch IN CHAR )  RETURN NUMBER IS
16114
 
16115
   nSourceParentRtagId NUMBER;
16116
 
16117
BEGIN
16118
   /*--------------- Business Rules Here -------------------*/
16119
   IF (nRtagId IS NULL) OR (cIsBranch IS NULL)
16120
   THEN
16121
      RAISE_APPLICATION_ERROR (-20000, 'Missing some parameters! nRtagId= '|| nRtagId ||', cIsBranch= '|| cIsBranch );
16122
   END IF;
16123
   /*-------------------------------------------------------*/
16124
 
16125
 
16126
   IF ( nSourceRtagId IS NULL ) THEN
16127
      -- Create new on main branch
16128
      RETURN nRtagId;
16129
 
16130
   ELSE
16131
      -- Create from source rtag_id
16132
 
16133
      -- Find parent of Source RtagId
16134
      SELECT rt.PARENT_RTAG_ID INTO nSourceParentRtagId
16135
        FROM RELEASE_TAGS rt
16136
       WHERE rt.RTAG_ID = nSourceRtagId;
16137
 
16138
      IF (UPPER(cIsBranch) = 'Y') THEN
16139
         RETURN nSourceRtagId;
16140
      ELSE
16141
         IF (nSourceRtagId = nSourceParentRtagId) THEN
16142
            RETURN nRtagId;
16143
         ELSE
16144
            RETURN nSourceParentRtagId;
1373 dpurdie 16145
         END IF;
16146
      END IF;
16147
 
3959 dpurdie 16148
 
16149
   END IF;
16150
 
16151
 
16152
END;
1373 dpurdie 16153
/*-------------------------------------------------------------------------------------------------------*/
16154
 
3959 dpurdie 16155
-- PROCEDURE Get_Next_Version ( nSourceRtagId IN NUMBER,
16156
--                       sNextVersion OUT VARCHAR2,
16157
--                       nNextLifeCycle OUT NUMBER,
16158
--                       nParentRtagId OUT NUMBER,
16159
--                       nProjId IN NUMBER ) IS
16160
--
16161
-- SourceBranchCount NUMBER;
16162
-- ProjRootVersion VARCHAR2(4000);
16163
-- LastLifeCycle NUMBER;
16164
-- ROOT_VERSION_NOT_FOUND NUMBER := -1;
16165
-- SET_PARENT_AS_YOURSELF NUMBER := -1;
16166
--
16167
-- SourceProjId NUMBER;
16168
-- SourceVersion RELEASE_TAGS.RTAG_VERSION%TYPE;
16169
-- SourceLifeCycle RELEASE_TAGS.RTAG_LIFE_CYCLE%TYPE;
16170
--
16171
-- BEGIN
16172
--    /*--------------- Business Rules Here -------------------*/
16173
--    /*-------------------------------------------------------*/
16174
--
16175
--
16176
--    BEGIN
16177
--       -- Get Project root version
16178
--       SELECT rt.RTAG_VERSION INTO ProjRootVersion
16179
--         FROM RELEASE_TAGS rt
16180
--        WHERE rt.PROJ_ID = nProjId
16181
--          AND rt.RTAG_ID = rt.PARENT_RTAG_ID;
16182
--
16183
--       EXCEPTION
16184
--       WHEN NO_DATA_FOUND THEN
16185
--       ProjRootVersion := ROOT_VERSION_NOT_FOUND;
16186
--    END;
16187
--
16188
--
16189
--
16190
--
16191
--    BEGIN
16192
--       -- Get info for source rtagid
16193
--       SELECT rt.PROJ_ID, rt.RTAG_VERSION, rt.RTAG_LIFE_CYCLE  INTO  SourceProjId, SourceVersion, SourceLifeCycle
16194
--         FROM RELEASE_TAGS rt
16195
--        WHERE rt.RTAG_ID = nSourceRtagId;
16196
--
16197
--       EXCEPTION
16198
--       WHEN NO_DATA_FOUND THEN
16199
--       SourceProjId := NULL;
16200
--       SourceVersion := NULL;
16201
--       SourceLifeCycle := NULL;
16202
--    END;
16203
--
16204
--
16205
--    IF (nSourceRtagId IS NULL)  OR  ( SourceProjId != nProjId ) THEN
16206
--
16207
--       /* Blank Release Required  OR  Release imported from other project */
16208
--
16209
--       IF (ProjRootVersion = ROOT_VERSION_NOT_FOUND) THEN
16210
--          /* No Releases found in the project, hence calculate next version available.  */
16211
--
16212
--          -- Set parent rtag
16213
--          nParentRtagId := SET_PARENT_AS_YOURSELF;
16214
--
16215
--
16216
--          BEGIN
16217
--             -- Get Next Available Global Root Version
16218
--             SELECT MAX( TO_NUMBER( rt.RTAG_VERSION ) )  INTO  ProjRootVersion
16219
--               FROM RELEASE_TAGS rt
16220
--              WHERE rt.RTAG_ID = rt.PARENT_RTAG_ID;
16221
--
16222
--             -- Set Next Rtag Version
16223
--             sNextVersion := CAST( ProjRootVersion + 1 AS VARCHAR2 );
16224
--
16225
--             -- Restart Lifecycle
16226
--             nNextLifeCycle := 0;
16227
--
16228
--
16229
--             EXCEPTION
16230
--             WHEN NO_DATA_FOUND THEN
16231
--             -- Release Manager has no releases, hence start from 1
16232
--             sNextVersion := '1';
16233
--             nNextLifeCycle := 0;
16234
--
16235
--          END;
16236
--
16237
--
16238
--
16239
--       ELSE
16240
--          /* Releases found in this project. */
16241
--
16242
--          SELECT qry.RTAG_ID, qry.RTAG_LIFE_CYCLE  INTO nParentRtagId, LastLifeCycle
16243
--            FROM (
16244
--                SELECT rt.RTAG_ID, rt.RTAG_LIFE_CYCLE
16245
--                  FROM RELEASE_TAGS rt
16246
--                 WHERE rt.PROJ_ID = nProjId
16247
--                   AND rt.RTAG_VERSION = ProjRootVersion
16248
--                 ORDER BY rt.RTAG_LIFE_CYCLE DESC
16249
--                  ) qry
16250
--           WHERE ROWNUM = 1;
16251
--
16252
--
16253
--          -- Set same Rtag Version
16254
--          sNextVersion := ProjRootVersion;
16255
--
16256
--          -- Increase Lifecycle
16257
--          nNextLifeCycle := LastLifeCycle + 1;
16258
--
16259
--       END IF;
16260
--
16261
--
16262
--
16263
--    ELSE
16264
--       /* Create Release From other release within this project */
16265
--
16266
--       -- Set parent id
16267
--       nParentRtagId := nSourceRtagId;
16268
--
16269
--
16270
--       -- Get number of source branches
16271
--       SELECT COUNT(rt.RTAG_ID) INTO SourceBranchCount
16272
--         FROM RELEASE_TAGS rt
16273
--        WHERE rt.PROJ_ID = nProjId
16274
--          AND rt.PARENT_RTAG_ID = nSourceRtagId;
16275
--
16276
--
16277
--       IF SourceBranchCount = 0 THEN
16278
--          /* Release is Head (i.e. Tip on its branch ) */
16279
--
16280
--          -- Set Next Rtag Version
16281
--          sNextVersion := SourceVersion;
16282
--
16283
--          -- Increase Lifecycle
16284
--          nNextLifeCycle := SourceLifeCycle + 1;
16285
--
16286
--
16287
--       ELSIF SourceBranchCount = 1 THEN
16288
--          /* Release IS NOT Head, but can be branched */
16289
--
16290
--          -- Set Next Rtag Version
16291
--          sNextVersion := SourceVersion ||'.'|| SourceLifeCycle;
16292
--
16293
--          -- Reset Lifecycle to 1
16294
--          nNextLifeCycle := 1;
16295
--
16296
--
16297
--       ELSE
16298
--          -- Limit of two branches is reached
16299
--          RAISE_APPLICATION_ERROR (-20000, 'This release is already branched and cannot be branched again. ');
16300
--
16301
--       END IF;
16302
--
16303
--
16304
--
16305
--
16306
--
16307
--
16308
--    END IF;
16309
--
16310
--
16311
-- END;
16312
 
16313
/*-------------------------------------------------------------------------------------------------------*/
7039 dpurdie 16314
PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur ) as 
16315
begin
16316
OPEN RecordSet FOR
16317
-- Determine the PV_ID and OPERATION for the required VIEW
16318
With selectedPv as (
16319
    SELECT pv.pv_id, ' ' as operation, 0 as pkg_state
16320
      FROM RELEASE_CONTENT rel, package_versions pv, VIEW_DEF vd,  VIEWS vi
16321
      WHERE rel.pv_id = pv.pv_id
16322
      AND vd.PKG_ID = pv.PKG_ID
16323
      AND vd.VIEW_ID = ViewId
16324
      AND rel.RTAG_ID = RtagId
16325
      AND vi.VIEW_ID = ViewId
16326
      AND vi.BASE_VIEW NOT IN ('Y', 'S')
16327
    UNION
16328
     SELECT rel.pv_id, ' ' as operation, 0 as pkg_state
16329
     FROM RELEASE_CONTENT rel, VIEWS vi
16330
     WHERE rel.BASE_VIEW_ID = ViewId
16331
     AND rel.RTAG_ID = RtagId
16332
     AND vi.VIEW_ID = ViewId
16333
     AND vi.BASE_VIEW IN ('Y', 'S')
16334
),
16335
-- Determine packages that are building
16336
building as (
16337
    SELECT unique rl.CURRENT_PV_ID as pv_id, rc.RTAG_ID 
16338
    FROM RELEASE_CONFIG rc, RELEASE_TAGS rt, RUN_LEVEL rl 
16339
    WHERE rt.RTAG_ID = rc.RTAG_ID
16340
    AND rc.RTAG_ID = RtagId
16341
    AND rc.bmcon_id is not null
16342
    AND rt.OFFICIAL in ( 'N', 'R', 'C')
16343
    AND rl.RCON_ID(+) = rc.RCON_ID
16344
    AND rl.CURRENT_PKG_ID_BEING_BUILT is not null
16345
    AND NVL(rl.PAUSE,0) < 2
16346
), 
16347
-- Determine Packages that are scheduled to build    
16348
scheduled as (
16349
    SELECT pv_id, RTAG_ID from daemon_instructions di
16350
    WHERE di.op_code = 2
16351
    AND RTAG_ID = RtagId
16352
) , 
16353
-- Determine Packages that failed to build or have been excluded
16354
buildFail as (
16355
    SELECT pv_id, root_pv_id, RTAG_ID from do_not_ripple dnr
16356
    WHERE RTAG_ID = RtagId
16357
) 
16358
-- Generate the complete dataset from the fragments
16359
  SELECT Case
16360
                    When sdi.pv_id is not null then 14
16361
                    When bb.pv_id is not null then 15
16362
                    When bf.pv_id is not null AND bf.root_pv_id is NULL then 16
16363
                    When bf.pv_id is not null AND bf.root_pv_id is NOT NULL then  17
16364
                    When rel.pkg_state is not null then rel.pkg_state
16365
                    Else 0
16366
                End as pkg_state,
16367
               NULL AS DEPRECATED_STATE,
16368
               pv.pv_id,
16369
               pkg.pkg_name,
16370
               pv.pkg_version,
16371
               pv.dlocked,
16372
               pv.pv_description,
16373
               pv.BUILD_TYPE,
16374
               rel.operation
16375
          FROM selectedPv rel,
16376
               packages pkg,
16377
               package_versions pv,
16378
               scheduled sdi,
16379
               buildFail bf,
16380
               building bb
16381
         WHERE pv.pkg_id = pkg.pkg_id
16382
           AND rel.pv_id = pv.pv_id
16383
           AND sdi.pv_id(+) = rel.pv_id
16384
           AND bf.pv_id(+) = rel.pv_id
16385
           AND bb.pv_id(+) = rel.pv_id
16386
         ORDER BY UPPER(pkg.PKG_NAME), pv.pv_id;
3959 dpurdie 16387
END;
7039 dpurdie 16388
 
3959 dpurdie 16389
/*-------------------------------------------------------------------------------------------------------*/
4585 dpurdie 16390
  -- Add or Replace a package to the specified release
3959 dpurdie 16391
PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
16392
   ReleaseLocation VARCHAR2(4000);
16393
   nPkgId NUMBER;
16394
   sVExt VARCHAR2(4000);
16395
   IsPatch PACKAGE_VERSIONS.IS_PATCH%TYPE := 'N';
5172 dpurdie 16396
   default_pegged CHAR := 'N';
16397
   default_advisory_ripple CHAR := 'N';
3959 dpurdie 16398
 
16399
   -- Find package for replacement
16400
   CURSOR curReplacePkg IS
16401
    SELECT pv.PV_ID
16402
     FROM RELEASE_CONTENT rc,
16403
           PACKAGE_VERSIONS pv
16404
    WHERE rc.PV_ID = pv.PV_ID
16405
      AND rc.RTAG_ID = RtagId
16406
      AND pv.PKG_ID = nPkgId
16407
      AND NVL( pv.V_EXT, 'LINK_A_NULL' ) = NVL( sVExt, 'LINK_A_NULL' );
16408
    recReplacePkg curReplacePkg%ROWTYPE;
16409
 
16410
BEGIN
16411
   -- Get is_patch, pkg_id and v_ext
5502 dpurdie 16412
   SELECT pv.IS_PATCH, pv.PKG_ID, pv.V_EXT
5172 dpurdie 16413
     INTO IsPatch, nPkgId, sVExt
3959 dpurdie 16414
     FROM PACKAGE_VERSIONS pv
16415
    WHERE pv.PV_ID = newPvId;
16416
 
16417
   -- Never put patch in relesed area
16418
   IF (IsPatch != 'Y') OR (IsPatch IS NULL) THEN
16419
 
16420
      -- Try to get a package to be replaced with this new one.
16421
      -- Use unique constraint of PKG_ID and V_EXT
16422
      OPEN curReplacePkg;
16423
       FETCH curReplacePkg INTO recReplacePkg;
16424
 
16425
       IF curReplacePkg%FOUND THEN
16426
         -- Replace package
16427
         REPLACE_PACKAGE ( newPvId, recReplacePkg.PV_ID, RtagId, UserId );
16428
 
16429
      ELSE
16430
         -- Add new package
16431
         INSERT INTO RELEASE_CONTENT ( RTAG_ID, PV_ID, BASE_VIEW_ID, INSERT_STAMP, INSERTOR_ID, PKG_STATE )
7000 dpurdie 16432
         VALUES( RtagId, newPvId, ViewId, ora_sysdatetime, UserId, 0);
5502 dpurdie 16433
 
5172 dpurdie 16434
        -- Insert default package flags
16435
        -- Get Package Level defaults
5502 dpurdie 16436
 
16437
        SELECT pkg.default_pegged, pkg.DEFAULT_ADVISORY_RIPPLE
5172 dpurdie 16438
         INTO  default_pegged, default_advisory_ripple
16439
         FROM  PACKAGES pkg
5502 dpurdie 16440
        WHERE  pkg.PKG_ID = nPkgId;
3959 dpurdie 16441
 
5172 dpurdie 16442
        -- Apply to the newly inserted package
16443
        IF default_pegged = 'Y' THEN
16444
          INSERT INTO PEGGED_VERSIONS ( RTAG_ID, PV_ID ) VALUES (RtagId, newPvId);
16445
          -- Log_Action ( newPvId, 'action', UserId, 'Set default package peg' );
16446
        END IF;
5502 dpurdie 16447
 
5172 dpurdie 16448
        IF default_advisory_ripple = 'Y' THEN
16449
          INSERT INTO ADVISORY_RIPPLE ( RTAG_ID, PV_ID ) VALUES (RtagId, newPvId);
16450
          -- Log_Action ( newPvId, 'action', UserId, 'Set default advisory ripple' );
16451
        END IF;
3959 dpurdie 16452
 
6600 dpurdie 16453
        -- Mark Release as changed
5172 dpurdie 16454
        SET_RELEASE_MODIFIED(RtagId);
16455
        RUN_POST_ACTIONS(newPvId, RtagId);
5502 dpurdie 16456
 
3959 dpurdie 16457
          /* LOG ACTION */
16458
         SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
16459
           FROM PROJECTS proj,
16460
                 RELEASE_TAGS rt
16461
          WHERE rt.PROJ_ID = proj.PROJ_ID
16462
            AND rt.RTAG_ID = RtagId;
16463
 
16464
         Log_Action ( newPvId, 'add', UserId, 'Location: '|| ReleaseLocation );
16465
 
1373 dpurdie 16466
      END IF;
3959 dpurdie 16467
      CLOSE curReplacePkg;
16468
   END IF;
5172 dpurdie 16469
END;
3959 dpurdie 16470
 
1373 dpurdie 16471
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 16472
PROCEDURE REPLACE_PACKAGE ( newPvId IN NUMBER, oldPvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
1373 dpurdie 16473
 
3959 dpurdie 16474
   ReleaseLocation VARCHAR2(4000);
16475
   sPkgVersion VARCHAR2(4000);
5172 dpurdie 16476
   nSdkTag NUMBER;
6600 dpurdie 16477
   cPersistRippleStop CHAR;
16478
   cRippleStop CHAR;
3959 dpurdie 16479
BEGIN
6600 dpurdie 16480
   -- Extract essential information
16481
      SELECT SDKTAG_ID, PERSIST_RIPPLE_STOP INTO nSdkTag, cPersistRippleStop FROM RELEASE_CONTENT
5172 dpurdie 16482
      WHERE rtag_id = RtagId
16483
       AND pv_id = oldPvId;
5502 dpurdie 16484
 
6600 dpurdie 16485
   -- Trap SDK Replacement
16486
   -- This is a last ditch check. The application should not allow this condition to happen
5172 dpurdie 16487
     If nSdkTag IS NOT NULL  THEN
16488
       raise_application_error (-20000, 'Attempt to replace a package provided by an SDK.');
16489
     END IF;
7039 dpurdie 16490
 
6600 dpurdie 16491
   -- Determine new value for ripple_stop
16492
   cRippleStop := NULL;
16493
   IF cPersistRippleStop is NOT NULL THEN
16494
      cRippleStop := 's';
16495
   END IF;
3959 dpurdie 16496
 
16497
   -- Replace Package
16498
    UPDATE RELEASE_CONTENT
16499
       SET pv_id = newPvId,
7000 dpurdie 16500
           insert_stamp = ora_sysdatetime,
3959 dpurdie 16501
           insertor_id = UserId,
6600 dpurdie 16502
           product_state = NULL,
16503
           ripple_stop = cRippleStop
3959 dpurdie 16504
     WHERE rtag_id = RtagId
16505
       AND pv_id = oldPvId;
16506
 
16507
   -- update the pegging table
16508
   UPDATE PEGGED_VERSIONS
16509
      SET pv_id = newPvId
16510
     WHERE rtag_id = RtagId
16511
       AND pv_id = oldPvId;
16512
 
16513
   -- update the advisory_ripple table
16514
   UPDATE ADVISORY_RIPPLE
16515
      SET pv_id = newPvId
16516
     WHERE rtag_id = RtagId
16517
       AND pv_id = oldPvId;
16518
 
16519
    /* LOG ACTION */
16520
   SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
16521
     FROM PROJECTS proj,
16522
           RELEASE_TAGS rt
16523
    WHERE rt.PROJ_ID = proj.PROJ_ID
16524
      AND rt.RTAG_ID = RtagId;
16525
 
16526
   SELECT pv.PKG_VERSION INTO sPkgVersion
16527
     FROM PACKAGE_VERSIONS pv
16528
    WHERE pv.PV_ID = newPvId;
16529
 
5172 dpurdie 16530
   SET_RELEASE_MODIFIED(RtagId);
3959 dpurdie 16531
   Log_Action ( oldPvId, 'replaced_with', UserId, 'Replacing with: '|| sPkgVersion ||' at '|| ReleaseLocation );
16532
   Log_Action ( newPvId, 'add', UserId, 'Location: '|| ReleaseLocation );
16533
 
16534
END;
16535
/*-------------------------------------------------------------------------------------------------------*/
16536
PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
16537
   ReleaseLocation VARCHAR2(4000);
5172 dpurdie 16538
   nSdkTag NUMBER;
3959 dpurdie 16539
BEGIN
5172 dpurdie 16540
   -- Trap SDK Package Deletion
16541
   -- This is a last ditch check. The application should not allow this condition to happen
16542
      SELECT SDKTAG_ID INTO nSdkTag FROM RELEASE_CONTENT
16543
      WHERE rtag_id = RtagId
16544
       AND pv_id = PvId;
5502 dpurdie 16545
 
5172 dpurdie 16546
     If nSdkTag IS NOT NULL  THEN
16547
       raise_application_error (-20000, 'Attempt to delete a package provided by an SDK.');
16548
     END IF;
3959 dpurdie 16549
 
16550
   -- Delete old package
16551
   DELETE
16552
     FROM RELEASE_CONTENT rc
16553
    WHERE rc.PV_ID = PvId
16554
      AND rc.RTAG_ID = RtagId;
16555
 
16556
 
16557
   /* LOG ACTION */
16558
   SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
16559
     FROM PROJECTS proj,
16560
          RELEASE_TAGS rt
16561
    WHERE rt.PROJ_ID = proj.PROJ_ID
16562
      AND rt.RTAG_ID = RtagId;
16563
 
16564
   Log_Action ( PvId, 'delete_from_released', UserId, 'Location: '|| ReleaseLocation );
16565
 
16566
 
16567
END;
16568
/*-------------------------------------------------------------------------------------------------------*/
16569
PROCEDURE REMOVE_MATCHING_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
16570
   ReleaseLocation VARCHAR2(4000);
16571
 
16572
   CURSOR curMatchingPackage IS
16573
    SELECT mpv.PV_ID
16574
     FROM RELEASE_CONTENT rc,
16575
           PACKAGE_VERSIONS mpv,
16576
         PACKAGE_VERSIONS pv
16577
    WHERE rc.PV_ID = mpv.PV_ID
16578
      AND rc.RTAG_ID = RtagId
16579
      AND pv.PV_ID = PvId
16580
      AND pv.PKG_ID = mpv.PKG_ID
16581
      AND NVL( pv.V_EXT, '|LINK_A_NULL|' ) = NVL( mpv.V_EXT, '|LINK_A_NULL|' );
16582
    recMatchingPackage curMatchingPackage%ROWTYPE;
16583
 
16584
BEGIN
16585
 
16586
   OPEN curMatchingPackage;
16587
    FETCH curMatchingPackage INTO recMatchingPackage;
16588
 
16589
    IF curMatchingPackage%FOUND THEN
16590
      -- Delete old package
16591
      DELETE
16592
        FROM RELEASE_CONTENT rc
16593
       WHERE rc.PV_ID = recMatchingPackage.PV_ID
16594
         AND rc.RTAG_ID = RtagId;
16595
 
16596
 
16597
      /* LOG ACTION */
16598
      SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
16599
        FROM PROJECTS proj,
16600
              RELEASE_TAGS rt
16601
       WHERE rt.PROJ_ID = proj.PROJ_ID
16602
         AND rt.RTAG_ID = RtagId;
16603
 
16604
      Log_Action ( recMatchingPackage.PV_ID, 'delete_from_released', UserId, 'Location: '|| ReleaseLocation );
16605
 
16606
   END IF;
16607
 
16608
 
16609
   CLOSE curMatchingPackage;
16610
 
16611
 
16612
 
16613
 
16614
END;
16615
/*-------------------------------------------------------------------------------------------------------*/
16616
FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER IS
16617
 
16618
   ReturnValue NUMBER;
16619
 
16620
BEGIN
16621
   SELECT rc.BASE_VIEW_ID INTO ReturnValue
16622
     FROM RELEASE_CONTENT rc
16623
    WHERE rc.RTAG_ID = RtagId
16624
      AND rc.PV_ID = PvId;
16625
 
16626
   RETURN ReturnValue;
16627
END;
16628
/*-------------------------------------------------------------------------------------------------------*/
16629
PROCEDURE RUN_POST_ACTIONS ( PvId IN NUMBER, RtagId IN NUMBER ) IS
16630
 
16631
BEGIN
16632
   -- Reset Ignore warnings up-the-tree
16633
   RESET_IGNORE_WARNINGS ( TO_CHAR(PvId), RtagId );
16634
 
16635
   -- Refresh Package states
16636
   TOUCH_RELEASE ( RtagId );
16637
 
16638
END;
16639
/*-------------------------------------------------------------------------------------------------------*/
16640
PROCEDURE RUN_POST_ACTIONS_BULK ( PvId IN NUMBER ) IS
16641
   CURSOR curReleases IS
16642
    SELECT rc.RTAG_ID
16643
     FROM RELEASE_CONTENT rc
16644
    WHERE rc.PV_ID = PvId;
16645
    recReleases curReleases%ROWTYPE;
16646
 
16647
BEGIN
16648
 
16649
   OPEN curReleases;
16650
    FETCH curReleases INTO recReleases;
16651
 
16652
   WHILE curReleases%FOUND
16653
   LOOP
16654
 
16655
      RUN_POST_ACTIONS ( PvId, recReleases.RTAG_ID );
16656
 
16657
      FETCH curReleases INTO recReleases;
16658
   END LOOP;
16659
 
16660
   CLOSE curReleases;
16661
 
16662
END;
16663
/*-------------------------------------------------------------------------------------------------------*/
16664
PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER ) IS
16665
 
16666
BEGIN
16667
 
16668
   UPDATE RELEASE_CONTENT rc SET
16669
   rc.BASE_VIEW_ID = NewViewId
16670
   WHERE rc.PV_ID = PvId
16671
     AND rc.RTAG_ID = RtagId;
16672
 
16673
END;
16674
/*-------------------------------------------------------------------------------------------------------*/
16675
PROCEDURE ADD_RELEASE_REFERENCE ( nRtagId IN NUMBER, nRefRtagId IN NUMBER, ProblemString OUT VARCHAR2 ) IS
16676
 
16677
   RowCount NUMBER;
16678
 
16679
 
16680
   CURSOR curPackageClash IS
16681
   SELECT pkg.PKG_NAME,
16682
         er.*
16683
     FROM (
16684
 
16685
           /* Get existing referenced packages */
16686
         SELECT pv.PKG_ID,
16687
                pv.V_EXT
16688
           FROM RELEASE_LINKS rl,
16689
                 RELEASE_CONTENT rc,
16690
                 PACKAGE_VERSIONS pv
16691
          WHERE rl.RTAG_ID = nRtagId
16692
            AND rl.REF_RTAG_ID = rc.RTAG_ID
16693
            AND rc.PV_ID = pv.PV_ID
16694
 
16695
            ) er,
16696
         (
16697
 
16698
         /* Get current reference packages */
16699
         SELECT pv.PKG_ID,
16700
                pv.V_EXT
16701
           FROM RELEASE_CONTENT rc,
16702
                 PACKAGE_VERSIONS pv
16703
          WHERE rc.RTAG_ID = nRefRtagId
16704
            AND rc.PV_ID = pv.PV_ID
16705
 
16706
         ) cr,
16707
         PACKAGES PKG
16708
    WHERE er.PKG_ID = cr.PKG_ID
16709
      AND NVL(er.V_EXT, '|LINK_A_NULL|') = NVL(cr.V_EXT, '|LINK_A_NULL|')
16710
      AND er.PKG_ID = pkg.PKG_ID;
16711
 
16712
   recPackageClash curPackageClash%ROWTYPE;
16713
 
16714
BEGIN
16715
   /*--------------- Business Rules Here -------------------*/
16716
   IF (nRtagId = 0) OR ( nRtagId IS NULL ) THEN
16717
      RAISE_APPLICATION_ERROR (-20000, 'nRtagId is not supplied. [nRtagId='|| nRtagId ||']' );
16718
   END IF;
16719
 
16720
   IF (nRefRtagId = 0) OR ( nRefRtagId IS NULL ) THEN
16721
      RAISE_APPLICATION_ERROR (-20000, 'nRefRtagId is not supplied. [nRefRtagId='|| nRefRtagId ||']' );
16722
   END IF;
16723
   /*-------------------------------------------------------*/
16724
   ProblemString := NULL;
16725
 
16726
 
16727
   -- Check if release already has references
16728
   SELECT COUNT(rl.RTAG_ID)  INTO  RowCount
16729
     FROM RELEASE_LINKS rl
16730
    WHERE rl.RTAG_ID = nRtagId;
16731
 
16732
 
16733
   IF RowCount > 0 THEN
16734
      -- Found existing references
16735
 
16736
      -- Make sure there is no package clashes
16737
      OPEN curPackageClash;
16738
       FETCH curPackageClash INTO recPackageClash;
16739
 
16740
      IF curPackageClash%FOUND THEN
16741
 
5502 dpurdie 16742
         ProblemString := ProblemString ||'Following is partial list of package already referenced from other release:'|| PK_PACKAGE.CRLF;
3959 dpurdie 16743
 
16744
         WHILE curPackageClash%FOUND
16745
         LOOP
5502 dpurdie 16746
            EXIT WHEN LENGTH( ProblemString || '- '|| recPackageClash.PKG_NAME ||' '|| recPackageClash.V_EXT  || PK_PACKAGE.CRLF ) > 200;   -- Do not allow variable overflow
3959 dpurdie 16747
 
5502 dpurdie 16748
            ProblemString := ProblemString || '- '|| recPackageClash.PKG_NAME ||' '|| recPackageClash.V_EXT  || PK_PACKAGE.CRLF;
3959 dpurdie 16749
 
16750
            FETCH curPackageClash INTO recPackageClash;
16751
         END LOOP;
16752
 
1373 dpurdie 16753
      END IF;
16754
 
3959 dpurdie 16755
      CLOSE curPackageClash;
16756
 
16757
 
16758
   ELSE
16759
      -- No references found, hence reference a release
16760
 
16761
 
16762
      -- Remove exising package from this release to be referenced
16763
      REMOVE_RELEASE_REFERENCE ( nRtagId, nRefRtagId);
16764
 
16765
 
16766
      -- Add new linked packages to release
16767
      INSERT INTO RELEASE_CONTENT rc (RTAG_ID, PV_ID, BASE_VIEW_ID, INSERT_STAMP, INSERTOR_ID, PKG_STATE)
16768
      SELECT nRtagId,
16769
            rc.PV_ID,
16770
            rc.BASE_VIEW_ID,
16771
            rc.INSERT_STAMP,
16772
            rc.INSERTOR_ID,
16773
            rc.PKG_STATE
16774
        FROM RELEASE_CONTENT rc
16775
       WHERE rc.RTAG_ID = nRefRtagId;
16776
 
16777
 
16778
 
16779
      -- Copy ignore warnings for referenced packages
16780
      INSERT INTO IGNORE_WARNINGS iw (RTAG_ID, PV_ID, DPV_ID, IS_PATCH_IGNORE)
16781
      SELECT nRtagId,
16782
            iw.PV_ID,
16783
            iw.DPV_ID,
16784
            iw.IS_PATCH_IGNORE
16785
        FROM IGNORE_WARNINGS iw,
16786
              RELEASE_CONTENT rc
16787
       WHERE iw.RTAG_ID = rc.RTAG_ID
16788
         AND iw.PV_ID = rc.PV_ID
16789
         AND rc.RTAG_ID = nRefRtagId;
16790
 
16791
 
16792
 
16793
      -- Reference release
16794
      INSERT INTO RELEASE_LINKS (RTAG_ID, REF_RTAG_ID)
16795
      VALUES ( nRtagId, nRefRtagId );
16796
 
16797
 
16798
      -- Refresh Package states
16799
      TOUCH_RELEASE ( nRtagId );
16800
 
16801
   END IF;
16802
 
16803
 
16804
END;
1373 dpurdie 16805
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 16806
PROCEDURE REMOVE_RELEASE_REFERENCE ( nRtagId IN NUMBER, nRefRtagId IN NUMBER ) IS
1373 dpurdie 16807
 
3959 dpurdie 16808
 
16809
BEGIN
16810
   /*--------------- Business Rules Here -------------------*/
16811
   IF (nRtagId = 0) OR ( nRtagId IS NULL ) THEN
16812
      RAISE_APPLICATION_ERROR (-20000, 'nRtagId is not supplied. [nRtagId='|| nRtagId ||']' );
16813
   END IF;
16814
 
16815
   IF (nRefRtagId = 0) OR ( nRefRtagId IS NULL ) THEN
16816
      RAISE_APPLICATION_ERROR (-20000, 'nRefRtagId is not supplied. [nRefRtagId='|| nRefRtagId ||']' );
16817
   END IF;
16818
 
16819
   /*-------------------------------------------------------*/
16820
 
16821
 
16822
   -- Remove ignore warnings for those packages who use referenced packages
16823
   DELETE FROM IGNORE_WARNINGS iw
16824
    WHERE iw.RTAG_ID = nRtagId
16825
      AND iw.DPV_ID IN (
16826
                        SELECT dep.DPV_ID
16827
                       FROM (
16828
 
16829
                           /* Get referenced packages */
16830
                           SELECT pv.PKG_ID,
16831
                                  pv.V_EXT
16832
                             FROM RELEASE_CONTENT rc,
16833
                                   PACKAGE_VERSIONS pv
16834
                            WHERE rc.RTAG_ID = nRefRtagId
16835
                              AND rc.PV_ID = pv.PV_ID
16836
 
16837
                           ) cr,
16838
                           (
16839
 
16840
                           /* Get all dependencies for current release */
16841
                           SELECT DISTINCT
16842
                                 pv.PKG_ID,
16843
                                 pv.V_EXT,
16844
                                 dep.DPV_ID
16845
                             FROM RELEASE_CONTENT rc,
16846
                                 PACKAGE_DEPENDENCIES dep,
16847
                                 PACKAGE_VERSIONS pv
16848
                            WHERE rc.RTAG_ID = nRtagId
16849
                              AND rc.PV_ID = dep.PV_ID
16850
                              AND dep.PV_ID = pv.PV_ID
16851
 
16852
                           ) dep
16853
                      WHERE dep.PKG_ID = cr.PKG_ID
16854
                        AND NVL(dep.V_EXT, '|LINK_A_NULL|') = NVL(cr.V_EXT, '|LINK_A_NULL|')
16855
                     );
16856
 
16857
 
16858
 
16859
 
16860
   -- Remove ignore warnings for those package which are going to be replaced with the reference
16861
   DELETE FROM IGNORE_WARNINGS iw
16862
    WHERE iw.RTAG_ID = nRtagId
16863
      AND iw.PV_ID IN (
16864
                  SELECT pv.PV_ID
16865
                    FROM (
16866
 
16867
                        /* Get referenced packages */
16868
                        SELECT pv.PKG_ID,
16869
                               pv.V_EXT
16870
                          FROM RELEASE_CONTENT rc,
16871
                                PACKAGE_VERSIONS pv
16872
                         WHERE rc.RTAG_ID = nRefRtagId
16873
                           AND rc.PV_ID = pv.PV_ID
16874
 
16875
                        ) cr,
16876
                        RELEASE_CONTENT rc,
16877
                        PACKAGE_VERSIONS pv
16878
                   WHERE pv.PKG_ID = cr.PKG_ID
16879
                     AND NVL(pv.V_EXT, '|LINK_A_NULL|') = NVL(cr.V_EXT, '|LINK_A_NULL|')
16880
                     AND rc.RTAG_ID = nRtagId
16881
                     AND rc.PV_ID = pv.PV_ID
16882
                  );
16883
 
16884
 
16885
 
16886
 
16887
 
16888
   -- Remove matching packages from release
16889
   DELETE FROM RELEASE_CONTENT rc
16890
    WHERE rc.RTAG_ID = nRtagId
16891
      AND rc.PV_ID IN (
16892
                  SELECT pv.PV_ID
16893
                    FROM (
16894
 
16895
                        /* Get referenced packages */
16896
                        SELECT pv.PKG_ID,
16897
                               pv.V_EXT
16898
                          FROM RELEASE_CONTENT rc,
16899
                                PACKAGE_VERSIONS pv
16900
                         WHERE rc.RTAG_ID = nRefRtagId
16901
                           AND rc.PV_ID = pv.PV_ID
16902
 
16903
                        ) cr,
16904
                        RELEASE_CONTENT rc,
16905
                        PACKAGE_VERSIONS pv
16906
                   WHERE pv.PKG_ID = cr.PKG_ID
16907
                     AND NVL(pv.V_EXT, '|LINK_A_NULL|') = NVL(cr.V_EXT, '|LINK_A_NULL|')
16908
                     AND rc.RTAG_ID = nRtagId
16909
                     AND rc.PV_ID = pv.PV_ID
16910
                  );
16911
 
16912
 
16913
 
16914
 
16915
 
16916
   -- Remove Reference release
16917
   DELETE
16918
     FROM RELEASE_LINKS rl
16919
    WHERE rl.RTAG_ID = nRtagId
16920
      AND rl.REF_RTAG_ID = nRefRtagId;
16921
 
16922
 
16923
   -- Refresh Package states
16924
   TOUCH_RELEASE ( nRtagId );
16925
 
16926
 
16927
END;
16928
/*-------------------------------------------------------------------------------------------------------*/
16929
PROCEDURE CAN_USER_WRITE_TO_RELEASE ( RtagId IN NUMBER, PvId IN NUMBER, Permission IN CHAR ) IS
16930
 
16931
   cReleaseMode CHAR(1);
16932
   cPvMode CHAR(1);
16933
 
16934
BEGIN
16935
 
16936
   -- Get Release Mode
16937
   SELECT rt.OFFICIAL INTO cReleaseMode
16938
     FROM RELEASE_TAGS rt
16939
    WHERE rt.RTAG_ID = RtagId;
16940
 
16941
 
16942
   -- Get Package Mode
16943
   SELECT pv.DLOCKED INTO cPvMode
16944
     FROM PACKAGE_VERSIONS pv
16945
    WHERE pv.PV_ID = PvId;
16946
 
16947
   -- Only check if package is locked
16948
   IF (cPvMode = 'Y') THEN
16949
 
16950
      IF (cReleaseMode != 'N') AND (Permission != 'Y')
1373 dpurdie 16951
      THEN
3959 dpurdie 16952
         RAISE_APPLICATION_ERROR (-20000, 'Cannot add package to this release. Release needs to be in Open Mode.' );
16953
 
1373 dpurdie 16954
      END IF;
16955
 
3959 dpurdie 16956
   END IF;
5172 dpurdie 16957
END;
3959 dpurdie 16958
 
5172 dpurdie 16959
/*-----------------------------------------------------------------------------*/
16960
PROCEDURE SET_RELEASE_MODIFIED (nRtagId IN NUMBER ) IS
16961
--
16962
--  Set flags to indicate that the specified release has changed for the
16963
--  purposes of building. (Not every single change)
16964
--
16965
--  Used by Build System to streamline build decisions
16966
--    Bump a sequence number
16967
--    Set a TimeStamp
16968
--
16969
--  Care must be taken to avoid concuency issues
16970
--  Must Insert or Update in a safe manner
16971
--
16972
--  This should be called whenever the package_versions in the release have changed in such
16973
--  a manner that the build daemons should examine the release. This includes:
16974
--   - Packages added, removed and version updated
16975
--   - Packages build status changed (re-included in the release)
16976
--   - Packages made Pending Build
16977
--   - Daemon instruction add/updated (Test Build)
16978
--
16979
--  Note: Not yet used (10-Oct-2014)
16980
--        Uses SEQ_RELEASE_MOD and Table: RELEASE_MODIFIED
16981
BEGIN
16982
 LOOP
16983
  BEGIN
16984
    MERGE INTO RELEASE_MODIFIED USING dual ON ( RTAG_ID=nRtagId )
5502 dpurdie 16985
      WHEN MATCHED THEN UPDATE SET SEQNUM=SEQ_RELEASE_MOD.NEXTVAL,TIMESTAMP=CURRENT_TIMESTAMP
16986
      WHEN NOT MATCHED THEN INSERT (RTAG_ID,TIMESTAMP,SEQNUM)
5172 dpurdie 16987
        VALUES (nRtagId, CURRENT_TIMESTAMP,SEQ_RELEASE_MOD.NEXTVAL );
16988
    EXIT; -- success? -> exit loop
16989
  EXCEPTION
16990
    WHEN NO_DATA_FOUND THEN -- the entry was concurrently deleted
16991
      NULL; -- exception? -> no op, i.e. continue looping
16992
    WHEN DUP_VAL_ON_INDEX THEN -- an entry was concurrently inserted
16993
      NULL; -- exception? -> no op, i.e. continue looping
16994
  END;
16995
 END LOOP;
16996
END;
3959 dpurdie 16997
 
5172 dpurdie 16998
/*-------------------------------------------------------------------------------------------------------*/
16999
--  ADD_RELEASE_SDK
17000
--  ADD an SDK Reference to a Release
17001
--  Args: nRtagId           - RTAG_ID of Release to Process
17002
--        nSdktagId         - SDKTAG_ID of SDK to add to Release
17003
--        nUserId           - User IF of user performing the action
17004
--        bDelete           - Delete conflicting (non sdk) packages from the release 0:False
17005
--        nInsertCount      - Returns: Number of Packages inserted: -1 is an error
17006
--        curReturn         - Returns: On error a table of PV_IDs of packages causing the conflict
17007
--
17008
PROCEDURE ADD_RELEASE_SDK ( nRtagId IN NUMBER, nSdktagId IN NUMBER, nUserId IN NUMBER, bDelete IN NUMBER, nInsertCount OUT NUMBER, curReturn OUT typeCur )IS
17009
 
17010
  vartbl RELMGR_NUMBER_TAB_T := RELMGR_NUMBER_TAB_T();
17011
  ii NUMBER;
17012
  view_id NUMBER;
17013
 
17014
    -- Detect clashing packages
17015
    -- Packages provided by the SDK that are present in the Release
17016
    CURSOR curPackageClash
17017
    IS
17018
      SELECT release.pvid
17019
      FROM
17020
        -- Alias and pvid from SDK
17021
        (SELECT pv.PKG_ID || NVL(pv.V_EXT, '.NULL') AS pkgAlias,
17022
          pv.PV_ID                  AS pvid
17023
        FROM SDK_CONTENT sc, PACKAGE_VERSIONS pv
17024
        WHERE sc.SDKTAG_ID  = nSdktagId
17025
        AND sc.SDKPKG_STATE = 'E'
17026
        AND pv.PV_ID        = sc.PV_ID
17027
        ) sdk,
17028
      -- Alias and pvid from Release
17029
      (SELECT pv.PKG_ID || NVL(pv.V_EXT, '.NULL') AS pkgAlias,
17030
        pv.PV_ID                  AS pvid
17031
      FROM RELEASE_CONTENT rc, PACKAGE_VERSIONS pv
17032
      WHERE rc.rtag_id = nRtagId
17033
      AND rc.PV_ID    = pv.PV_ID
17034
      ) RELEASE
17035
    WHERE sdk.pkgAlias = release.pkgAlias;
5502 dpurdie 17036
 
5172 dpurdie 17037
   -- Detect packages in the release that are provided by the SDK
17038
   -- Do not include packages provided by an SDK - these cannot be replaced
17039
       CURSOR curPackageReplacable
17040
    IS
17041
      SELECT release.pvid
17042
      FROM
17043
        -- Alias and pvid from SDK
17044
        (SELECT pv.PKG_ID || NVL(pv.V_EXT, '.NULL') AS pkgAlias,
17045
                pv.PV_ID                            AS pvid
17046
        FROM SDK_CONTENT sc, PACKAGE_VERSIONS pv
17047
        WHERE sc.SDKTAG_ID    = nSdktagId
17048
          AND sc.SDKPKG_STATE = 'E'
17049
          AND pv.PV_ID        = sc.PV_ID
17050
        ) sdk,
17051
      -- Alias and pvid from Release
17052
      --  Excluding those import by any SDK
17053
      (SELECT pv.PKG_ID || NVL(pv.V_EXT, '.NULL') AS pkgAlias,
17054
              pv.PV_ID                            AS pvid
17055
       FROM RELEASE_CONTENT rc, PACKAGE_VERSIONS pv
17056
       WHERE rc.rtag_id = nRtagId
17057
         AND rc.PV_ID   = pv.PV_ID
17058
         AND rc.SDKTAG_ID is NULL
17059
      ) RELEASE
17060
    WHERE sdk.pkgAlias = release.pkgAlias;
17061
 
17062
BEGIN
17063
   /*--------------- Business Rules Here -------------------*/
17064
   IF (nRtagId = 0) OR ( nRtagId IS NULL ) THEN
17065
      RAISE_APPLICATION_ERROR (-20000, 'nRtagId is not supplied. [nRtagId='|| nRtagId ||']' );
17066
   END IF;
17067
 
17068
   IF (nSdktagId = 0) OR ( nSdktagId IS NULL ) THEN
17069
      RAISE_APPLICATION_ERROR (-20000, 'nSdktagId is not supplied. [nSdktagId='|| nSdktagId ||']' );
17070
   END IF;
17071
   /*-------------------------------------------------------*/
5502 dpurdie 17072
 
5172 dpurdie 17073
   -- Delete packages from the release if they are provided by the SDK
5502 dpurdie 17074
   -- provided they are not provided by another SDK
5172 dpurdie 17075
    IF bDelete != 0 THEN
17076
      FOR rdata IN curPackageClash LOOP
17077
        DELETE FROM RELEASE_CONTENT rc
17078
          WHERE rc.RTAG_ID = nRtagId
17079
          AND rc.PV_ID = rdata.pvid;
17080
      END LOOP;
17081
 
17082
      -- Remove exising package from this release to be referenced
17083
      REMOVE_RELEASE_SDK ( nRtagId, nSdktagId);
17084
    END IF;
17085
 
17086
    -- Detect and report package clashes
17087
    -- Packages provided by the SDK that are (still) in the release
17088
    ii := 1;
17089
    FOR rdata IN curPackageClash LOOP
17090
      vartbl.extend;
17091
      --vartbl(ii) := TABLE_PVID(rdata.pvid);
17092
      vartbl(ii) := rdata.pvid;
17093
      ii := ii + 1;
17094
    END LOOP;
17095
    -- Make sure there is no package clashes
5502 dpurdie 17096
 
5172 dpurdie 17097
    IF ii != 1 THEN
17098
      nInsertCount := -1;
17099
      open curReturn for select * from table(vartbl);
17100
      --curReturn := vartbl;
17101
      RETURN;
17102
    END IF;
17103
 
17104
    -- Determine the target view_id
17105
    SELECT sn.VIEW_ID into view_id FROM SDK_TAGS st,  SDK_NAMES sn WHERE sn.SDK_ID = st.SDK_ID AND st.SDKTAG_ID = nSdktagId;
5502 dpurdie 17106
 
5172 dpurdie 17107
    -- Add SDK exported packages to release
17108
    INSERT INTO RELEASE_CONTENT rc (RTAG_ID, PV_ID, BASE_VIEW_ID, INSERT_STAMP, INSERTOR_ID, PKG_STATE, SDKTAG_ID)
5502 dpurdie 17109
    SELECT nRtagId, sc.PV_ID, view_id, sysdate, nUserId, 11, nSdktagId
5172 dpurdie 17110
        FROM SDK_CONTENT sc
17111
        WHERE sc.SDKTAG_ID = nSdktagId
17112
        AND sc.SDKPKG_STATE = 'E';
17113
    nInsertCount := sql%ROWCOUNT;
17114
 
17115
    -- Refresh Package states
17116
    TOUCH_RELEASE ( nRtagId );
17117
    SET_RELEASE_MODIFIED(nRtagId);
17118
 
3959 dpurdie 17119
END;
17120
 
1373 dpurdie 17121
/*-------------------------------------------------------------------------------------------------------*/
5172 dpurdie 17122
--  Name:   REMOVE_RELEASE_SDK
17123
--  Desc:   Remove an SDK from the specified Release
17124
--          It is not an error to remove an SDK that is not attached to the release
17125
--  Args:   nRtagId         - RTAG_ID of the Release to Process
17126
--          nSdktagId       - SDKTAG_ID to remove
17127
--
17128
PROCEDURE REMOVE_RELEASE_SDK ( nRtagId IN NUMBER, nSdktagId IN NUMBER ) IS
17129
 
17130
BEGIN
17131
   /*--------------- Business Rules Here -------------------*/
17132
   IF (nRtagId = 0) OR ( nRtagId IS NULL ) THEN
17133
      RAISE_APPLICATION_ERROR (-20000, 'nRtagId is not supplied. [nRtagId='|| nRtagId ||']' );
17134
   END IF;
17135
 
17136
   IF (nSdktagId = 0) OR ( nSdktagId IS NULL ) THEN
17137
      RAISE_APPLICATION_ERROR (-20000, 'nSdktagId is not supplied. [nSdktagId='|| nSdktagId ||']' );
17138
   END IF;
17139
 
17140
   /*-------------------------------------------------------*/
17141
 
17142
   -- Remove matching packages from release
17143
   DELETE FROM RELEASE_CONTENT rc
17144
    WHERE rc.RTAG_ID = nRtagId
17145
      AND rc.SDKTAG_ID = nSdktagId;
17146
 
17147
   -- Refresh Package states
17148
   TOUCH_RELEASE ( nRtagId );
17149
   SET_RELEASE_MODIFIED(nRtagId);
17150
END;
17151
 
17152
--------------------------------------------------------------------------------
17153
--  CAN_ADD_PKG_TO_RELEASE
17154
--  Test if a Package (pvid) can be added to a given release
17155
--  The test will not allwo an exiting package to be replaced IF it is imported via an
17156
--  SDK
17157
--
17158
--  Returns:  0 - Package cannot be replaced
17159
--            1 - Package can be replaced
17160
--            2 - Package will be added
5502 dpurdie 17161
--
5172 dpurdie 17162
FUNCTION CAN_ADD_PKG_TO_RELEASE ( nRtagId IN NUMBER, nPvid in NUMBER ) RETURN NUMBER IS
17163
 
17164
   sAlias VARCHAR2(4000);
5502 dpurdie 17165
 
5172 dpurdie 17166
    -- Find package for proccessing
17167
    -- Use unique constraint of PKG_ID and V_EXT
17168
   CURSOR curReplacePkg IS
17169
    SELECT pv.PV_ID
17170
     FROM RELEASE_CONTENT rc,
17171
           PACKAGE_VERSIONS pv
17172
    WHERE rc.PV_ID = pv.PV_ID
17173
      AND rc.RTAG_ID = nRtagId
17174
      AND pv.PKG_ID || NVL( pv.V_EXT, 'LINK_A_NULL' ) = sAlias;
5502 dpurdie 17175
 
5172 dpurdie 17176
    recReplacePkg curReplacePkg%ROWTYPE;
17177
    nSdkTag NUMBER;
5502 dpurdie 17178
 
5172 dpurdie 17179
BEGIN
17180
   /*--------------- Business Rules Here -------------------*/
17181
   IF (nRtagId = 0) OR ( nRtagId IS NULL ) THEN
17182
      RAISE_APPLICATION_ERROR (-20000, 'nRtagId is not supplied. [nRtagId='|| nRtagId ||']' );
17183
   END IF;
17184
 
17185
   IF (nPvid = 0) OR ( nPvid IS NULL ) THEN
17186
      RAISE_APPLICATION_ERROR (-20000, 'nPvid is not supplied. [nPvid='|| nPvid ||']' );
17187
   END IF;
17188
 
17189
    -- Find pkg Alias for provided package
5502 dpurdie 17190
   SELECT pv.PKG_ID || NVL( pv.V_EXT, 'LINK_A_NULL' )
5172 dpurdie 17191
     INTO sAlias
17192
     FROM PACKAGE_VERSIONS pv
17193
    WHERE pv.PV_ID = nPvid;
17194
 
17195
      -- Find Package that may be replaced
17196
      OPEN curReplacePkg;
17197
       FETCH curReplacePkg INTO recReplacePkg;
17198
 
17199
       IF curReplacePkg%FOUND THEN
17200
        SELECT SDKTAG_ID INTO nSdkTag FROM RELEASE_CONTENT
17201
         WHERE rtag_id = nRtagId
17202
         AND pv_id = recReplacePkg.PV_ID;
5502 dpurdie 17203
 
5172 dpurdie 17204
        If nSdkTag IS NOT NULL  THEN
17205
          RETURN 0;
17206
        ELSE
17207
          RETURN 1;
17208
        END IF;
17209
      END IF;
17210
 
17211
  -- No package found, so it can be added
17212
  RETURN 2;
5502 dpurdie 17213
 
5172 dpurdie 17214
  EXCEPTION
17215
  WHEN NO_DATA_FOUND THEN
17216
    RAISE_APPLICATION_ERROR (-20000, 'nPvid is not valid. [nPvid='|| nPvid ||']' );
17217
END;
17218
 
17219
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 17220
END PK_RELEASE;
4040 dpurdie 17221
 
6999 dpurdie 17222
/
4040 dpurdie 17223
--------------------------------------------------------
17224
--  DDL for Package Body PK_RMAPI
17225
--------------------------------------------------------
17226
 
5172 dpurdie 17227
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_RMAPI" 
3959 dpurdie 17228
IS
17229
 
17230
   /*-------------------------------------------------------------------------------------------------------*/
17231
   FUNCTION package_dependencies (pkgname VARCHAR2, pkgversion VARCHAR2)
17232
      RETURN typecur
1373 dpurdie 17233
   IS
3959 dpurdie 17234
      npvid     NUMBER  := 0;
17235
      RECORDS   typecur;
1373 dpurdie 17236
   BEGIN
3959 dpurdie 17237
      BEGIN
17238
         -- Get PV_ID --
17239
         SELECT pv.pv_id
17240
           INTO npvid
17241
           FROM PACKAGES pkg, package_versions pv
17242
          WHERE pv.pkg_id = pkg.pkg_id
17243
            AND pkg.pkg_name = pkgname
17244
            AND pv.pkg_version = pkgversion;
17245
      EXCEPTION
17246
         WHEN NO_DATA_FOUND
17247
         THEN
17248
            raise_application_error (-20000, 'Package Not Found!');
17249
            --WHEN OTHERS THEN
17250
                  -- Consider logging the error and then re-raise
17251
            RAISE;
17252
      END;
1373 dpurdie 17253
 
3959 dpurdie 17254
      -- Finally get package dependencies --
17255
      OPEN RECORDS FOR
17256
         SELECT dpv.pv_id, dpkg.pkg_name, dpv.pkg_version
17257
           FROM package_dependencies dep, PACKAGES dpkg, package_versions dpv
17258
          WHERE dep.pv_id = npvid
17259
            AND dpv.pkg_id = dpkg.pkg_id
17260
            AND dpv.pv_id = dep.dpv_id;
17261
 
17262
      RETURN RECORDS;
1373 dpurdie 17263
   END;
17264
 
17265
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 17266
   FUNCTION wip_iteration_package (
17267
      projname        VARCHAR2,
17268
      iterationname   VARCHAR2,
17269
      pkgname         VARCHAR2
1373 dpurdie 17270
   )
3959 dpurdie 17271
      RETURN typecur
1373 dpurdie 17272
   IS
3959 dpurdie 17273
      nrtagid   NUMBER  := 0;
17274
      RECORDS   typecur;
1373 dpurdie 17275
   BEGIN
3959 dpurdie 17276
      BEGIN
17277
         -- Get latest rtag_id --
17278
         SELECT rt.rtag_id
17279
           INTO nrtagid
17280
           FROM projects proj, release_tags rt
17281
          WHERE rt.proj_id = proj.proj_id
17282
            AND UPPER (proj.proj_name) = UPPER (projname)
17283
            AND UPPER (rt.rtag_name) = UPPER (iterationname);
1373 dpurdie 17284
 
3959 dpurdie 17285
         IF (nrtagid IS NULL)
17286
         THEN
17287
            raise_application_error (-20000,
17288
                                     'Work In Progress is Not Found!');
17289
         END IF;
17290
      EXCEPTION
17291
         WHEN NO_DATA_FOUND
17292
         THEN
17293
            raise_application_error (-20000,
17294
                                     'Work In Progress is Not Found!');
17295
            RAISE;
17296
      END;
17297
 
17298
      -- Finally get package dependencies --
17299
      OPEN RECORDS FOR
17300
         SELECT pv.pkg_version, pv.dlocked AS is_official, pv.pkg_label,
17301
                pv.src_path
17302
           FROM PACKAGES pkg, package_versions pv, work_in_progress wip
17303
          WHERE pv.pkg_id = pkg.pkg_id
17304
            AND wip.pv_id = pv.pv_id
17305
            AND wip.rtag_id = nrtagid
17306
            AND pkg.pkg_name = pkgname;
17307
 
17308
      RETURN RECORDS;
1373 dpurdie 17309
   END;
17310
 
17311
/*-------------------------------------------------------------------------------------------------------*/
4553 dpurdie 17312
-- Use:
17313
--   Used by the Automated Build System to release a new package
17314
-- Returns:
17315
--    Use application errors to indicate programming errors
17316
--    Use negative return codes to indicate correctable user problems
17317
--    Positive return code is the new PVID of the package
6600 dpurdie 17318
--
17319
-- Note: Being deprecated in favor of auto_make_vcsrelease2
4553 dpurdie 17320
  FUNCTION auto_make_vcsrelease (
3959 dpurdie 17321
      rtagid                   IN   NUMBER,
17322
      pkgname                  IN   VARCHAR2,
17323
      vext                     IN   VARCHAR2,
17324
      newpkgversion            IN   VARCHAR2,
17325
      vcstag                   IN   VARCHAR2,
17326
      dependenciesimportlist   IN   VARCHAR2,
17327
      isrippled                IN   NUMBER,
17328
      username                 IN   VARCHAR2
17329
   )
1373 dpurdie 17330
      RETURN NUMBER
17331
   IS
3959 dpurdie 17332
      pkgid                           NUMBER;
17333
      pvid                            NUMBER                        := 0;
17334
      userid                          NUMBER;
17335
      dlocked                         VARCHAR2 (20)                 := NULL;
17336
      clonefrompvid                   NUMBER;
17337
      ssv_mm                          package_versions.v_mm%TYPE;
17338
      ssv_nmm                         package_versions.v_nmm%TYPE;
17339
      ssv_ext                         package_versions.v_ext%TYPE;
17340
      return_package_not_found        NUMBER                        := -1;
17341
      return_package_already_exists   NUMBER                        := -2;
17342
      return_not_approved             NUMBER                        := -3;
17343
      return_migrated_pkg             NUMBER                        := -4;
4553 dpurdie 17344
      return_svn_path_changed         NUMBER                        := -5;
1373 dpurdie 17345
 
17346
 
3959 dpurdie 17347
      x_vcstypeid                     NUMBER;
17348
      x_tag                           VARCHAR2(32);
17349
      x_label                         VARCHAR2(60);
17350
      x_srcpath                       VARCHAR2(2000);
17351
      p_srcpath                       VARCHAR2(2000);
1373 dpurdie 17352
 
3959 dpurdie 17353
      -- Regular expression constituents
17354
      Token         VARCHAR2(16) := '([^:]+)';  -- a token is anything except a ':' character
17355
      Seperator     VARCHAR2(4)  := '::';       -- tokens will be seperated by '::'
17356
      BOL           VARCHAR2(4)  := '^';
17357
      Anything      VARCHAR2(4)  := '.*';
17358
      ReplaceToken1 VARCHAR2(4)  := '\1';
17359
      ReplaceToken2 VARCHAR2(4)  := '\2';
17360
      ReplaceToken3 VARCHAR2(4)  := '\3';
17361
      iprev_modifier_id               NUMBER;
17362
 
1373 dpurdie 17363
   BEGIN
3959 dpurdie 17364
      /*--------------- Business Rules Here -------------------*/
17365
      IF (rtagid IS NULL)
17366
      THEN
17367
         raise_application_error (-20000, 'RtagId must be supplied.');
17368
      END IF;
1373 dpurdie 17369
 
3959 dpurdie 17370
      IF (pkgname IS NULL)
17371
      THEN
17372
         raise_application_error (-20000, 'PkgName must be supplied.');
17373
      END IF;
1373 dpurdie 17374
 
3959 dpurdie 17375
      IF (newpkgversion IS NULL)
1373 dpurdie 17376
      THEN
3959 dpurdie 17377
         raise_application_error (-20000, 'PkgVersion must be supplied.');
1373 dpurdie 17378
      END IF;
17379
 
3959 dpurdie 17380
      IF (vcstag IS NULL)
1373 dpurdie 17381
      THEN
3959 dpurdie 17382
         raise_application_error (-20000, 'PkgVcsTag must be supplied.');
1373 dpurdie 17383
      END IF;
17384
 
3959 dpurdie 17385
      IF (isrippled IS NULL) OR (isrippled < 0) OR (isrippled > 1)
1373 dpurdie 17386
      THEN
4553 dpurdie 17387
         raise_application_error (-20000, 'IsRippled must be set to 1 (Is rippled build) or 0 (Is planned build).');
1373 dpurdie 17388
      END IF;
17389
 
3959 dpurdie 17390
      IF (username IS NULL)
1373 dpurdie 17391
      THEN
3959 dpurdie 17392
         raise_application_error (-20000, 'UserName must be supplied.');
1373 dpurdie 17393
      END IF;
17394
 
3959 dpurdie 17395
      -- Parse the PkgVcsTag
17396
      -- Sets up
17397
      --   x_tag, x_label, x_srcpath
1373 dpurdie 17398
 
3959 dpurdie 17399
       BEGIN
17400
          -- Extract the first token - this will be the short tag name for the VCS (eg. 'CC', 'SVN', etc)
17401
          x_tag := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Anything, ReplaceToken1);
1373 dpurdie 17402
 
3959 dpurdie 17403
          -- Decode the short tag
17404
          CASE x_tag
17405
             WHEN 'CC' THEN
17406
                -- extract the 2nd and 3rd tokens, those being the source path and label respectively
17407
                x_srcpath := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Anything, ReplaceToken2);
17408
                x_label   := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Token, ReplaceToken3);
1373 dpurdie 17409
 
3959 dpurdie 17410
                -- NOTE: if reg-expr parsing/replacement fails, the x_... variable may receive the entire input string (vcstag), so
17411
                -- check for that error as well as the obvious zero-length string conditions.
17412
                IF LENGTH(x_srcpath) = 0 OR LENGTH(x_label) = 0 OR x_srcpath = vcstag OR x_label = vcstag THEN
17413
                   raise_application_error (-20000, 'VCS Tag contains insufficient or malformed data!');
17414
                END IF;
6031 dpurdie 17415
 
3959 dpurdie 17416
                IF isSVNbyName(pkgname) > 0 THEN
17417
                    -- Don't allow migrated packages to be released from a CC label
17418
                    return return_migrated_pkg;
17419
                END IF;
1373 dpurdie 17420
 
17421
 
3959 dpurdie 17422
             WHEN 'SVN' THEN
17423
                -- extract the 2nd token, that being the subversion tag
17424
                x_srcpath := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Anything, ReplaceToken2);
17425
                x_label   := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Token, ReplaceToken3);
1373 dpurdie 17426
 
3959 dpurdie 17427
                -- NOTE: if reg-expr parsing/replacement fails, the x_... variable may receive the entire input string (vcstag), so
17428
                -- check for that error as well as the obvious zero-length string conditions.
17429
                IF LENGTH(x_srcpath) = 0 OR LENGTH(x_label) = 0 OR x_srcpath = vcstag OR x_label = vcstag THEN
17430
                   raise_application_error (-20000, 'VCS Tag contains insufficient or malformed data!');
17431
                END IF;
17432
 
17433
             WHEN 'UC' THEN
17434
                -- nothing to extract, just assign defaults
17435
                x_srcpath := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Anything, ReplaceToken2);
17436
                x_label   := 'N/A';
17437
             ELSE
17438
                raise_application_error (-20000, 'Unrecognised VCS Tag!');
17439
          END CASE;
17440
       END;
17441
 
17442
      -- Get the VCS_TYPE_ID for the version control system.
17443
      BEGIN
17444
         SELECT vt.vcs_type_id
17445
         INTO x_vcstypeid
17446
         FROM VCS_TYPE vt
17447
         WHERE vt.tag = x_tag;
17448
         EXCEPTION
17449
            WHEN NO_DATA_FOUND THEN
17450
               raise_application_error (-20000, 'Database is missing a version control system tag (' || x_tag || ')!' );
17451
      END;
17452
 
17453
 
17454
      -- Get user_id
17455
      BEGIN
17456
         SELECT usr.user_id
17457
           INTO userid
17458
           FROM users usr
17459
          WHERE UPPER (usr.user_name) = UPPER (username)
17460
            AND usr.is_disabled IS NULL;
17461
      EXCEPTION
17462
         WHEN NO_DATA_FOUND
1373 dpurdie 17463
         THEN
4585 dpurdie 17464
            raise_application_error (-20000, 'UserName: ' || username || ' is not valid or disabled.' );
3959 dpurdie 17465
      END;
1373 dpurdie 17466
 
3959 dpurdie 17467
/*-------------------------------------------------------*/
1373 dpurdie 17468
 
3959 dpurdie 17469
      -- Create package if necessary
17470
      IF isrippled = 1
1373 dpurdie 17471
      THEN
3959 dpurdie 17472
         /* Ripple Build */
17473
         BEGIN
17474
            -- Make sure that package does not exist
17475
            SELECT pv.pv_id
17476
              INTO pvid
17477
              FROM package_versions pv, PACKAGES pkg
17478
             WHERE pv.pkg_id = pkg.pkg_id
17479
               AND pkg.pkg_name = pkgname
17480
               AND pv.pkg_version = newpkgversion;
17481
         EXCEPTION
17482
            WHEN NO_DATA_FOUND
17483
            THEN
17484
               pvid := 0;
17485
         END;
17486
 
17487
         IF (pvid = 0)
1373 dpurdie 17488
         THEN
3959 dpurdie 17489
            -- Split current version in parts
17490
            split_version (newpkgversion, ssv_mm, ssv_nmm, ssv_ext);
17491
 
17492
            BEGIN
17493
               -- Find package to be replaced with the ripple package
17494
               IF NVL (vext, '|LINK_A_NULL|') = NVL (ssv_ext, '|LINK_A_NULL|')
17495
               THEN
17496
                  SELECT pv.pv_id, pv.src_path
17497
                    INTO clonefrompvid, p_srcpath
17498
                    FROM PACKAGES pkg, package_versions pv,
17499
                         release_content rc
17500
                   WHERE rc.pv_id = pv.pv_id
17501
                     AND pv.pkg_id = pkg.pkg_id
17502
                     AND rc.rtag_id = rtagid
17503
                     AND pkg.pkg_name = pkgname
17504
                     AND NVL (pv.v_ext, '|LINK_A_NULL|') = NVL (ssv_ext, '|LINK_A_NULL|');
17505
               ELSE
17506
                  SELECT pv.pv_id, pv.src_path
17507
                    INTO clonefrompvid, p_srcpath
17508
                    FROM PACKAGES pkg, package_versions pv,
17509
                         release_content rc
17510
                   WHERE rc.pv_id = pv.pv_id
17511
                     AND pv.pkg_id = pkg.pkg_id
17512
                     AND rc.rtag_id = rtagid
17513
                     AND pkg.pkg_name = pkgname
17514
                     AND NVL (pv.v_ext, '|LINK_A_NULL|') = NVL (vext, '|LINK_A_NULL|');
17515
               END IF;
17516
            EXCEPTION
17517
               WHEN NO_DATA_FOUND
17518
               THEN
17519
                  raise_application_error
17520
                                        (-20000,
17521
                                            'Cannot get CloneFromPvId. VExt='
17522
                                         || vext
17523
                                         || ', RtagId='
17524
                                         || rtagid
17525
                                         || ', PkgName='
17526
                                         || pkgname
17527
                                         || ', SSV_EXT='
17528
                                         || ssv_ext
17529
                                        );
17530
            END;
17531
 
17532
            IF NVL (vext, '|LINK_A_NULL|') = NVL (ssv_ext, '|LINK_A_NULL|')
17533
            THEN
17534
               -- Create package
17535
               seed_package_names_versions (pkgname,
17536
                                            newpkgversion,
17537
                                            userid,
17538
                                            pvid,
17539
                                            clonefrompvid
17540
                                           );
17541
            ELSE
4585 dpurdie 17542
               -- Create package (now both the same)
17543
               seed_package_names_versions (pkgname,
3959 dpurdie 17544
                                             newpkgversion,
17545
                                             userid,
17546
                                             pvid,
17547
                                             clonefrompvid
17548
                                            );
17549
            END IF;
17550
 
17551
            -- Update Package reason for release
17552
            UPDATE package_versions pv
17553
               SET pv.comments = 'Rippled Build.',
17554
                   pv.build_type = 'Y'
17555
             WHERE pv.pv_id = pvid;
17556
         ELSE
17557
            -- Package already exists, it was built previously, and has just been re-built again probably due to the
17558
            -- fact that the archive was cleaned of the original build artifacts at some point, and those artifacts
17559
            -- are now needed once more. As such, we need to ensure that a new release note generation occurs so
17560
            -- reset the package_versions[pvid].release_notes_info field to enable that to happen.
17561
            UPDATE package_versions pv
17562
               SET pv.release_notes_info = null,
17563
                   pv.modified_stamp = ora_sysdatetime
17564
             WHERE pv.pv_id = pvid;
17565
 
17566
            --DEVI-066151
17567
            log_action (pvid, 'package_rebuilt', userid, 'Package Re-built...');
17568
 
17569
            RETURN return_package_already_exists;
1373 dpurdie 17570
         END IF;
17571
      ELSE
3959 dpurdie 17572
         /* Auto build from Pending area */
17573
 
17574
         -- Find package in pending area
17575
         BEGIN
17576
            SELECT pv.pv_id, pv.dlocked, pv.src_path
17577
              INTO pvid, dlocked, p_srcpath
17578
              FROM planned pl, package_versions pv, PACKAGES pkg
17579
             WHERE pl.pv_id = pv.pv_id
17580
               AND pv.pkg_id = pkg.pkg_id
17581
               AND pl.rtag_id = rtagid
17582
               AND pkg.pkg_name = pkgname
17583
               AND pv.dlocked = 'A'
17584
               AND NVL (pv.v_ext, '|LINK_A_NULL|') = NVL (vext, '|LINK_A_NULL|')
17585
               AND rownum = 1
17586
             ORDER BY pv.modified_stamp;
17587
         EXCEPTION
17588
            WHEN NO_DATA_FOUND
17589
            THEN
17590
               pvid := 0;
17591
         END;
17592
 
17593
         IF (pvid = 0)
1373 dpurdie 17594
         THEN
3959 dpurdie 17595
            -- Package does not exist in pending area, hence report it
17596
            RETURN return_package_not_found;
17597
         ELSIF (dlocked != 'A')
1373 dpurdie 17598
         THEN
3959 dpurdie 17599
            -- Package is not approved for autobuild
17600
            RETURN return_not_approved;
1373 dpurdie 17601
         END IF;
17602
 
17603
      END IF;
17604
 
3959 dpurdie 17605
      -- Ensure Source Path does not change
17606
      -- Do not expect the SVN development branch to change
17607
      -- From the previous package
17608
      IF ( x_tag = 'SVN' AND p_srcpath != x_srcpath )
1373 dpurdie 17609
      THEN
4553 dpurdie 17610
        return return_svn_path_changed;
1373 dpurdie 17611
      END IF;
17612
 
3959 dpurdie 17613
      BEGIN
17614
         -- Import Dependencies
17615
         import_dependencies (pvid, dependenciesimportlist, userid);
17616
      END;
1373 dpurdie 17617
 
17618
 
3959 dpurdie 17619
      BEGIN
17620
         -- Split current version in parts
17621
         split_version (newpkgversion, ssv_mm, ssv_nmm, ssv_ext);
1373 dpurdie 17622
 
3959 dpurdie 17623
         -- Update Package Details
17624
         UPDATE package_versions pv
17625
            SET pv.pkg_version = newpkgversion,
17626
                pv.v_ext = ssv_ext,
17627
                pv.v_mm = ssv_mm,
17628
                pv.v_nmm = ssv_nmm,
17629
                pv.src_path = x_srcpath,
17630
                pv.pkg_label = x_label,
17631
                pv.vcs_type_id = x_vcstypeid
17632
          WHERE pv.pv_id = pvid;
17633
      EXCEPTION
17634
         WHEN DUP_VAL_ON_INDEX
17635
         THEN
17636
            -- Package already exists, hence cannot be used for ripple build
17637
            RETURN return_package_already_exists;
17638
      END;
17639
 
17640
      -- Update the is_autobuildable
17641
      UPDATE package_versions
17642
         SET is_autobuildable = 'Y'
17643
       WHERE pv_id = pvid;
17644
 
17645
      -- DEVI-063601
17646
      -- For planned builds the modifier_id shouldn't be set to buildadm.
17647
      -- To ensure this the modifier_id is obtained so it can be restored after
17648
      -- the function pk_environment.auto_make_release is called.
17649
      -- This function calls, change_state, which sets the modifier_id to the
17650
      -- specified userid, which for auto builds is buildadm.
17651
      SELECT pv.modifier_id INTO iprev_modifier_id
17652
      FROM package_versions pv WHERE pv.pv_id = pvid;
17653
 
17654
      -- Now release package
17655
      pk_environment.auto_make_release (pvid,
17656
                                        rtagid,
17657
                                        userid,
17658
                                        vext,
17659
                                        ssv_ext,
17660
                                        clonefrompvid
17661
                                       );
17662
 
17663
      -- DEVI-063601
17664
      -- if it is a planned build then restore the modifier_id to the previous modifier
17665
      UPDATE package_versions pv SET pv.modifier_id = iprev_modifier_id
17666
      WHERE pv.pv_id = pvid;
17667
 
17668
      --Now clean the PLANNED_VERSIONS table
17669
      SELECT pkg_id
17670
        INTO pkgid
17671
        FROM PACKAGES
17672
       WHERE pkg_name = pkgname;
17673
 
17674
      DELETE FROM planned_versions
17675
            WHERE pkg_id = pkgid AND pkg_version = newpkgversion;
17676
 
17677
      RETURN pvid;
1373 dpurdie 17678
   END;
17679
 
17680
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 17681
   PROCEDURE import_dependencies (
17682
      pvid                     IN   NUMBER,
17683
      dependenciesimportlist   IN   VARCHAR2,
17684
      userid                   IN   NUMBER
17685
   )
1373 dpurdie 17686
   IS
3959 dpurdie 17687
/*
17688
|| DependenciesImportList Format:
17689
|| "pkgA","1.0.0";"pkgB","2.0.0";
17690
||  OR 'pkgA','1.0.0';'pkgB','2.0.0';
17691
*/
17692
      TYPE tdictionary IS TABLE OF VARCHAR2 (4000)
17693
         INDEX BY VARCHAR2 (4000);
17694
 
17695
      seperator         VARCHAR2 (2)           := '||';
17696
      pkgname           VARCHAR2 (4000);
17697
      pkgversion        VARCHAR2 (4000);
17698
      buildtype         VARCHAR2 (50);
17699
      pkgid             NUMBER;
17700
      vext              VARCHAR2 (4000);
17701
      dpvid             NUMBER;
17702
      slist             VARCHAR2 (4000);
17703
      cbuildtypes       tdictionary;
17704
      dependencyrow     NUMBER;
17705
      sdependency       VARCHAR2 (4000);
17706
      first_pos         VARCHAR2 (4000);
17707
      second_pos        VARCHAR2 (4000);
17708
      third_pos         VARCHAR2 (4000);
17709
      forth_pos         VARCHAR2 (4000);
17710
      citemcollection   relmgr_varchar2_tab_t  := relmgr_varchar2_tab_t ();
17711
 
17712
      CURSOR curbuildtype
17713
      IS
17714
         SELECT dpv.pkg_id || seperator || dpv.v_ext AS pkgid_ext,
17715
                dep.build_type
17716
           FROM package_dependencies dep, package_versions dpv
17717
          WHERE dep.pv_id = pvid AND dep.dpv_id = dpv.pv_id;
17718
 
17719
      recbuildtype      curbuildtype%ROWTYPE;
1373 dpurdie 17720
   BEGIN
3959 dpurdie 17721
      slist := dependenciesimportlist;
1373 dpurdie 17722
 
3959 dpurdie 17723
      -- Preformat String
17724
      IF NOT slist IS NULL
1373 dpurdie 17725
      THEN
3959 dpurdie 17726
         slist := REPLACE (slist, ' ');                      -- Remove spaces
17727
         slist := REPLACE (slist, UTL_TCP.crlf);
17728
         -- Remove new line and carriage-return characters
17729
         slist := REPLACE (slist, '''', '"');             -- Replace ' with "
1373 dpurdie 17730
      END IF;
17731
 
3959 dpurdie 17732
      -- Get Current Dependencies
17733
      OPEN curbuildtype;
1373 dpurdie 17734
 
3959 dpurdie 17735
      FETCH curbuildtype
17736
       INTO recbuildtype;
1373 dpurdie 17737
 
3959 dpurdie 17738
      WHILE curbuildtype%FOUND
17739
      LOOP
17740
         cbuildtypes (recbuildtype.pkgid_ext) := recbuildtype.build_type;
1373 dpurdie 17741
 
3959 dpurdie 17742
         FETCH curbuildtype
17743
          INTO recbuildtype;
17744
      END LOOP;
1373 dpurdie 17745
 
3959 dpurdie 17746
      CLOSE curbuildtype;
1373 dpurdie 17747
 
3959 dpurdie 17748
      -- Separate dependencies with ; separator
17749
      citemcollection := in_list_varchar2 (slist, ';');
1373 dpurdie 17750
 
3959 dpurdie 17751
      BEGIN
17752
         -- Remove old dependencies
17753
         DELETE FROM package_dependencies dep
17754
               WHERE dep.pv_id = pvid;
1373 dpurdie 17755
 
3959 dpurdie 17756
         -- Loop through dependencies
17757
         FOR dependencyrow IN 1 .. citemcollection.COUNT
17758
         LOOP
17759
            -- Extract pkg_name and pkg_version
17760
            sdependency := citemcollection (dependencyrow);
17761
            first_pos := INSTR (sdependency, '"', 1, 1);
17762
            second_pos := INSTR (sdependency, '"', 1, 2);
17763
            third_pos := INSTR (sdependency, '"', 1, 3);
17764
            forth_pos := INSTR (sdependency, '"', 1, 4);
17765
            pkgname :=
17766
               SUBSTR (sdependency,
17767
                       (first_pos + 1),
17768
                       (second_pos - first_pos - 1)
17769
                      );
17770
            pkgversion :=
17771
               SUBSTR (sdependency,
17772
                       (third_pos + 1),
17773
                       (forth_pos - third_pos - 1)
17774
                      );
17775
 
17776
            -- Dependency must exits to be linked against
17777
            BEGIN
17778
               SELECT pv.pv_id, pv.pkg_id, pv.v_ext
17779
                 INTO dpvid, pkgid, vext
17780
                 FROM package_versions pv, PACKAGES pkg
17781
                WHERE pv.pkg_id = pkg.pkg_id
17782
                  AND pkg.pkg_name = pkgname
17783
                  AND pv.pkg_version = pkgversion;
17784
            EXCEPTION
17785
               WHEN NO_DATA_FOUND
17786
               THEN
17787
                  raise_application_error
17788
                                  (-20000,
17789
                                      'Dependency ['
17790
                                   || pkgname
17791
                                   || ' '
17792
                                   || pkgversion
17793
                                   || '] does not exist yet and cannot be used!'
17794
                                  );
17795
            END;
17796
 
17797
            -- Get Build Type (i.e. BuildPackageArchive or LinkPackageArchive)
17798
            BEGIN
17799
               buildtype := cbuildtypes (pkgid || seperator || vext);
17800
 
17801
               IF buildtype IS NULL
17802
               THEN
17803
                  -- Set build type to LinkPackageArchive by default
17804
                  buildtype := 'L';
17805
               END IF;
17806
            EXCEPTION
17807
               WHEN NO_DATA_FOUND
17808
               THEN
17809
                  buildtype := 'L';
17810
            END;
17811
 
17812
            -- Insert Dependencies
17813
            update_package_dependency (pvid,
17814
                                       pkgname,
17815
                                       pkgversion,
17816
                                       buildtype,
17817
                                       userid,
17818
 
17819
                                      );
17820
         END LOOP;
17821
      END;
1373 dpurdie 17822
   END;
17823
 
17824
/*-------------------------------------------------------------------------------------------------------*/
6600 dpurdie 17825
-- Use:
17826
--   Used by the Automated Build System to release a new package
17827
-- Returns:
17828
--    Use application errors to indicate programming errors
17829
--    Use negative return codes to indicate correctable user problems
17830
--    Positive return code is the new PVID of the package
17831
  FUNCTION auto_make_vcsrelease2 (
17832
      rtagid                   IN   NUMBER,
17833
      pkgname                  IN   VARCHAR2,
17834
      vext                     IN   VARCHAR2,
17835
      newpkgversion            IN   VARCHAR2,
17836
      vcstag                   IN   VARCHAR2,
17837
      dependenciesimportlist   IN   relmgr_varchar2_tab_t,
17838
      isrippled                IN   NUMBER,
17839
      username                 IN   VARCHAR2
17840
   )
17841
      RETURN NUMBER
17842
   IS
17843
      pkgid                           NUMBER;
17844
      pvid                            NUMBER                        := 0;
17845
      userid                          NUMBER;
17846
      dlocked                         VARCHAR2 (20)                 := NULL;
17847
      clonefrompvid                   NUMBER;
17848
      ssv_mm                          package_versions.v_mm%TYPE;
17849
      ssv_nmm                         package_versions.v_nmm%TYPE;
17850
      ssv_ext                         package_versions.v_ext%TYPE;
17851
      return_package_not_found        NUMBER                        := -1;
17852
      return_package_already_exists   NUMBER                        := -2;
17853
      return_not_approved             NUMBER                        := -3;
17854
      return_migrated_pkg             NUMBER                        := -4;
17855
      return_svn_path_changed         NUMBER                        := -5;
17856
 
17857
 
17858
      x_vcstypeid                     NUMBER;
17859
      x_tag                           VARCHAR2(32);
17860
      x_label                         VARCHAR2(60);
17861
      x_srcpath                       VARCHAR2(2000);
17862
      p_srcpath                       VARCHAR2(2000);
17863
 
17864
      -- Regular expression constituents
17865
      Token         VARCHAR2(16) := '([^:]+)';  -- a token is anything except a ':' character
17866
      Seperator     VARCHAR2(4)  := '::';       -- tokens will be seperated by '::'
17867
      BOL           VARCHAR2(4)  := '^';
17868
      Anything      VARCHAR2(4)  := '.*';
17869
      ReplaceToken1 VARCHAR2(4)  := '\1';
17870
      ReplaceToken2 VARCHAR2(4)  := '\2';
17871
      ReplaceToken3 VARCHAR2(4)  := '\3';
17872
      iprev_modifier_id               NUMBER;
17873
 
17874
   BEGIN
17875
      /*--------------- Business Rules Here -------------------*/
17876
      IF (rtagid IS NULL)
17877
      THEN
17878
         raise_application_error (-20000, 'RtagId must be supplied.');
17879
      END IF;
17880
 
17881
      IF (pkgname IS NULL)
17882
      THEN
17883
         raise_application_error (-20000, 'PkgName must be supplied.');
17884
      END IF;
17885
 
17886
      IF (newpkgversion IS NULL)
17887
      THEN
17888
         raise_application_error (-20000, 'PkgVersion must be supplied.');
17889
      END IF;
17890
 
17891
      IF (vcstag IS NULL)
17892
      THEN
17893
         raise_application_error (-20000, 'PkgVcsTag must be supplied.');
17894
      END IF;
17895
 
17896
      IF (isrippled IS NULL) OR (isrippled < 0) OR (isrippled > 1)
17897
      THEN
17898
         raise_application_error (-20000, 'IsRippled must be set to 1 (Is rippled build) or 0 (Is planned build).');
17899
      END IF;
17900
 
17901
      IF (username IS NULL)
17902
      THEN
17903
         raise_application_error (-20000, 'UserName must be supplied.');
17904
      END IF;
17905
 
17906
      -- Parse the PkgVcsTag
17907
      -- Sets up
17908
      --   x_tag, x_label, x_srcpath
17909
 
17910
       BEGIN
17911
          -- Extract the first token - this will be the short tag name for the VCS (eg. 'CC', 'SVN', etc)
17912
          x_tag := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Anything, ReplaceToken1);
17913
 
17914
          -- Decode the short tag
17915
          CASE x_tag
17916
             WHEN 'CC' THEN
17917
                -- extract the 2nd and 3rd tokens, those being the source path and label respectively
17918
                x_srcpath := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Anything, ReplaceToken2);
17919
                x_label   := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Token, ReplaceToken3);
17920
 
17921
                -- NOTE: if reg-expr parsing/replacement fails, the x_... variable may receive the entire input string (vcstag), so
17922
                -- check for that error as well as the obvious zero-length string conditions.
17923
                IF LENGTH(x_srcpath) = 0 OR LENGTH(x_label) = 0 OR x_srcpath = vcstag OR x_label = vcstag THEN
17924
                   raise_application_error (-20000, 'VCS Tag contains insufficient or malformed data!');
17925
                END IF;
17926
 
17927
                IF isSVNbyName(pkgname) > 0 THEN
17928
                    -- Don't allow migrated packages to be released from a CC label
17929
                    return return_migrated_pkg;
17930
                END IF;
17931
 
17932
 
17933
             WHEN 'SVN' THEN
17934
                -- extract the 2nd token, that being the subversion tag
17935
                x_srcpath := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Anything, ReplaceToken2);
17936
                x_label   := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Token, ReplaceToken3);
17937
 
17938
                -- NOTE: if reg-expr parsing/replacement fails, the x_... variable may receive the entire input string (vcstag), so
17939
                -- check for that error as well as the obvious zero-length string conditions.
17940
                IF LENGTH(x_srcpath) = 0 OR LENGTH(x_label) = 0 OR x_srcpath = vcstag OR x_label = vcstag THEN
17941
                   raise_application_error (-20000, 'VCS Tag contains insufficient or malformed data!');
17942
                END IF;
17943
 
17944
             WHEN 'UC' THEN
17945
                -- nothing to extract, just assign defaults
17946
                x_srcpath := REGEXP_REPLACE(vcstag, BOL || Token || Seperator || Token || Seperator || Anything, ReplaceToken2);
17947
                x_label   := 'N/A';
17948
             ELSE
17949
                raise_application_error (-20000, 'Unrecognised VCS Tag!');
17950
          END CASE;
17951
       END;
17952
 
17953
      -- Get the VCS_TYPE_ID for the version control system.
17954
      BEGIN
17955
         SELECT vt.vcs_type_id
17956
         INTO x_vcstypeid
17957
         FROM VCS_TYPE vt
17958
         WHERE vt.tag = x_tag;
17959
         EXCEPTION
17960
            WHEN NO_DATA_FOUND THEN
17961
               raise_application_error (-20000, 'Database is missing a version control system tag (' || x_tag || ')!' );
17962
      END;
17963
 
17964
 
17965
      -- Get user_id
17966
      BEGIN
17967
         SELECT usr.user_id
17968
           INTO userid
17969
           FROM users usr
17970
          WHERE UPPER (usr.user_name) = UPPER (username)
17971
            AND usr.is_disabled IS NULL;
17972
      EXCEPTION
17973
         WHEN NO_DATA_FOUND
17974
         THEN
17975
            raise_application_error (-20000, 'UserName: ' || username || ' is not valid or disabled.' );
17976
      END;
17977
 
17978
/*-------------------------------------------------------*/
17979
 
17980
      -- Create package if necessary
17981
      IF isrippled = 1
17982
      THEN
17983
         /* Ripple Build */
17984
         BEGIN
17985
            -- Make sure that package does not exist
17986
            SELECT pv.pv_id
17987
              INTO pvid
17988
              FROM package_versions pv, PACKAGES pkg
17989
             WHERE pv.pkg_id = pkg.pkg_id
17990
               AND pkg.pkg_name = pkgname
17991
               AND pv.pkg_version = newpkgversion;
17992
         EXCEPTION
17993
            WHEN NO_DATA_FOUND
17994
            THEN
17995
               pvid := 0;
17996
         END;
17997
 
17998
         IF (pvid = 0)
17999
         THEN
18000
            -- Split current version in parts
18001
            split_version (newpkgversion, ssv_mm, ssv_nmm, ssv_ext);
18002
 
18003
            BEGIN
18004
               -- Find package to be replaced with the ripple package
18005
               IF NVL (vext, '|LINK_A_NULL|') = NVL (ssv_ext, '|LINK_A_NULL|')
18006
               THEN
18007
                  SELECT pv.pv_id, pv.src_path
18008
                    INTO clonefrompvid, p_srcpath
18009
                    FROM PACKAGES pkg, package_versions pv,
18010
                         release_content rc
18011
                   WHERE rc.pv_id = pv.pv_id
18012
                     AND pv.pkg_id = pkg.pkg_id
18013
                     AND rc.rtag_id = rtagid
18014
                     AND pkg.pkg_name = pkgname
18015
                     AND NVL (pv.v_ext, '|LINK_A_NULL|') = NVL (ssv_ext, '|LINK_A_NULL|');
18016
               ELSE
18017
                  SELECT pv.pv_id, pv.src_path
18018
                    INTO clonefrompvid, p_srcpath
18019
                    FROM PACKAGES pkg, package_versions pv,
18020
                         release_content rc
18021
                   WHERE rc.pv_id = pv.pv_id
18022
                     AND pv.pkg_id = pkg.pkg_id
18023
                     AND rc.rtag_id = rtagid
18024
                     AND pkg.pkg_name = pkgname
18025
                     AND NVL (pv.v_ext, '|LINK_A_NULL|') = NVL (vext, '|LINK_A_NULL|');
18026
               END IF;
18027
            EXCEPTION
18028
               WHEN NO_DATA_FOUND
18029
               THEN
18030
                  raise_application_error
18031
                                        (-20000,
18032
                                            'Cannot get CloneFromPvId. VExt='
18033
                                         || vext
18034
                                         || ', RtagId='
18035
                                         || rtagid
18036
                                         || ', PkgName='
18037
                                         || pkgname
18038
                                         || ', SSV_EXT='
18039
                                         || ssv_ext
18040
                                        );
18041
            END;
18042
 
18043
            IF NVL (vext, '|LINK_A_NULL|') = NVL (ssv_ext, '|LINK_A_NULL|')
18044
            THEN
18045
               -- Create package
18046
               seed_package_names_versions (pkgname,
18047
                                            newpkgversion,
18048
                                            userid,
18049
                                            pvid,
18050
                                            clonefrompvid
18051
                                           );
18052
            ELSE
18053
               -- Create package (now both the same)
18054
               seed_package_names_versions (pkgname,
18055
                                             newpkgversion,
18056
                                             userid,
18057
                                             pvid,
18058
                                             clonefrompvid
18059
                                            );
18060
            END IF;
18061
 
18062
            -- Update Package reason for release
18063
            UPDATE package_versions pv
18064
               SET pv.comments = 'Rippled Build.',
18065
                   pv.build_type = 'Y'
18066
             WHERE pv.pv_id = pvid;
18067
         ELSE
18068
            -- Package already exists, it was built previously, and has just been re-built again probably due to the
18069
            -- fact that the archive was cleaned of the original build artifacts at some point, and those artifacts
18070
            -- are now needed once more. As such, we need to ensure that a new release note generation occurs so
18071
            -- reset the package_versions[pvid].release_notes_info field to enable that to happen.
18072
            UPDATE package_versions pv
18073
               SET pv.release_notes_info = null,
18074
                   pv.modified_stamp = ora_sysdatetime
18075
             WHERE pv.pv_id = pvid;
18076
 
18077
            --DEVI-066151
18078
            log_action (pvid, 'package_rebuilt', userid, 'Package Re-built...');
18079
 
18080
            RETURN return_package_already_exists;
18081
         END IF;
18082
      ELSE
18083
         /* Auto build from Pending area */
18084
 
18085
         -- Find package in pending area
18086
         BEGIN
18087
            SELECT pv.pv_id, pv.dlocked, pv.src_path
18088
              INTO pvid, dlocked, p_srcpath
18089
              FROM planned pl, package_versions pv, PACKAGES pkg
18090
             WHERE pl.pv_id = pv.pv_id
18091
               AND pv.pkg_id = pkg.pkg_id
18092
               AND pl.rtag_id = rtagid
18093
               AND pkg.pkg_name = pkgname
18094
               AND pv.dlocked = 'A'
18095
               AND NVL (pv.v_ext, '|LINK_A_NULL|') = NVL (vext, '|LINK_A_NULL|')
18096
               AND rownum = 1
18097
             ORDER BY pv.modified_stamp;
18098
         EXCEPTION
18099
            WHEN NO_DATA_FOUND
18100
            THEN
18101
               pvid := 0;
18102
         END;
18103
 
18104
         IF (pvid = 0)
18105
         THEN
18106
            -- Package does not exist in pending area, hence report it
18107
            RETURN return_package_not_found;
18108
         ELSIF (dlocked != 'A')
18109
         THEN
18110
            -- Package is not approved for autobuild
18111
            RETURN return_not_approved;
18112
         END IF;
18113
 
18114
      END IF;
18115
 
18116
      -- Ensure Source Path does not change
18117
      -- Do not expect the SVN development branch to change
18118
      -- From the previous package
18119
      IF ( x_tag = 'SVN' AND p_srcpath != x_srcpath )
18120
      THEN
18121
        return return_svn_path_changed;
18122
      END IF;
18123
 
18124
      BEGIN
18125
         -- Import Dependencies
18126
         import_dependencies2 (pvid, dependenciesimportlist, userid);
18127
      END;
18128
 
18129
 
18130
      BEGIN
18131
         -- Split current version in parts
18132
         split_version (newpkgversion, ssv_mm, ssv_nmm, ssv_ext);
18133
 
18134
         -- Update Package Details
18135
         UPDATE package_versions pv
18136
            SET pv.pkg_version = newpkgversion,
18137
                pv.v_ext = ssv_ext,
18138
                pv.v_mm = ssv_mm,
18139
                pv.v_nmm = ssv_nmm,
18140
                pv.src_path = x_srcpath,
18141
                pv.pkg_label = x_label,
18142
                pv.vcs_type_id = x_vcstypeid
18143
          WHERE pv.pv_id = pvid;
18144
      EXCEPTION
18145
         WHEN DUP_VAL_ON_INDEX
18146
         THEN
18147
            -- Package already exists, hence cannot be used for ripple build
18148
            RETURN return_package_already_exists;
18149
      END;
18150
 
7039 dpurdie 18151
      -- The package has been auto built, for the first time
6600 dpurdie 18152
 
18153
      -- DEVI-063601
18154
      -- For planned builds the modifier_id shouldn't be set to buildadm.
18155
      -- To ensure this the modifier_id is obtained so it can be restored after
18156
      -- the function pk_environment.auto_make_release is called.
18157
      -- This function calls, change_state, which sets the modifier_id to the
18158
      -- specified userid, which for auto builds is buildadm.
18159
      SELECT pv.modifier_id INTO iprev_modifier_id
18160
      FROM package_versions pv WHERE pv.pv_id = pvid;
18161
 
18162
      -- Now release package
18163
      pk_environment.auto_make_release (pvid,
18164
                                        rtagid,
18165
                                        userid,
18166
                                        vext,
18167
                                        ssv_ext,
18168
                                        clonefrompvid
18169
                                       );
18170
 
7039 dpurdie 18171
      -- DEVI-063601 if it is a planned build then restore the modifier_id to the previous modifier
18172
      -- Set the package as autobuildable ( auto built )
18173
      -- Update the created timestamp to the current date-time. When it was first released
18174
      UPDATE package_versions pv SET 
18175
        pv.modifier_id = iprev_modifier_id,
18176
        is_autobuildable = 'Y',
18177
        pv.created_stamp = ora_sysdatetime
6600 dpurdie 18178
      WHERE pv.pv_id = pvid;
18179
 
18180
      --Now clean the PLANNED_VERSIONS table
18181
      SELECT pkg_id
18182
        INTO pkgid
18183
        FROM PACKAGES
18184
       WHERE pkg_name = pkgname;
18185
 
18186
      DELETE FROM planned_versions
18187
            WHERE pkg_id = pkgid AND pkg_version = newpkgversion;
18188
 
18189
      RETURN pvid;
18190
   END;
7340 dpurdie 18191
 
6600 dpurdie 18192
/*-------------------------------------------------------------------------------------------------------*/
18193
--  import package dependencies (2nd attenpt)
18194
--  Package dependencies are an array of strings. Each string is of the form
18195
--    'PkgName','PkgVersion','PkgType'
18196
--  The use of an array of package dependencies allows packages with very long
18197
--  list of dependencies. More than can be put in to a VARCHAR2
18198
--
18199
   PROCEDURE import_dependencies2 (
18200
      pvid                     IN   NUMBER,
18201
      dependenciesimportlist   IN   relmgr_varchar2_tab_t,
18202
      userid                   IN   NUMBER
18203
   )
18204
   IS
18205
 
18206
      TYPE tdictionary IS TABLE OF VARCHAR2 (4000) INDEX BY VARCHAR2 (4000);
18207
 
18208
      seperator         VARCHAR2 (2)           := '||';
18209
      pkgname           VARCHAR2 (4000);
18210
      pkgversion        VARCHAR2 (4000);
18211
      pkgtype           VARCHAR2  (50);
18212
      pkgid             NUMBER;
18213
      vext              VARCHAR2 (4000);
18214
      dpvid             NUMBER;
18215
      cbuildtypes       tdictionary;
18216
      dependencyrow     NUMBER;
18217
      sdependency       VARCHAR2 (4000);
18218
      citemcollection   relmgr_varchar2_tab_t;
18219
 
18220
      CURSOR curbuildtype
18221
      IS
18222
         SELECT dpv.pkg_id || seperator || dpv.v_ext AS pkgid_ext,
18223
                dep.build_type
18224
           FROM package_dependencies dep, package_versions dpv
18225
          WHERE dep.pv_id = pvid AND dep.dpv_id = dpv.pv_id;
18226
 
18227
      recbuildtype      curbuildtype%ROWTYPE;
18228
   BEGIN
18229
      -- Get Current Dependencies
18230
      OPEN curbuildtype;
18231
 
18232
      FETCH curbuildtype
18233
       INTO recbuildtype;
18234
 
18235
      WHILE curbuildtype%FOUND
18236
      LOOP
18237
         cbuildtypes (recbuildtype.pkgid_ext) := recbuildtype.build_type;
18238
         FETCH curbuildtype INTO recbuildtype;
18239
      END LOOP;
18240
 
18241
      CLOSE curbuildtype;
18242
 
18243
      BEGIN
18244
         -- Remove old dependencies
18245
         DELETE FROM package_dependencies dep
18246
               WHERE dep.pv_id = pvid;
18247
 
18248
         -- Loop through dependencies
18249
         FOR dependencyrow IN 1 .. dependenciesimportlist.COUNT
18250
         LOOP
18251
            -- Extract pkg_name and pkg_version and type(optional)
18252
            sdependency := dependenciesimportlist (dependencyrow);
18253
            sdependency := REPLACE(sdependency, '''');
18254
            sdependency := REPLACE(sdependency, '"');
18255
            -- Remove empty dependency
18256
            IF LENGTH(sdependency) > 0 THEN
18257
              citemcollection := in_list_varchar2 (sdependency, ',');
18258
              IF citemcollection.COUNT  < 2
18259
              THEN
18260
                raise_application_error
18261
                  (-20000,
18262
                      'Dependency ['
18263
                   || sdependency
18264
                   || '] must have at least two ; separated fields!'
18265
                  );
18266
              END IF;
18267
              pkgname := citemcollection(1);
18268
              pkgversion := citemcollection(2);
18269
              IF citemcollection.COUNT >= 3
18270
              THEN
18271
                pkgtype := citemcollection(3);
18272
              ELSE
18273
                pkgtype := NULL;
18274
              END IF;
18275
              -- Dependency must exits to be linked against
18276
              BEGIN
18277
                 SELECT pv.pv_id, pv.pkg_id, pv.v_ext
18278
                   INTO dpvid, pkgid, vext
18279
                   FROM package_versions pv, PACKAGES pkg
18280
                  WHERE pv.pkg_id = pkg.pkg_id
18281
                    AND pkg.pkg_name = pkgname
18282
                    AND pv.pkg_version = pkgversion;
18283
              EXCEPTION
18284
                 WHEN NO_DATA_FOUND
18285
                 THEN
18286
                    raise_application_error
18287
                                    (-20000,
18288
                                        'Dependency ['
18289
                                     || pkgname
18290
                                     || ' '
18291
                                     || pkgversion
18292
                                     || '] does not exist yet and cannot be used!'
18293
                                    );
18294
              END;
7340 dpurdie 18295
 
6600 dpurdie 18296
              -- Get Build Type (i.e. BuildPackageArchive or LinkPackageArchive)
18297
              IF pkgtype IS NULL
18298
              THEN
18299
                BEGIN
18300
                   pkgtype := cbuildtypes (pkgid || seperator || vext);
7340 dpurdie 18301
 
6600 dpurdie 18302
                   IF pkgtype IS NULL
18303
                   THEN
18304
                      -- Set build type to LinkPackageArchive by default
18305
                      pkgtype := 'L';
18306
                   END IF;
18307
                EXCEPTION
18308
                   WHEN NO_DATA_FOUND
18309
                   THEN
18310
                      pkgtype := 'L';
18311
                END;
18312
              END IF;
7340 dpurdie 18313
 
6600 dpurdie 18314
              -- Limit to known types
18315
              IF UPPER(pkgtype) like('B%') THEN
18316
                pkgtype := 'B';
18317
              ELSE
18318
                pkgtype := 'L';
18319
              END IF;  
7340 dpurdie 18320
 
6600 dpurdie 18321
              -- Insert Dependencies
18322
              update_package_dependency (pvid,
18323
                                         pkgname,
18324
                                         pkgversion,
18325
                                         pkgtype,
18326
                                         userid,
18327
 
18328
                                        );
18329
            END IF;
18330
         END LOOP;
18331
      END;
18332
   END;
18333
 
18334
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 18335
   FUNCTION return_last_package_version (pkgname IN VARCHAR2, rtagid IN NUMBER)
18336
      RETURN VARCHAR2
1373 dpurdie 18337
   IS
3959 dpurdie 18338
      pkgversion   VARCHAR2 (4000);
1373 dpurdie 18339
   BEGIN
3959 dpurdie 18340
      BEGIN
18341
         SELECT pv.pkg_version
18342
           INTO pkgversion
18343
           FROM PACKAGES pkg, release_content rc, package_versions pv
18344
          WHERE pv.pv_id = rc.pv_id
18345
            AND pkg.pkg_id = pv.pkg_id
18346
            AND pkg.pkg_name = pkgname
18347
            AND rc.rtag_id = rtagid;
18348
 
18349
         RETURN pkgversion;
18350
      END;
1373 dpurdie 18351
   END;
18352
 
18353
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 18354
   FUNCTION return_wip (pkgname IN VARCHAR2, rtagid IN NUMBER)
18355
      RETURN VARCHAR2
1373 dpurdie 18356
   IS
3959 dpurdie 18357
      pkgversion   VARCHAR2 (4000);
1373 dpurdie 18358
   BEGIN
3959 dpurdie 18359
      BEGIN
18360
         SELECT pv.pkg_version
18361
           INTO pkgversion
18362
           FROM PACKAGES pkg, work_in_progress wip, package_versions pv
18363
          WHERE pv.pv_id = wip.pv_id
18364
            AND pkg.pkg_id = pv.pkg_id
18365
            AND pkg.pkg_name = pkgname
18366
            AND wip.rtag_id = rtagid;
1373 dpurdie 18367
 
3959 dpurdie 18368
         IF pkgversion IS NULL
18369
         THEN
18370
            SELECT pv.pkg_version
18371
              INTO pkgversion
18372
              FROM PACKAGES pkg, planned pl, package_versions pv
18373
             WHERE pv.pv_id = pl.pv_id
18374
               AND pkg.pkg_id = pv.pkg_id
18375
               AND pkg.pkg_name = pkgname
18376
               AND pl.rtag_id = rtagid;
18377
         END IF;
18378
 
18379
         RETURN pkgversion;
18380
      END;
1373 dpurdie 18381
   END;
18382
 
18383
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 18384
   PROCEDURE update_dash_board (rtagid IN NUMBER)
1373 dpurdie 18385
   IS
3959 dpurdie 18386
      projid       NUMBER;
18387
      projiddb     NUMBER;
18388
      total        NUMBER;
18389
      auto_total   NUMBER;
18390
      rtagiddb     NUMBER;
1373 dpurdie 18391
   BEGIN
3959 dpurdie 18392
      SELECT COUNT (*)
18393
        INTO total
18394
        FROM release_content rc, package_versions pv
18395
       WHERE pv.pv_id = rc.pv_id AND rc.rtag_id = rtagid;
1373 dpurdie 18396
 
3959 dpurdie 18397
      SELECT COUNT (*)
18398
        INTO auto_total
18399
        FROM release_content rc, package_versions pv
18400
       WHERE pv.pv_id = rc.pv_id
18401
         AND pv.is_autobuildable = 'Y'
18402
         AND rc.rtag_id = rtagid;
18403
 
18404
      BEGIN
18405
         SELECT rtag_id
18406
           INTO rtagiddb
18407
           FROM dash_board
18408
          WHERE rtag_id = rtagid;
18409
 
18410
         SELECT proj_id
18411
           INTO projiddb
18412
           FROM dash_board
18413
          WHERE rtag_id = rtagid;
18414
      EXCEPTION
18415
         WHEN NO_DATA_FOUND
18416
         THEN
18417
            rtagiddb := '';
18418
      END;
18419
 
18420
      IF rtagiddb IS NULL
1373 dpurdie 18421
      THEN
3959 dpurdie 18422
         SELECT proj_id
18423
           INTO projid
18424
           FROM release_tags
18425
          WHERE rtag_id = rtagid;
18426
 
18427
         INSERT INTO dash_board
18428
                     (proj_id, rtag_id, last_build_time, automated_packages,
18429
                      total_packages
18430
                     )
18431
              VALUES (projid, rtagid, ora_sysdatetime, auto_total,
18432
                      total
18433
                     );
18434
      ELSE
18435
         UPDATE dash_board
18436
            SET last_build_time = ora_sysdatetime,
18437
                automated_packages = auto_total,
18438
                total_packages = total
18439
          WHERE proj_id = projiddb AND rtag_id = rtagiddb;
1373 dpurdie 18440
      END IF;
18441
   END;
18442
 
18443
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 18444
   FUNCTION exclude_from_build (
18445
      pvid          IN   NUMBER,
18446
      spkgversion   IN   VARCHAR2,
18447
      rtagid        IN   NUMBER,
18448
      username      IN   VARCHAR2
1373 dpurdie 18449
   )
3959 dpurdie 18450
      RETURN NUMBER
1373 dpurdie 18451
   IS
3959 dpurdie 18452
      userid              NUMBER;
18453
      outerrcode          NUMBER;
18454
      pkgid               NUMBER;
18455
 
18456
      CURSOR dnr_duplicate_cur
18457
      IS
18458
         SELECT *
18459
           FROM do_not_ripple
18460
          WHERE pv_id = pvid AND rtag_id = rtagid;
18461
 
18462
      dnr_duplicate_rec   dnr_duplicate_cur%ROWTYPE;
1373 dpurdie 18463
   BEGIN
3959 dpurdie 18464
      outerrcode := -1;       -- Set default return error code to ERROR state
18465
 
18466
      /*--------------- Business Rules Here -------------------*/
18467
      IF (rtagid IS NULL)
1373 dpurdie 18468
      THEN
3959 dpurdie 18469
         RETURN outerrcode;
18470
--         raise_application_error (-20000, 'RtagId must be supplied.');
18471
      END IF;
18472
 
18473
      IF (pvid IS NULL)
1373 dpurdie 18474
      THEN
3959 dpurdie 18475
         RETURN outerrcode;
18476
--         raise_application_error (-20000, 'PvId must be supplied.');
18477
      END IF;
18478
 
18479
      IF (username IS NULL)
1373 dpurdie 18480
      THEN
3959 dpurdie 18481
         RETURN outerrcode;
18482
--         raise_application_error (-20000, 'UserName must be supplied.');
18483
      END IF;
18484
 
18485
      -- Get user_id
18486
      BEGIN
18487
         SELECT usr.user_id
18488
           INTO userid
18489
           FROM users usr
18490
          WHERE UPPER (usr.user_name) = UPPER (username)
18491
            AND usr.is_disabled IS NULL;
18492
      EXCEPTION
18493
         WHEN NO_DATA_FOUND
18494
         THEN
18495
            RETURN outerrcode;
18496
--            raise_application_error (-20000,
18497
--                                        'UserName '
18498
--                                     || username
18499
--                                     || ' is not valid or disabled.'
18500
--                                    );
18501
      END;
18502
 
18503
      OPEN dnr_duplicate_cur;
18504
 
18505
      FETCH dnr_duplicate_cur
18506
       INTO dnr_duplicate_rec;
18507
 
18508
      IF dnr_duplicate_cur%FOUND
1373 dpurdie 18509
      THEN
3959 dpurdie 18510
         outerrcode := 0;
1373 dpurdie 18511
      END IF;
3959 dpurdie 18512
 
18513
      IF dnr_duplicate_cur%NOTFOUND
18514
      THEN
18515
         /* No duplicate recordset */
18516
         unripple_package (pvid, rtagid, userid);
18517
         outerrcode := 0;                            -- Set return to SUCCESS
18518
      END IF;
18519
 
18520
      CLOSE dnr_duplicate_cur;
18521
 
18522
      SELECT pkg_id
18523
        INTO pkgid
18524
        FROM package_versions
18525
       WHERE pv_id = pvid;
18526
 
18527
      DELETE FROM planned_versions
18528
            WHERE pkg_id = pkgid AND pkg_version = spkgversion;
18529
 
18530
      RETURN outerrcode;
1373 dpurdie 18531
   END;
18532
 
18533
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 18534
   FUNCTION exclude_indirect_from_build (
18535
      pvid          IN   NUMBER,
18536
      spkgversion   IN   VARCHAR2,
18537
      rtagid        IN   NUMBER,
18538
      username      IN   VARCHAR2,
18539
      rootpvid      IN   NUMBER,
18540
      rootcause     IN   VARCHAR2,
18541
      rootfile      IN   VARCHAR2
1373 dpurdie 18542
   )
3959 dpurdie 18543
      RETURN NUMBER
1373 dpurdie 18544
   IS
3959 dpurdie 18545
      userid              NUMBER;
18546
      outerrcode          NUMBER;
18547
      pkgid               NUMBER;
18548
 
18549
      CURSOR dnr_duplicate_cur
18550
      IS
18551
         SELECT *
18552
           FROM do_not_ripple
18553
          WHERE pv_id = pvid AND rtag_id = rtagid;
18554
 
18555
      dnr_duplicate_rec   dnr_duplicate_cur%ROWTYPE;
1373 dpurdie 18556
   BEGIN
3959 dpurdie 18557
      outerrcode := -1;       -- Set default return error code to ERROR state
18558
 
18559
      /*--------------- Business Rules Here -------------------*/
18560
      IF (rtagid IS NULL)
1373 dpurdie 18561
      THEN
3959 dpurdie 18562
         RETURN outerrcode;
18563
--         raise_application_error (-20000, 'RtagId must be supplied.');
18564
      END IF;
18565
 
18566
      IF (pvid IS NULL)
1373 dpurdie 18567
      THEN
3959 dpurdie 18568
         RETURN outerrcode;
18569
--         raise_application_error (-20000, 'PvId must be supplied.');
18570
      END IF;
18571
 
18572
      IF (username IS NULL)
1373 dpurdie 18573
      THEN
3959 dpurdie 18574
         RETURN outerrcode;
18575
--         raise_application_error (-20000, 'UserName must be supplied.');
1373 dpurdie 18576
      END IF;
3959 dpurdie 18577
 
18578
      -- Get user_id
18579
      BEGIN
18580
         SELECT usr.user_id
18581
           INTO userid
18582
           FROM users usr
18583
          WHERE UPPER (usr.user_name) = UPPER (username)
18584
            AND usr.is_disabled IS NULL;
18585
      EXCEPTION
18586
         WHEN NO_DATA_FOUND
18587
         THEN
18588
            RETURN outerrcode;
18589
--            raise_application_error (-20000,
18590
--                                        'UserName '
18591
--                                     || username
18592
--                                     || ' is not valid or disabled.'
18593
--                                    );
18594
      END;
18595
 
18596
     /* No duplicate recordset */
18597
     unripple_package_indirect (pvid, rtagid, userid, rootpvid, rootcause, rootfile);
18598
     outerrcode := 0;                            -- Set return to SUCCESS
18599
 
18600
      SELECT pkg_id
18601
        INTO pkgid
18602
        FROM package_versions
18603
       WHERE pv_id = pvid;
18604
 
18605
      DELETE FROM planned_versions
18606
            WHERE pkg_id = pkgid AND pkg_version = spkgversion;
18607
 
18608
      RETURN outerrcode;
1373 dpurdie 18609
   END;
18610
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 18611
   PROCEDURE insert_abt_actionlog (rconid IN NUMBER, action IN VARCHAR2)
1373 dpurdie 18612
   IS
18613
   BEGIN
3959 dpurdie 18614
      INSERT INTO abt_action_log
18615
                  (rcon_id, action_datetime, action
18616
                  )
18617
           VALUES (rconid, ora_sysdatetime, action
18618
                  );
1373 dpurdie 18619
   END;
18620
 
18621
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 18622
   FUNCTION insert_package_metrics (
18623
      rtagid                   IN   NUMBER,
18624
      pkgname                  IN   VARCHAR2,
18625
      vext                     IN   VARCHAR2,
18626
      metricstring             IN   VARCHAR2
1373 dpurdie 18627
   )
3959 dpurdie 18628
      RETURN NUMBER
1373 dpurdie 18629
   IS
3959 dpurdie 18630
      citemcollection          relmgr_varchar2_tab_t  := relmgr_varchar2_tab_t ();
18631
      lv_pvid                  NUMBER                 := 0;
18632
      rownumber                NUMBER;
18633
      rowcontent               VARCHAR2(4000);
18634
      metricname               VARCHAR2(1000);
18635
      metricvalue              VARCHAR2(4000);
18636
      return_insert_error      NUMBER                 := -1;
18637
      return_insert_success    NUMBER                 := 0;
18638
 
18639
      /* Metrics */
18640
      lv_branches                 NUMBER;
18641
      lv_branchlist               VARCHAR2(4000);
18642
      lv_codefiles                NUMBER;
18643
      lv_ignoredfiles             NUMBER;
18644
      lv_directories              NUMBER;
18645
      lv_directorydepth           NUMBER;
18646
      lv_totalfiles               NUMBER;
18647
      lv_makefiles                NUMBER;
18648
      lv_blanklines               NUMBER;
18649
      lv_codelines                NUMBER;
18650
      lv_commentlines             NUMBER;
18651
 
1373 dpurdie 18652
   BEGIN
3959 dpurdie 18653
      /*--------------- Business Rules Here -------------------*/
18654
      IF (rtagid IS NULL)
18655
      THEN
18656
         RETURN return_insert_error;
18657
      END IF;
1373 dpurdie 18658
 
3959 dpurdie 18659
      IF (pkgname IS NULL)
18660
      THEN
18661
         RETURN return_insert_error;
18662
      END IF;
18663
 
18664
      IF (metricstring IS NULL)
18665
      THEN
18666
         RETURN return_insert_error;
18667
      END IF;
18668
 
18669
      BEGIN
18670
         SELECT pv.pv_id
18671
           INTO lv_pvid
18672
           FROM package_versions pv, packages pkg, release_content rc
18673
          WHERE pv.pkg_id = pkg.pkg_id
18674
            AND rc.rtag_id = rtagid
18675
            AND pv.pv_id = rc.pv_id
18676
            AND pkg.pkg_name = pkgname
18677
            AND NVL (pv.v_ext, '|LINK_A_NULL|') = NVL (vext, '|LINK_A_NULL|');
18678
      EXCEPTION
18679
           WHEN NO_DATA_FOUND
18680
           THEN
18681
                lv_pvid := 0;
18682
      END;
18683
 
18684
      citemcollection := in_list_varchar2 (metricstring, ';');
18685
 
18686
      FOR rownumber IN 1 .. citemcollection.COUNT
18687
      LOOP
18688
         rowcontent := citemcollection(rownumber);
18689
         metricvalue := SUBSTR(rowcontent, (INSTR(rowcontent, '=') + 1));
18690
         metricname := REGEXP_REPLACE(rowcontent, '=.*$', '');
18691
 
18692
         IF    metricname = 'ccbranch.count' THEN lv_branches := metricvalue;
18693
         ELSIF metricname = 'ccbranch.list' THEN lv_branchlist := metricvalue;
18694
         ELSIF metricname = 'code.files' THEN lv_codefiles := metricvalue;
18695
         ELSIF metricname = 'code.ignored' THEN lv_ignoredfiles := metricvalue;
18696
         ELSIF metricname = 'count.dir' THEN lv_directories := metricvalue;
18697
         ELSIF metricname = 'count.dirdepth' THEN lv_directorydepth := metricvalue;
18698
         ELSIF metricname = 'count.file' THEN lv_totalfiles := metricvalue;
18699
         ELSIF metricname = 'count.makefile' THEN lv_makefiles := metricvalue;
18700
         ELSIF metricname = 'lines.blank' THEN lv_blanklines := metricvalue;
18701
         ELSIF metricname = 'lines.code' THEN lv_codelines := metricvalue;
18702
         ELSIF metricname = 'lines.comment' THEN lv_commentlines := metricvalue;
18703
         END IF;
18704
      END LOOP;
18705
 
18706
      IF (lv_pvid > 0)
18707
      THEN
18708
         -- Delete any existing entries for this package version to makes sure our data is untainted
18709
         DELETE FROM package_metrics pm
18710
         WHERE pm.pv_id = lv_pvid;
18711
 
18712
         -- Insert the new data into the metrics table
18713
         INSERT INTO package_metrics
18714
                     (pv_id, branches, branch_list, code_files, ignored_files, directories, directory_depth,
18715
                      total_files, makefiles, blank_lines, code_lines, comment_lines, created_stamp
18716
                     )
18717
              VALUES (lv_pvid, lv_branches, lv_branchlist, lv_codefiles, lv_ignoredfiles, lv_directories, lv_directorydepth,
18718
                      lv_totalfiles, lv_makefiles, lv_blanklines, lv_codelines, lv_commentlines, ora_sysdatetime
18719
                     );
18720
 
18721
         -- Now update the Release_Metrics Table
18722
         update_release_metrics(rtagid);
18723
 
18724
         RETURN return_insert_success;
18725
      ELSE
18726
         RETURN return_insert_error;
18727
      END IF;
1373 dpurdie 18728
   END;
18729
 
18730
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 18731
   PROCEDURE update_release_metrics (rtagid IN NUMBER)
1373 dpurdie 18732
   IS
3959 dpurdie 18733
      lv_totalpackages       NUMBER;
18734
      lv_autobuilt           NUMBER;
18735
      lv_linesofcode         NUMBER;
18736
      lv_unittested          NUMBER;
18737
      lv_autotested          NUMBER;
18738
      lv_numOfbranches       NUMBER;
18739
      lv_lastbuildtime       DATE;
1373 dpurdie 18740
   BEGIN
3959 dpurdie 18741
      IF (rtagid > 0)
18742
      THEN
18743
         -- Get the total number of packages in this release and the number of
18744
         -- those that are autobuilt
18745
         SELECT COUNT (DISTINCT rc.pv_id),
18746
                COUNT (DISTINCT autobuilt_qry.pv_id)
18747
           INTO lv_totalpackages, lv_autobuilt
18748
           FROM release_content rc,
18749
                package_versions pv,
18750
                (
18751
                 SELECT rc.pv_id
18752
                   FROM release_content rc,
18753
                        package_versions pv
18754
                  WHERE pv.is_autobuildable = 'Y'
18755
                    AND pv.pv_id = rc.pv_id
18756
                    AND rc.rtag_id = rtagid
18757
                ) autobuilt_qry
18758
          WHERE pv.pv_id = rc.pv_id
18759
            AND rc.rtag_id = rtagid
18760
            AND autobuilt_qry.pv_id (+) = rc.pv_id;
1373 dpurdie 18761
 
3959 dpurdie 18762
         -- Get the build time of the last package built in this release and the
18763
         -- total number of lines of code
18764
         SELECT MAX(pm.created_stamp),
18765
                SUM(pm.code_lines)
18766
           INTO lv_lastbuildtime, lv_linesofcode
18767
           FROM package_metrics pm, release_content rc
18768
          WHERE pm.pv_id = rc.pv_id
18769
            AND rc.rtag_id = rtagid;
18770
 
18771
         -- Get the number of packages with unit tests in this release and the
18772
         -- number of those that are autotested
18773
         SELECT COUNT(DISTINCT ut.pv_id) INTO lv_unittested
18774
           FROM unit_tests ut,
18775
                release_content rc
18776
          WHERE ut.pv_id = rc.pv_id
18777
            AND rc.rtag_id = rtagid
18778
        AND ut.test_types_fk != 1;
18779
 
18780
        SELECT COUNT(DISTINCT ut.pv_id) INTO lv_autotested
18781
          FROM unit_tests ut,
18782
               release_content rc
18783
         WHERE ut.pv_id = rc.pv_id
18784
           AND rc.rtag_id = rtagid
18785
           AND ut.test_types_fk = 7;
18786
 
18787
 
18788
         -- Count the number of unique branches in the packages in this release.
18789
--         SELECT COUNT(DISTINCT branch) INTO lv_numOfbranches
18790
--           FROM (
18791
--                SELECT pv_id,
18792
--                       regexp_substr(str, '[^,]+', 1, level) branch,
18793
--                       level lv,
18794
--                       lag(level, 1, 0) over (partition by pv_id order by level) lg
18795
--                  FROM (
18796
--                       SELECT pm.pv_id,
18797
--                              ','||pm.branch_list str
18798
--                         FROM package_metrics pm,
18799
--                              release_content rc
18800
--                        WHERE pm.pv_id = rc.pv_id
18801
--                          AND rc.rtag_id = rtagid
18802
--                       )
18803
--                CONNECT BY regexp_substr(str, '[^,]+', 1, LEVEL) IS NOT NULL
18804
--                )
18805
--          WHERE lv != lg;
18806
 
18807
         UPDATE release_metrics rm
18808
            SET rm.total_packages = lv_totalpackages,
18809
                rm.autobuilt = lv_autobuilt,
18810
                rm.lines_of_code = lv_linesofcode,
18811
                rm.unit_tested = lv_unittested,
18812
                rm.autotested = lv_autotested,
18813
--                rm.branches = lv_numOfbranches,
18814
                rm.last_build_time = lv_lastbuildtime
18815
          WHERE rtag_id = rtagid;
18816
 
18817
         IF (SQL%ROWCOUNT = 0)
18818
         THEN
18819
            INSERT INTO release_metrics
18820
                        (rtag_id, total_packages, autobuilt, lines_of_code, unit_tested,
18821
                         autotested, last_build_time
18822
                        )
18823
                 VALUES (rtagid, lv_totalpackages, lv_autobuilt, lv_linesofcode, lv_unittested,
18824
                         lv_autotested, lv_lastbuildtime
18825
                        );
18826
         END IF;
18827
--         IF (SQL%ROWCOUNT = 0)
18828
--         THEN
18829
--            INSERT INTO release_metrics
18830
--                        (rtag_id, total_packages, autobuilt, lines_of_code, unit_tested,
18831
--                         autotested, branches, last_build_time
18832
--                        )
18833
--                 VALUES (rtagid, lv_totalpackages, lv_autobuilt, lv_linesofcode, lv_unittested,
18834
--                         lv_autotested, lv_numOfbranches, lv_lastbuildtime
18835
--                        );
18836
--         END IF;
18837
--      ELSE
18838
--         raise_application_error (-20000, 'RtagId must be supplied.');
18839
      END IF;
1373 dpurdie 18840
   END;
18841
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 18842
   FUNCTION return_vcs_tag(pvid IN NUMBER) RETURN VARCHAR2
1373 dpurdie 18843
   IS
3959 dpurdie 18844
      vcstypeid    NUMBER;
18845
      vcstag       VARCHAR2(32);
18846
      label        VARCHAR2(60);
18847
      srcpath      VARCHAR2(2000);
18848
      vcstypeid_cc NUMBER;
18849
      vcstypeid_uc NUMBER;
1373 dpurdie 18850
   BEGIN
3959 dpurdie 18851
      -- Get the VCS_TYPE_ID for the ClearCase version control system. We do this so that we make no assumptions about
18852
      -- what the primary key value is for the ClearCase VCS entry.
18853
      BEGIN
18854
         SELECT vt.vcs_type_id
18855
         INTO vcstypeid_cc
18856
         FROM VCS_TYPE vt
18857
         WHERE vt.tag = 'CC';
18858
         EXCEPTION
18859
            WHEN NO_DATA_FOUND THEN
18860
               raise_application_error (-20000, 'Database is missing compulsory CC version control system tag!');
18861
      END;
1373 dpurdie 18862
 
3959 dpurdie 18863
      -- Get the VCS_TYPE_ID for the Uncontrolled version control system. We do this so that we make no assumptions about
18864
      -- what the primary key value is for the Uncontrolled VCS entry.
18865
      BEGIN
18866
         SELECT vt.vcs_type_id
18867
         INTO vcstypeid_uc
18868
         FROM VCS_TYPE vt
18869
         WHERE vt.tag = 'UC';
18870
         EXCEPTION
18871
            WHEN NO_DATA_FOUND THEN
18872
               raise_application_error (-20000, 'Database is missing compulsory UC version control system tag!');
18873
      END;
18874
 
18875
      -- Get the PKG_LABEL, SRC_PATH, VCS_TYPE_ID for the package version
18876
      -- As additional VCS types are introduced, we may have to extend what this SELECT statement returns
18877
      BEGIN
18878
         SELECT pv.pkg_label, pv.src_path,
18879
           (CASE WHEN pv.pkg_label = 'N/A' AND pv.vcs_type_id IS NULL THEN vcstypeid_uc
18880
                 WHEN pv.vcs_type_id IS NULL THEN vcstypeid_cc
18881
                 ELSE pv.vcs_type_id END) AS vcs_type_id
18882
         INTO label, srcpath, vcstypeid
18883
         FROM PACKAGE_VERSIONS pv
18884
         WHERE pv.pv_id = pvid;
18885
         EXCEPTION
18886
            WHEN NO_DATA_FOUND THEN
18887
               raise_application_error (-20000, 'Package Version Not Found!');
18888
      END;
18889
 
18890
      -- Get the VCS TAG for the VCS_TYPE_ID.
18891
      BEGIN
18892
         SELECT vt.tag
18893
         INTO vcstag
18894
         FROM VCS_TYPE vt
18895
         WHERE vt.vcs_type_id = vcstypeid;
18896
         EXCEPTION
18897
            WHEN NO_DATA_FOUND THEN
18898
               raise_application_error (-20000, 'Could not get VCS Tag for the package version!');
18899
      END;
18900
 
18901
      -- Return value depending upon which VCS Tag is being used.
18902
      -- As additional VCS types are introduced, we have to add additional WHEN clauses
18903
      CASE vcstag
18904
         WHEN 'CC' THEN
18905
            RETURN vcstag || '::' || srcpath || '::' || label;
18906
         WHEN 'SVN' THEN
18907
            RETURN vcstag || '::' || srcpath || '::' || label;
18908
         ELSE
18909
            RETURN vcstag || '::';
18910
      END CASE;
18911
 
1373 dpurdie 18912
   END;
3959 dpurdie 18913
/*-------------------------------------------------------------------------------------------------------*/
1373 dpurdie 18914
 
3959 dpurdie 18915
/*-------------------------------------------------------------------------------------------------------
18916
Name:        update_vcs_details
18917
Description: Updates the Version Control System (vcs) details specified in the vcstag
18918
             parameter for the specified package version.
18919
             The specified package vcstag is parsed and split into 3 fields:
18920
                vcs type, src path, label
18921
             These fields are then stored for the specified pv_id in the package_versions, table.
18922
             An action is recorded in the action log and provides information for tracking and
18923
             for restoring the previous vcs settings if a recovery is required.
18924
Paramters:
18925
             ipv_id:     Package version identifier
18926
             vcstag:     Full version control tag.
18927
                         Examples:
18928
                             "SVN::AUPERASVN01/DPG_SWBase/tools/trunk::daf_tools_25.1.7027.cr@1234"
18929
                            "CC::/DPG_SWBase/tools::daf_tools_25.1.7016.cr"
18930
             user_id:    Identifier of the user that is performing this function.
18931
*/
18932
PROCEDURE update_vcs_details(ipv_id IN NUMBER, vcstag IN VARCHAR2, user_id IN NUMBER)
1373 dpurdie 18933
   IS
3959 dpurdie 18934
      ivcs_type_id   NUMBER;
18935
      svcs_type      VARCHAR2(128);
18936
      ssrc_path      VARCHAR2(512);
18937
      spkg_label     VARCHAR2(512);
18938
      spattern       VARCHAR2(64);
18939
      saction_desc   VARCHAR2(2048);
18940
      old_vcs_type   VARCHAR2(128);
18941
      old_src_path   VARCHAR2(512);
18942
      old_pkg_label  VARCHAR2(512);
18943
      old_pkg_vcstag VARCHAR2(1024);
18944
      i              NUMBER;
18945
      vcount         NUMBER;
1373 dpurdie 18946
   BEGIN
3959 dpurdie 18947
     -- Split vcs tag into fields: vcs type, src path, label
18948
     -- Fields are separated by '::'
18949
     -- e.g "CC::/DPG_SWBase/tools::daf_tools_25.1.7016.cr"
18950
     -- The below regular expression pattern has groups to achieve this.
1373 dpurdie 18951
 
3959 dpurdie 18952
     spattern:= '^([^:]*)::([^:]*)(::(.*))?$';
18953
 
18954
     --As Oracle 10g does not allow REGEXP_SUBSTR to return a group,
18955
     --REGEXP_REPLACE is used instead (Note: Oracle 11g has this enhancement).
18956
     SELECT REGEXP_REPLACE(vcstag,spattern, '\1') INTO svcs_type  FROM DUAL;
18957
     SELECT REGEXP_REPLACE(vcstag,spattern, '\2') INTO ssrc_path  FROM DUAL;
18958
     SELECT REGEXP_REPLACE(vcstag,spattern, '\4') INTO spkg_label FROM DUAL;
18959
 
18960
     -- Validate vcs type
18961
     BEGIN
18962
       SELECT vc.vcs_type_id INTO ivcs_type_id FROM vcs_type vc WHERE UPPER(svcs_type) = UPPER(vc.tag);
18963
     EXCEPTION
18964
       WHEN NO_DATA_FOUND THEN
18965
         raise_application_error (-20000, 'Invalid vcs type: ' || '"' || svcs_type || '"' || ' for package version: ' || ipv_id || ', vcstag: ' || '"' || vcstag || '"');
18966
       --RAISE;
18967
     END;
18968
 
18969
     -- If Clearcase
18970
     IF (ivcs_type_id = 2) THEN
18971
       -- Validate source path
18972
       IF NOT REGEXP_LIKE(ssrc_path,'^(\\|\/)[a-z]+[0-9a-z_\.\-\\\/ -]*$','i') THEN
18973
         raise_application_error (-20000, 'Invalid CC src path: ' || '"' || ssrc_path || '"' || ' for package version: ' || ipv_id || ', vcstag: ' || '"' || vcstag || '"');
18974
       END IF;
18975
 
18976
       -- Validate label
18977
       -- For clearcase the label must be specified. For subversion it is not required.
18978
       IF NOT REGEXP_LIKE(spkg_label,'^[0-9a-z_\.\-]+$','i') THEN
18979
         raise_application_error (-20000, 'Invalid CC label:' || '"' || spkg_label || '"' || ' for package version:' || ipv_id || ', vcstag:' || '"' || vcstag || '"');
18980
       END IF;
18981
 
18982
     -- if Subversion
18983
     ELSIF (ivcs_type_id = 23) THEN
18984
       -- general validity
18985
       -- Not as picky as the RM Data entry
18986
       IF NOT REGEXP_LIKE(ssrc_path,'^([0-9a-z_\.\-]+)(\/([0-9a-z_\.\-]+))+$','i') THEN
18987
         raise_application_error (-20000, 'Invalid SVN src path: ' || '"' || ssrc_path || '"' || ' for package version: ' || ipv_id || ', vcstag: ' || '"' || vcstag || '"');
18988
       END IF;
18989
 
18990
       -- Validate Tag
18991
       -- May be a Peg or a Label
18992
       IF NOT REGEXP_LIKE(spkg_label,'^@?[0-9]+$','i') THEN
18993
           IF NOT REGEXP_LIKE(spkg_label,'^[0-9a-z_\.\-]+($|@[0-9]+)','i') THEN
18994
             raise_application_error (-20000, 'Invalid SVN tag:' || '"' || spkg_label || '"' || ' for package version:' || ipv_id || ', vcstag:' || '"' || vcstag || '"');
18995
           END IF;
18996
       END IF;
18997
 
18998
        -- Check for suitable ending
18999
        IF NOT REGEXP_LIKE(ssrc_path,'(\/tags$)|(\/branches\/)|(\/trunk$)','i') THEN
19000
            raise_application_error (-20000, 'Must end in /trunk or /tags/ or /branches/.... Invalid SVN src path: ' || '"' || ssrc_path || '"' || ' for package version: ' || ipv_id || ', vcstag: ' || '"' || vcstag || '"');
19001
        END IF;
19002
 
19003
       -- Check for combined use of tags, branches, trunk or repeats of each
19004
       -- Count occurrences of /tags or /branches/ or /trunk
19005
       vcount:=0;
19006
       i:=1;
19007
       WHILE i > 0 LOOP
19008
         i:=REGEXP_INSTR(ssrc_path,'(\/tags(\/|$))|(\/branches(\/|$))|(\/trunk(\/|$))',i,1,1,'i');
19009
         IF i > 0 THEN
19010
           -- if found then increment count
19011
           vcount:=vcount+1;
19012
           i:=i-1;  -- move index back to "/"
19013
         END IF;
19014
       END LOOP;
19015
 
19016
       IF vcount = 0  THEN
19017
         raise_application_error (-20000, 'Must contain exactly one of the keywords /trunk, /tags, /branches/. Invalid SVN src path: ' || '"' || ssrc_path || '"' || ' for package version: ' || ipv_id || ', vcstag: ' || '"' || vcstag || '"');
19018
       END IF;
19019
 
19020
       IF vcount > 1  THEN
19021
         raise_application_error (-20000, 'Combined use of /trunk, /tags, or /branches/. Invalid SVN src path: ' || '"' || ssrc_path || '"' || ' for package version: ' || ipv_id || ', vcstag: ' || '"' || vcstag || '"');
19022
       END IF;
19023
 
19024
 
19025
     END IF;
19026
 
19027
     BEGIN
19028
       -- Get current vcs tag for specified package version
19029
       SELECT pv.src_path, pv.pkg_label, vc.tag as vcs_type
19030
       INTO old_src_path, old_pkg_label, old_vcs_type
19031
       FROM package_versions pv, vcs_type vc
19032
       WHERE pv.pv_id = ipv_id
19033
       AND pv.vcs_type_id = vc.vcs_type_id (+);
19034
 
19035
     EXCEPTION
19036
       WHEN NO_DATA_FOUND THEN
19037
         raise_application_error (-20000, 'Package version not found: ' || ipv_id);
19038
     END;
19039
 
19040
     old_pkg_vcstag:= old_vcs_type || '::' || old_src_path;
19041
     IF (old_pkg_label IS NOT NULL) THEN
19042
       old_pkg_vcstag:=old_pkg_vcstag || '::' || old_pkg_label;
19043
     END IF;
19044
 
19045
     -- Create action description
19046
     -- This description will contain the old and new tags.
19047
     -- Its purpose is to provide information for tracking and for restoring previous vcs settings if a recovery is required.
19048
     -- An example of the action description is below:
19049
     --   OldTag:CC::/DPG_SWBase/tools::daf_tools_25.1.7016.cr NewTag:SVN::DPG_SWBase/tools/tags/daf_tools_25.1.7027.cr
19050
     saction_desc:='OldTag:' || old_pkg_vcstag || ' ' || 'NewTag:' || vcstag;
19051
 
19052
     -- Store new vcs details
19053
     UPDATE package_versions SET
19054
       src_path = ssrc_path,
19055
       pkg_label = spkg_label,
19056
       vcs_type_id = ivcs_type_id
19057
     WHERE
19058
       pv_id = ipv_id;
19059
 
19060
     -- Store action in action log so that we can back track and also restore vcs settings if required.
19061
     log_action (ipv_id,'VcsConversion',user_id,saction_desc);
19062
 
19063
   END update_vcs_details;
19064
 
19065
/*-------------------------------------------------------------------------------------------------------
19066
Name:        isSVN
19067
Description: Determine if any of the packages versions are controlled under SVN
19068
			 Intended to be used to prevent users from releasing a package
19069
			 that has been migrated to SVN
19070
 
19071
Paramters:	pkgid:     Package ID
19072
 
19073
Returns:	Number of versions under SVN version control
19074
*/
6031 dpurdie 19075
 
3959 dpurdie 19076
FUNCTION isSVN( pkgid IN NUMBER )
19077
    RETURN NUMBER
19078
    IS
19079
    svncount   NUMBER  := 0;
19080
   BEGIN
19081
        SELECT COUNT(*) INTO svncount FROM PACKAGE_VERSIONS pv WHERE pv.PKG_ID = pkgid AND pv.VCS_TYPE_ID = 23;
19082
        RETURN (svncount);
1373 dpurdie 19083
   END;
6031 dpurdie 19084
 
3959 dpurdie 19085
/*-------------------------------------------------------------------------------------------------------
19086
Name:        isSVNbyName
19087
Description: Determine if any of the packages versions are controlled under SVN
19088
			 Intended to be used to prevent users from releasing a package
19089
			 that has been migrated to SVN
19090
 
19091
Paramters:	pkgname:	Package Name
19092
 
19093
Returns:	Number of versions under SVN version control
19094
*/
19095
 
6031 dpurdie 19096
FUNCTION isSVNbyName( pkgname IN VARCHAR2 )
3959 dpurdie 19097
    RETURN NUMBER
19098
IS
19099
   svncount   NUMBER  := 0;
19100
   BEGIN
19101
        SELECT COUNT(*) INTO svncount FROM PACKAGE_VERSIONS pv, PACKAGES pkg WHERE pkg.pkg_name = pkgname AND pv.PKG_ID = pkg.pkg_id AND pv.VCS_TYPE_ID = 23;
19102
        RETURN (svncount);
19103
   END;
5172 dpurdie 19104
/*-------------------------------------------------------------------------------------------------------
19105
Name:        new_build_instance
19106
Description: Create a new entry in the BUILD_INSTANCE table
19107
             The BUILD_ID will be allocated.
19108
             The timestamp will be created
19109
 
19110
Paramters:	rtag_id:	Release ID - must exist
19111
            pv_id:    Package ID - must exist
19112
            reason:   Reason code for the build
7340 dpurdie 19113
            buildRef: Identify build logs
5172 dpurdie 19114
 
19115
Returns:	BUILD_ID for the new entry
19116
          Returns -1 on error, PV_ID or RTAG_ID do not exist
6031 dpurdie 19117
*/
7340 dpurdie 19118
FUNCTION new_build_instance( rtag_id IN NUMBER, pv_id IN NUMBER , reason IN CHAR, buildRef IN VARCHAR2)
6031 dpurdie 19119
  RETURN NUMBER
5172 dpurdie 19120
  IS
19121
    build_id NUMBER := 0;
19122
  BEGIN
7340 dpurdie 19123
    INSERT into BUILD_INSTANCES (RTAG_ID, PV_ID, REASON, BUILD_REF)
19124
    values( rtag_id, pv_id, reason, buildRef)
5172 dpurdie 19125
    returning BUILD_ID into build_id;
19126
    return build_id;
19127
  EXCEPTION
19128
    WHEN OTHERS THEN
19129
      return -1;
19130
  END;
6031 dpurdie 19131
 
5172 dpurdie 19132
/*-------------------------------------------------------------------------------------------------------
19133
Name: update_build_instance
19134
Description: Update fields in an existing build instance
19135
Returns: -1 on error
19136
*/
19137
FUNCTION update_build_instance(
19138
    nbuild_id IN NUMBER,
19139
    npv_id    IN NUMBER DEFAULT NULL,
19140
    nstate    IN CHAR DEFAULT NULL )
19141
  RETURN NUMBER
19142
IS
19143
BEGIN
19144
  IF ( npv_id IS NOT NULL AND npv_id > 0 ) THEN
19145
    UPDATE BUILD_INSTANCES SET PV_ID = npv_id WHERE BUILD_ID = nbuild_id;
19146
    IF SQL%NOTFOUND THEN
19147
      RETURN -2;
19148
    END IF;
19149
  END IF;
6031 dpurdie 19150
 
5172 dpurdie 19151
  IF ( nstate        IS NOT NULL ) THEN
19152
    IF (LENGTH(nstate) = 1 ) THEN
19153
      UPDATE BUILD_INSTANCES SET STATE = nstate WHERE BUILD_ID = nbuild_id;
19154
        IF SQL%NOTFOUND THEN
19155
          RETURN -3;
19156
        END IF;
19157
    ELSE
19158
      RETURN -4;
7340 dpurdie 19159
    END IF;
19160
  END IF;
19161
 
19162
  RETURN 1;
19163
  EXCEPTION
19164
    WHEN OTHERS THEN
19165
      RETURN -1;
19166
  END;
19167
 
19168
/*-------------------------------------------------------------------------------------------------------
19169
Name: update_build_instance
19170
Description: Update fields in an existing build instance
19171
Returns: -1 on error
19172
*/
19173
FUNCTION update_build_ref( nrtag_id IN NUMBER, buildRef IN VARCHAR2, buildRefNew IN VARCHAR2 ) RETURN NUMBER
19174
IS
19175
BEGIN
19176
  IF ( nrtag_id IS NOT NULL AND nrtag_id > 0 ) THEN
19177
    UPDATE BUILD_INSTANCES SET BUILD_REF = buildRefNew WHERE nrtag_id = RTAG_ID AND UPPER(BUILD_REF) = UPPER(buildRef);
19178
    IF SQL%NOTFOUND THEN
19179
      RETURN -2;
5172 dpurdie 19180
    END IF;
19181
  END IF;
6031 dpurdie 19182
 
5172 dpurdie 19183
  RETURN 1;
19184
  EXCEPTION
19185
    WHEN OTHERS THEN
19186
      RETURN -1;
19187
  END;
19188
 
19189
/*-------------------------------------------------------------------------------------------------------
19190
Name:        insert_test_run
19191
Description: Insert data into the test_run table
19192
 
6031 dpurdie 19193
 
5172 dpurdie 19194
Paramters:	See below
19195
 
19196
Returns:	1 on success
19197
          Returns -1 on error
6031 dpurdie 19198
*/
19199
  FUNCTION insert_test_run(
19200
      build_id  IN NUMBER,
19201
      name      IN VARCHAR2,
19202
      outcome   IN VARCHAR2,
19203
      platform  IN VARCHAR2,
19204
      stype     IN VARCHAR2,
19205
      duration  IN NUMBER default null,
5172 dpurdie 19206
      message   IN CLOB default null
19207
      ) return NUMBER
19208
IS
19209
  sName VARCHAR2(1000) := name;
19210
  sNameLen NUMBER;
6031 dpurdie 19211
 
5172 dpurdie 19212
BEGIN
19213
  sNameLen := LENGTH(sName);
5384 dpurdie 19214
  IF sNameLen >= 199 Then
6031 dpurdie 19215
    sName := '...' || SUBSTR(sName, sNameLen - 196);
5172 dpurdie 19216
  END IF;
19217
 
19218
  INSERT into TEST_RUN
19219
    (BUILD_ID, TEST_NAME, TEST_OUTCOME, TIME_TAKEN,FAIL_MESSAGE,PLATFORM, TYPE)
19220
    VALUES(build_id,sName,outcome, duration, message, platform, stype);
19221
    return 1;
19222
  EXCEPTION
19223
    WHEN OTHERS THEN
19224
      return -1;
19225
 
19226
END;
6031 dpurdie 19227
 
3959 dpurdie 19228
   END;
4040 dpurdie 19229
 
1374 dpurdie 19230
/
5892 dpurdie 19231
 
6031 dpurdie 19232
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_RMAPI" TO "RM_READONLY";
19233
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_RMAPI" TO "MS_READONLY";
6999 dpurdie 19234
  GRANT EXECUTE ON "RELEASE_MANAGER"."PK_RMAPI" TO "DM_READONLY";
4040 dpurdie 19235
--------------------------------------------------------
19236
--  DDL for Package Body PK_WORK_IN_PROGRESS
19237
--------------------------------------------------------
19238
 
5172 dpurdie 19239
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."PK_WORK_IN_PROGRESS" IS
1373 dpurdie 19240
 
19241
/*
19242
------------------------------
19243
||  Last Modified:  S.Vukovic
3959 dpurdie 19244
||  Modified Date:  2/May/2005
1373 dpurdie 19245
||  Body Version:   1.0
19246
------------------------------
19247
*/
19248
 
19249
 
19250
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 19251
PROCEDURE ADD_PACKAGE ( newPvId IN NUMBER, ViewId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
1373 dpurdie 19252
 
3959 dpurdie 19253
	oldPvId NUMBER;
19254
	ReleaseLocation VARCHAR2(4000);
19255
	sLocation VARCHAR2(4000) := NULL;
1373 dpurdie 19256
 
3959 dpurdie 19257
 
1373 dpurdie 19258
BEGIN
19259
	/*--------------- Business Rules Here -------------------*/
3959 dpurdie 19260
	/*-------------------------------------------------------*/
1373 dpurdie 19261
 
3959 dpurdie 19262
	BEGIN
5384 dpurdie 19263
		-- Check if Exists in "Work in progress" anywhere in the world in a non-closed Release
3959 dpurdie 19264
		SELECT proj.PROJ_NAME ||' > '|| rt.RTAG_NAME  INTO sLocation
19265
		  FROM WORK_IN_PROGRESS wip,
19266
		  	   RELEASE_TAGS rt,
19267
			   PROJECTS proj
19268
		 WHERE wip.PV_ID = newPvId
19269
		   AND wip.RTAG_ID = rt.RTAG_ID
5384 dpurdie 19270
		   AND rt.OFFICIAL in ('N','R','C')
3959 dpurdie 19271
		   AND rt.PROJ_ID = proj.PROJ_ID;
1373 dpurdie 19272
 
3959 dpurdie 19273
		EXCEPTION
19274
	    	WHEN NO_DATA_FOUND THEN
19275
	       		sLocation := NULL;
1373 dpurdie 19276
 
6031 dpurdie 19277
	END;
1373 dpurdie 19278
 
19279
 
6031 dpurdie 19280
 
3959 dpurdie 19281
	IF (sLocation IS NULL)  THEN
1373 dpurdie 19282
 
3959 dpurdie 19283
		-- Add to "Work in progress"
19284
		INSERT INTO WORK_IN_PROGRESS ( RTAG_ID, PV_ID, VIEW_ID )
19285
		VALUES( RtagId, newPvId, ViewId );
19286
 
19287
 
19288
	    /* LOG ACTION */
19289
		SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
19290
		  FROM PROJECTS proj,
19291
		  	   RELEASE_TAGS rt
19292
		 WHERE rt.PROJ_ID = proj.PROJ_ID
19293
		   AND rt.RTAG_ID = RtagId;
19294
 
19295
		Log_Action ( newPvId, 'work_in_progress', UserId, 'Location: '|| ReleaseLocation );
19296
 
19297
	ELSE
6031 dpurdie 19298
 
3959 dpurdie 19299
		RAISE_APPLICATION_ERROR (-20000, 'This version is already in Work-In-Progress Area at '|| sLocation ||'.' );
6031 dpurdie 19300
 
1373 dpurdie 19301
	END IF;
19302
 
3959 dpurdie 19303
END;
19304
/*-------------------------------------------------------------------------------------------------------*/
19305
PROCEDURE REMOVE_PACKAGE ( PvId IN NUMBER, RtagId IN NUMBER, UserId IN NUMBER ) IS
1373 dpurdie 19306
 
3959 dpurdie 19307
	ReleaseLocation VARCHAR2(4000);
1373 dpurdie 19308
 
3959 dpurdie 19309
BEGIN
19310
 
19311
	/*--------------- Business Rules Here -------------------*/
1373 dpurdie 19312
	/*-------------------------------------------------------*/
19313
 
19314
 
3959 dpurdie 19315
	-- Get release location for logging pusposes
19316
	SELECT proj.PROJ_NAME ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
19317
	  FROM PROJECTS proj,
19318
	  	   RELEASE_TAGS rt
19319
	 WHERE rt.PROJ_ID = proj.PROJ_ID
19320
	   AND rt.RTAG_ID = RtagId;
1373 dpurdie 19321
 
6031 dpurdie 19322
    -- Ensure that package is not marked as Pending/Rejected any more
19323
    UPDATE package_versions
19324
       SET DLOCKED  = 'N'
19325
     WHERE PV_ID  = PvId
19326
       AND DLOCKED != 'Y';
1373 dpurdie 19327
 
3959 dpurdie 19328
	-- Delete from Work In Progress
19329
	DELETE
19330
	  FROM WORK_IN_PROGRESS wip
19331
	 WHERE wip.RTAG_ID = RtagId
19332
	   AND wip.PV_ID = PvId;
1373 dpurdie 19333
 
3959 dpurdie 19334
	Log_Action ( PvId, 'delete_from_wip', UserId, 'Location: '|| ReleaseLocation );
1373 dpurdie 19335
 
3959 dpurdie 19336
 
19337
 
19338
 
1373 dpurdie 19339
END;
19340
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 19341
PROCEDURE REMOVE_PACKAGE_BULK ( PvIdList IN VARCHAR2, RtagId IN NUMBER, UserId IN NUMBER ) IS
1373 dpurdie 19342
 
3959 dpurdie 19343
	nIdCollector RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
19344
	ReleaseLocation VARCHAR2(4000);
19345
	PvId NUMBER;
1373 dpurdie 19346
 
19347
BEGIN
3959 dpurdie 19348
 
1373 dpurdie 19349
	/*--------------- Business Rules Here -------------------*/
3959 dpurdie 19350
	IF (PvIdList IS NULL)
19351
	THEN
19352
		RAISE_APPLICATION_ERROR (-20000, 'Please select at least one package.' );
19353
	END IF;
1373 dpurdie 19354
	/*-------------------------------------------------------*/
19355
 
19356
 
3959 dpurdie 19357
	nIdCollector := IN_LIST_NUMBER ( PvIdList );
1373 dpurdie 19358
 
19359
 
3959 dpurdie 19360
	-- Get release location for logging pusposes
19361
	SELECT proj.PROJ_NAME  ||' / '|| rt.RTAG_NAME INTO ReleaseLocation
19362
	  FROM PROJECTS proj,
19363
	  	   RELEASE_TAGS rt
19364
	 WHERE rt.PROJ_ID = proj.PROJ_ID
19365
	   AND rt.RTAG_ID = RtagId;
1373 dpurdie 19366
 
3959 dpurdie 19367
 
19368
	FOR i IN 1..nIdCollector.COUNT
19369
	LOOP
19370
		PvId := nIdCollector(i);
19371
 
19372
		-- Delete from Work In Progress
19373
		DELETE
19374
		  FROM WORK_IN_PROGRESS wip
19375
		 WHERE wip.RTAG_ID = RtagId
19376
		   AND wip.PV_ID = PvId;
19377
 
19378
		Log_Action ( PvId, 'remove_from_work_in_progress', UserId, 'Location: '|| ReleaseLocation );
19379
 
19380
	END LOOP;
19381
 
19382
 
1373 dpurdie 19383
END;
19384
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 19385
FUNCTION GET_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER ) RETURN NUMBER IS
19386
 
19387
	ReturnValue NUMBER;
19388
 
1373 dpurdie 19389
BEGIN
3959 dpurdie 19390
	SELECT wip.VIEW_ID INTO ReturnValue
19391
	  FROM WORK_IN_PROGRESS wip
19392
	 WHERE wip.RTAG_ID = RtagId
19393
	   AND wip.PV_ID = PvId;
1373 dpurdie 19394
 
3959 dpurdie 19395
	RETURN ReturnValue;
1373 dpurdie 19396
END;
19397
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 19398
PROCEDURE GET_VIEW_CONTENT ( RtagId IN NUMBER, ViewId IN NUMBER, RecordSet OUT typeCur ) IS
19399
 
19400
	IsBaseView CHAR(1);
6031 dpurdie 19401
 
1373 dpurdie 19402
BEGIN
19403
 
3959 dpurdie 19404
	-- Check if the view is BASE VIEW
19405
	SELECT vi.BASE_VIEW INTO IsBaseView
19406
	  FROM VIEWS vi
19407
	 WHERE vi.VIEW_ID = ViewId;
6031 dpurdie 19408
 
19409
	IF (IsBaseView IN ('Y', 'S')) THEN
3959 dpurdie 19410
		-- Get Base view content
19411
		OPEN RecordSet FOR
19412
		SELECT 0 AS PKG_STATE,
19413
			   NULL AS DEPRECATED_STATE,
6031 dpurdie 19414
			   pv.pv_id,
19415
			   pkg.pkg_name,
19416
			   pv.pkg_version,
19417
			   pv.dlocked,
3959 dpurdie 19418
			   pv.pv_description,
19419
			   pv.BUILD_TYPE
19420
		  FROM WORK_IN_PROGRESS rel,
19421
		       packages pkg,
19422
		       package_versions pv
19423
		 WHERE pv.pkg_id = pkg.pkg_id
19424
		   AND rel.pv_id = pv.pv_id
19425
		   AND rel.VIEW_ID = ViewId
19426
		   AND rel.RTAG_ID = RtagId
19427
		 ORDER BY UPPER(pkg.PKG_NAME);
1373 dpurdie 19428
 
6031 dpurdie 19429
 
19430
	ELSE
19431
 
3959 dpurdie 19432
	 	-- Get non base view content
19433
		OPEN RecordSet FOR
19434
		SELECT 0 AS PKG_STATE,
19435
			   NULL AS DEPRECATED_STATE,
6031 dpurdie 19436
			   pv.pv_id,
19437
			   pkg.pkg_name,
19438
			   pv.pkg_version,
19439
			   pv.dlocked,
3959 dpurdie 19440
			   pv.pv_description,
19441
			   pv.BUILD_TYPE
19442
		  FROM WORK_IN_PROGRESS rel,
19443
		       packages pkg,
19444
		       package_versions pv,
19445
			   VIEW_DEF vd
19446
		 WHERE pv.pkg_id = pkg.pkg_id
19447
		   AND rel.pv_id = pv.pv_id
19448
		   AND vd.VIEW_ID = ViewId
19449
		   AND vd.PKG_ID = pv.PKG_ID
19450
		   AND rel.RTAG_ID = RtagId
19451
		 ORDER BY UPPER(pkg.PKG_NAME);
19452
 
6031 dpurdie 19453
 
19454
	END IF;
19455
 
19456
 
1373 dpurdie 19457
END;
19458
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 19459
PROCEDURE CHANGE_PACKAGE_VIEW ( PvId IN NUMBER, RtagId IN NUMBER, NewViewId IN NUMBER ) IS
6031 dpurdie 19460
 
1373 dpurdie 19461
BEGIN
6031 dpurdie 19462
 
3959 dpurdie 19463
	UPDATE WORK_IN_PROGRESS wip SET
19464
	wip.VIEW_ID = NewViewId
19465
	WHERE wip.PV_ID = PvId
19466
	  AND wip.RTAG_ID = RtagId;
6031 dpurdie 19467
 
1373 dpurdie 19468
END;
19469
/*-------------------------------------------------------------------------------------------------------*/
3959 dpurdie 19470
END PK_WORK_IN_PROGRESS;
4040 dpurdie 19471
 
6999 dpurdie 19472
/
4040 dpurdie 19473
--------------------------------------------------------
19474
--  DDL for Package Body RM_ISSUES
19475
--------------------------------------------------------
19476
 
5172 dpurdie 19477
  CREATE OR REPLACE PACKAGE BODY "RELEASE_MANAGER"."RM_ISSUES" AS
1373 dpurdie 19478
 
3959 dpurdie 19479
-- Private Implementation -----------------------------------------------------
1373 dpurdie 19480
 
19481
 
3959 dpurdie 19482
	FUNCTION VerIsGrtrThanOrEqlToStart( XXstart IN NUMBER, XX IN NUMBER, YYstart IN NUMBER, YY IN NUMBER, ZZstart IN NUMBER, ZZ IN NUMBER ) RETURN NUMBER
19483
	AS
1373 dpurdie 19484
 
3959 dpurdie 19485
	BEGIN
19486
		-- start boundary case
19487
		IF ( XXstart < XX ) THEN
19488
			RETURN 1;
1373 dpurdie 19489
 
3959 dpurdie 19490
		ELSIF ( XXstart = XX ) THEN
1373 dpurdie 19491
 
3959 dpurdie 19492
			-- need to consider YY
19493
			IF ( YYstart < YY ) THEN
19494
				RETURN 1;
1373 dpurdie 19495
 
3959 dpurdie 19496
			ELSIF ( YYstart = YY ) THEN
1373 dpurdie 19497
 
3959 dpurdie 19498
					-- need to consider ZZ
19499
					IF ( ZZstart <= ZZ ) THEN
19500
						RETURN 1;
19501
 
19502
					ELSE
19503
						RETURN 0;
19504
					END IF;
19505
 
19506
			ELSE
19507
				RETURN 0;
19508
			END IF;
19509
		ELSE
19510
			RETURN 0;
19511
		END IF;
19512
	EXCEPTION
19513
		WHEN OTHERS THEN
19514
			RETURN -1;
19515
	END;
19516
 
19517
 
19518
	FUNCTION VerIsLessThanOrEqlToEnd( XXend IN NUMBER, XX IN NUMBER, YYend IN NUMBER, YY IN NUMBER, ZZend IN NUMBER, ZZ IN NUMBER ) RETURN NUMBER
19519
	AS
19520
 
19521
	BEGIN
19522
		-- end boundary case
19523
		IF ( XX < XXend ) THEN
19524
			RETURN 1;
19525
 
19526
		ELSIF ( XX = XXend ) THEN
19527
 
19528
			-- need to consider YY
19529
			IF ( YY < YYend ) THEN
19530
				RETURN 1;
19531
 
19532
			ELSIF ( YY = YYend ) THEN
19533
 
19534
					-- need to consider ZZ
19535
					IF ( ZZ <= ZZend ) THEN
19536
						RETURN 1;
19537
 
19538
					ELSE
19539
						RETURN 0;
19540
					END IF;
19541
			ELSE
19542
 
19543
				RETURN 0;
19544
			END IF;
19545
		ELSE
19546
			RETURN 0;
19547
		END IF;
19548
	EXCEPTION
19549
		WHEN OTHERS THEN
19550
			RETURN -1;
19551
	END;
19552
 
19553
	/*
19554
	-	version format:		XX.YY.ZZ.abc
19555
	*/
19556
	FUNCTION VersionIsBetween( version IN VARCHAR2, version_start IN VARCHAR2, version_end IN VARCHAR ) RETURN NUMBER
19557
	AS
19558
		XXstart		NUMBER	:=	0;
19559
		XXend		NUMBER	:=	0;
19560
		XX			NUMBER	:=	0;
19561
		YYstart		NUMBER	:=	0;
19562
		YYend		NUMBER	:=	0;
19563
		YY			NUMBER	:=	0;
19564
		ZZstart		NUMBER	:=	0;
19565
		ZZend		NUMBER	:=	0;
19566
		ZZ			NUMBER	:=	0;
19567
		first_dot	NUMBER	:=	0;
19568
		second_dot	NUMBER	:=	0;
19569
		third_dot	NUMBER	:=	0;
19570
 
19571
		ProjExtstart	VARCHAR2(10);
19572
		ProjExtend		VARCHAR2(10);
19573
		ProjExt			VARCHAR2(10);
19574
 
19575
	BEGIN
19576
		-- strip the version number
19577
		first_dot :=  INSTR(version_start, '.', 1, 1);
19578
		second_dot :=  INSTR(version_start, '.', 1, 2);
19579
		third_dot :=  INSTR(version_start, '.', 1, 3);
19580
 
19581
		XXstart := TO_NUMBER( SUBSTR( version_start, 1, first_dot - 1 ) );
19582
		YYstart := TO_NUMBER( SUBSTR( version_start, first_dot + 1, second_dot - ( first_dot + 1 ) ) );
19583
		ZZstart := TO_NUMBER( SUBSTR( version_start, second_dot + 1, third_dot - ( second_dot + 1 ) ) );
19584
		ProjExtstart := SUBSTR( version_start, third_dot + 1, LENGTH(version_start) - third_dot );
19585
 
19586
		first_dot :=  INSTR(version_end, '.', 1, 1);
19587
		second_dot :=  INSTR(version_end, '.', 1, 2);
19588
		third_dot :=  INSTR(version_end, '.', 1, 3);
19589
 
19590
		XXend := TO_NUMBER( SUBSTR( version_end, 1, first_dot - 1 ) );
19591
		YYend := TO_NUMBER( SUBSTR( version_end, first_dot + 1, second_dot - ( first_dot + 1 ) ) );
19592
		ZZend := TO_NUMBER( SUBSTR( version_end, second_dot + 1, third_dot - ( second_dot + 1 ) ) );
19593
		ProjExtend := SUBSTR( version_end, third_dot + 1, LENGTH(version_end) - third_dot );
19594
 
19595
		first_dot :=  INSTR(version, '.', 1, 1);
19596
		second_dot :=  INSTR(version, '.', 1, 2);
19597
		third_dot :=  INSTR(version, '.', 1, 3);
19598
 
19599
		XX := TO_NUMBER( SUBSTR( version, 1, first_dot - 1 ) );
19600
		YY := TO_NUMBER( SUBSTR( version, first_dot + 1, second_dot - ( first_dot + 1 ) ) );
19601
		ZZ := TO_NUMBER( SUBSTR( version, second_dot + 1, third_dot - ( second_dot + 1 ) ) );
19602
		ProjExt := SUBSTR( version, third_dot + 1, LENGTH(version) - third_dot );
19603
 
19604
		-- only include versions if all project extensions are the same
19605
		IF ( ProjExtstart = ProjExt AND ProjExt = ProjExtend ) THEN
19606
 
19607
			IF ( VerIsGrtrThanOrEqlToStart( XXstart, XX, YYstart, YY, ZZstart, ZZ ) = 1 AND VerIsLessThanOrEqlToEnd( XXend, XX, YYend, YY, ZZend, ZZ ) = 1 ) THEN
19608
				RETURN 1;
19609
			ELSE
19610
				RETURN 0;
19611
			END IF;
19612
		ELSE
19613
			RETURN 0;
19614
		END IF;
19615
 
19616
	EXCEPTION
19617
		WHEN OTHERS THEN
19618
			RETURN -1;
19619
	END;
19620
 
19621
	FUNCTION GetPkgId( pkgName IN VARCHAR2 ) RETURN NUMBER
19622
	AS
19623
	    pkg_id NUMBER;
19624
	BEGIN
19625
		SELECT
19626
			p.PKG_ID
19627
		INTO
19628
			pkg_id
19629
		FROM
19630
			PACKAGES p
19631
		WHERE
19632
			p.PKG_NAME = pkgName;
19633
 
19634
		RETURN pkg_id;
19635
	EXCEPTION
19636
	    WHEN OTHERS THEN
19637
			dbms_output.put_line('GetPkgId exception: ' || SQLERRM );
19638
			RETURN -1;
19639
	END;
19640
 
19641
 
19642
-- Public Implementation ------------------------------------------------------
19643
 
19644
	/*
19645
	-- Proc: AllIssues - Gets all issues for a package from dependent packages one level deep
19646
	--
19647
	-- INPUT PARAMETERS:
19648
	--
19649
	--		pkg_name  	-  	The name of the top level package to get issues for
19650
	--		version_start	-	The start version for the comparison
19651
	--		version_end	-	The end version for the comparison
19652
	*/
19653
	PROCEDURE AllIssues( vCursor OUT T_Cur, pkg_name IN VARCHAR2, version_start IN VARCHAR2, version_end IN VARCHAR2 )
19654
	AS
19655
		pkgId	NUMBER;
19656
	BEGIN
19657
		-- get pkg_id of the input package:
19658
		pkgId := GetPkgId( pkg_name );
19659
 
19660
		OPEN vCursor FOR
19661
		SELECT
19662
			  pv.PKG_ID,
19663
			  pv.PKG_VERSION,
19664
			  pv.PV_ID,
19665
			  i_pkg.ISS_ID,
19666
			  ( SELECT pkg_name FROM PACKAGES WHERE pkg_id = pd.DPKG_ID ) AS DPV_NAME,
19667
			  pd.DPKG_ID,
19668
			  ( SELECT pkg_version FROM PACKAGE_VERSIONS WHERE pv_id = pd.DPV_ID ) AS DPV_VER,
19669
			  pd.DPV_ID,
19670
			  i_dpkg.ISS_ID AS ISSUE_ID
19671
		FROM
19672
			 PACKAGE_VERSIONS pv
19673
							  LEFT OUTER JOIN CQ_ISSUES i_pkg ON pv.PV_ID = i_pkg.PV_ID
19674
							  LEFT OUTER JOIN PACKAGE_DEPENDENCIES pd ON pv.PV_ID = pd.PV_ID
19675
							  LEFT OUTER JOIN CQ_ISSUES i_dpkg ON pd.DPV_ID = i_dpkg.PV_ID
19676
		WHERE
19677
   			 pv.PKG_ID = pkgId
19678
		AND
19679
			VersionIsBetween( pv.PKG_VERSION, version_start, version_end ) = 1
19680
		AND
19681
			 ( i_dpkg.ISS_ID IS NOT NULL OR i_pkg.ISS_ID IS NOT NULL )
19682
		ORDER BY
19683
			 pv.PKG_ID,
19684
			 pv.PV_ID,
19685
			 pd.DPKG_ID,
19686
			 pd.DPV_ID;
19687
	EXCEPTION
19688
		WHEN OTHERS THEN
19689
			dbms_output.put_line('AllIssues exception: ' || SQLERRM );
19690
	END;
19691
 
19692
 
19693
	-- NOTE: make RM_PACKAGE_ISSUES a temporary table when tested ok
19694
 
19695
	/*
19696
	-- Proc: LoadIssuesTable
19697
	--
19698
	-- Populates Package_Issues table with details of issues from all dependent packages.
19699
	-- This will be for all package versions of the input pkg_name between the
19700
	-- version_start and version_end.
19701
	--
19702
	-- INPUT PARAMETERS:
19703
	--
19704
	--		pkg_name  	-  	The name of the top level package to get issues for
19705
	--		version_start	-	The start version for the comparison
19706
	--		version_end	-	The end version for the comparison
19707
	*/
19708
	PROCEDURE LoadIssuesTable( vCursor OUT T_Cur, pkg_name IN VARCHAR2, version_start IN VARCHAR2, version_end IN VARCHAR2 )
19709
	AS
19710
		pkgId	NUMBER;
19711
 
19712
		CURSOR pack_vers_cur IS
19713
			SELECT
19714
				pv.PV_ID,
19715
				pv.PKG_VERSION,
19716
				pv.PKG_ID,
19717
				p.PKG_NAME
19718
			FROM
19719
				PACKAGE_VERSIONS pv
19720
					JOIN PACKAGES p ON pv.PKG_ID = p.PKG_ID
19721
			WHERE
19722
   				 pv.PKG_ID = pkgId
19723
			AND
19724
				VersionIsBetween( pv.PKG_VERSION, version_start, version_end ) = 1;
19725
 
19726
	BEGIN
19727
		DELETE FROM RELEASE_MANAGER.RM_PKG_ISSUES; /*RM_PACKAGE_ISSUES replaced by RM_PKG_ISSUES*/
19728
 
19729
		-- get the pkg_id we are finding issues for
19730
		pkgId := GetPkgId( pkg_name );
19731
 
19732
		-- find all the top level packages we are dealing with and recursively process their issues and their dependent package issues.
19733
		FOR pack_ver_rec IN  pack_vers_cur
19734
		LOOP
19735
			InsertIssuesForDepends( pack_ver_rec.PV_ID, pack_ver_rec.PKG_ID, pack_ver_rec.PKG_NAME, pack_ver_rec.PV_ID, pack_ver_rec.PKG_VERSION );
19736
			COMMIT;
19737
		END LOOP;
19738
 
19739
		-- The output cursor - shows the individual versions of the top level package then were reported on
19740
		OPEN vCursor FOR
19741
		SELECT DISTINCT ISS_ID, PKG_VERSION FROM RM_PKG_ISSUES WHERE ISS_ID IS NOT NULL; /*RM_PACKAGE_ISSUES replaced by RM_PKG_ISSUES*/
19742
/*removed
19743
		SELECT
19744
			PKG_VERSION
19745
		FROM
19746
			RELEASE_MANAGER.RM_PACKAGE_ISSUES;
19747
*/
19748
 
19749
 
19750
	EXCEPTION
19751
		WHEN OTHERS THEN
19752
			dbms_output.put_line('LoadIssuesTable exception: ' || SQLERRM );
19753
	END;
19754
 
19755
 
19756
	/*
19757
	-- Proc: InsertIssuesForDepends
19758
	--
19759
	-- Used by LoadIssuesTable to recursively find issues for all dependent packages
19760
	--
19761
	-- INPUT PARAMETERS:
19762
	--
19763
	--		pvID  		-  	The package version id of the package to get issues for
19764
	--		top_pkgID	-  	The package id of the top level package to get issues for - should be the same as pvID when called from LoadIssuesTable (different when called recursively)
19765
	--		top_pkgName -  	The package name of the top level package
19766
	--		top_pvID  	-  	The package version id of the top level package
19767
	--		top_pkgVer  -  	The package version description of the top level package
19768
	*/
19769
	PROCEDURE InsertIssuesForDepends( pvID IN NUMBER, top_pkgID IN NUMBER, top_pkgName IN VARCHAR2, top_pvID IN NUMBER, top_pkgVer IN VARCHAR2 )
19770
	AS
19771
		pkgId		NUMBER;
19772
		issCnt		NUMBER := 0;
19773
		pkgCheck	NUMBER := 0;
19774
		depCheck	NUMBER := 0;
19775
 
19776
		dpkgName	VARCHAR(50);
19777
		dpkgVersion	VARCHAR(50);
19778
 
19779
		CURSOR dep_packs_cur IS
19780
			SELECT
19781
				DPV_ID
19782
			FROM
19783
				PACKAGE_DEPENDENCIES
19784
			WHERE
19785
				PV_ID = pvID;
19786
 
19787
	BEGIN
19788
 
19789
		-- check to see if the package has been processed previously
19790
		SELECT
19791
			COUNT(*)
19792
		INTO
19793
			pkgCheck
19794
		FROM
19795
			RM_PKG_ISSUES /*RM_PACKAGE_ISSUES replaced by RM_PKG_ISSUES*/
19796
		WHERE
19797
			DPV_ID = pvID;
19798
 
19799
		dbms_output.put_line('pkgCheck: ' || pkgCheck );
19800
 
19801
		-- Package not already processed (no cyclic dependency) - process it
19802
		IF ( pkgCheck = 0 ) THEN
19803
 
19804
			-- check to see if this package version has any issues assigned to it
19805
			SELECT
19806
				COUNT(*)
19807
			INTO
19808
				issCnt
19809
			FROM
19810
				CQ_ISSUES i
19811
			WHERE
19812
				i.PV_ID = pvID;
19813
 
19814
			dbms_output.put_line('issCnt: ' || issCnt );
19815
 
19816
			-- Always enter a marker row into the table even if there are no issues for the package.
19817
			-- This allows us to pick up any cyclic dependencies.
19818
			IF ( issCnt > 0 ) THEN
19819
				-- get issues and insert into RM_PACKAGE_ISSUES
19820
				/*RM_PACKAGE_ISSUES replaced by RM_PKG_ISSUES*/
19821
 
19822
				INSERT INTO RM_PKG_ISSUES ( PKG_ID, PKG_NAME, PV_ID, PKG_VERSION, DPV_ID, DPKG_NAME, DPKG_VERSION, ISS_DB, ISS_ID )
19823
					SELECT DISTINCT
19824
						top_pkgID		AS PKG_ID,
19825
						top_pkgName		AS PKG_NAME,
19826
						top_pvID		AS PV_ID,
19827
						top_pkgVer		AS PKG_VERSION,
19828
						pv.PV_ID		AS DPV_ID,
19829
						p.PKG_NAME		AS DPKG_NAME,
19830
						pv.PKG_VERSION	AS DPKG_VERSION,
19831
						ci.ISS_DB,
19832
						ci.ISS_ID
19833
					FROM
19834
						PACKAGE_VERSIONS pv
19835
							JOIN PACKAGES p ON pv.PKG_ID = p.PKG_ID
19836
							JOIN CQ_ISSUES ci ON pv.PV_ID = ci.PV_ID
19837
					WHERE
19838
						pv.PV_ID = pvID;
19839
 
19840
			ELSE
19841
				-- get the dpkg details - there will always be a row returned here
19842
				SELECT
19843
					p.PKG_NAME
19844
				INTO
19845
					dpkgName
19846
				FROM
19847
					PACKAGE_VERSIONS pv
19848
						JOIN PACKAGES p ON pv.PKG_ID = p.PKG_ID
19849
				WHERE
19850
	   				 pv.PV_ID = pvID;
19851
 
19852
				SELECT
19853
					pv.PKG_VERSION
19854
				INTO
19855
					dpkgVersion
19856
				FROM
19857
					PACKAGE_VERSIONS pv
19858
				WHERE
19859
	   				 pv.PV_ID = pvID;
19860
 
19861
				-- enter a marker row
19862
				/*RM_PACKAGE_ISSUES replaced by RM_PKG_ISSUES*/
19863
				INSERT INTO RM_PKG_ISSUES ( PKG_ID, PKG_NAME, PV_ID, PKG_VERSION, DPV_ID, DPKG_NAME, DPKG_VERSION, ISS_DB, ISS_ID )
19864
				VALUES (
19865
					top_pkgID,
19866
					top_pkgName,
19867
					top_pvID,
19868
					top_pkgVer,
19869
					pvID,
19870
					dpkgName,
19871
					dpkgVersion,
19872
					NULL,
19873
					NULL );
19874
 
19875
			END IF;
19876
 
19877
			-- If this package version has dependencies then recurse
19878
			SELECT
19879
				COUNT(*)
19880
			INTO
19881
				depCheck
19882
			FROM
19883
				PACKAGE_DEPENDENCIES
19884
			WHERE
19885
				PV_ID = pvID;
19886
 
19887
			IF ( depCheck > 0 ) THEN
19888
				-- get dependencies and call this function recursively for each one
19889
				FOR dep_rec IN  dep_packs_cur
19890
				LOOP
19891
					InsertIssuesForDepends( dep_rec.DPV_ID, top_pkgID, top_pkgName, top_pvID, top_pkgVer );
19892
				END LOOP;
19893
 
19894
			END IF;
19895
 
19896
		END IF;
19897
 
19898
	/*EXCEPTION
19899
		WHEN OTHERS THEN
19900
			no exception handling required
19901
	*/
19902
	END;
19903
 
19904
END Rm_Issues;
4040 dpurdie 19905
 
6999 dpurdie 19906
/
4040 dpurdie 19907
--------------------------------------------------------
6999 dpurdie 19908
--  DDL for Function CAN_EDIT_PKG_IN_PROJECT
4040 dpurdie 19909
--------------------------------------------------------
19910
 
6999 dpurdie 19911
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."CAN_EDIT_PKG_IN_PROJECT" ( nPvId IN NUMBER, nRtagId IN NUMBER ) RETURN NUMBER IS
19912
-- Returns 0 : Package is not editable in this Release
19913
--         1 : Package is editable in this release
3959 dpurdie 19914
/* ---------------------------------------------------------------------------
19915
    Version: 3.0.0
19916
   --------------------------------------------------------------------------- */
1373 dpurdie 19917
 
6999 dpurdie 19918
  VExt PACKAGE_VERSIONS.V_EXT%TYPE;
19919
  ProjId NUMBER;
19920
  RowCount NUMBER;
19921
  cReleaseMode CHAR(1);
1373 dpurdie 19922
 
19923
BEGIN
19924
 
6999 dpurdie 19925
  /*--------------- Business Rules Here -------------------*/
19926
  IF (nRtagId IS NULL)  OR  (nRtagId < 1)THEN
19927
    RETURN 0;
19928
  END IF;
19929
  /*-------------------------------------------------------*/
1373 dpurdie 19930
 
6999 dpurdie 19931
  /*-- First Check. See if package is used through release reference --*/
19932
  SELECT COUNT(rc.PV_ID) INTO RowCount
19933
    FROM (
19934
        SELECT rl.REF_RTAG_ID
19935
        FROM RELEASE_LINKS rl
19936
       WHERE rl.RTAG_ID = nRtagId
19937
        ) rl,
19938
      RELEASE_CONTENT rc
19939
    WHERE rc.RTAG_ID = rl.REF_RTAG_ID
19940
      AND rc.PV_ID = nPvId;
1373 dpurdie 19941
 
6999 dpurdie 19942
  -- Decide if package can be edited
19943
  IF RowCount > 0 THEN
19944
    -- Package is referenced from other release, hence cannot be edited
19945
    RETURN 0;
19946
  END IF;
3959 dpurdie 19947
 
6999 dpurdie 19948
-- Check if the package is included through an SDK reference
19949
  SELECT count(*) INTO RowCount
19950
    FROM RELEASE_CONTENT rc
19951
   WHERE rc.RTAG_ID = nRtagId
19952
      AND rc.PV_ID = nPvId
19953
      AND rc.SDKTAG_ID is not NULL ;
3959 dpurdie 19954
 
6999 dpurdie 19955
  IF RowCount > 0 THEN
19956
    -- Package is imported via SDK
19957
    RETURN 0;
19958
  END IF;
4040 dpurdie 19959
 
6999 dpurdie 19960
--  Pegged packages can be edited. Other checking needs to be done
19961
--  -- Check if the package is pegged
19962
--  SELECT count(*) INTO RowCount
19963
--    FROM pegged_versions
19964
--   WHERE RTAG_ID = nRtagId
19965
--      AND PV_ID = nPvId;
4040 dpurdie 19966
 
6999 dpurdie 19967
--  IF RowCount > 0 THEN
19968
--    -- Package is Pegged
19969
--    RETURN 0;
19970
--  END IF;
6031 dpurdie 19971
 
6999 dpurdie 19972
  -- Check is only done for releases in restrictive mode
19973
  SELECT rt.OFFICIAL INTO cReleaseMode
19974
    FROM RELEASE_TAGS rt
19975
   WHERE rt.RTAG_ID = nRtagId;
4040 dpurdie 19976
 
6999 dpurdie 19977
  IF cReleaseMode = 'N' OR cReleaseMode = 'R'  OR cReleaseMode = 'C' THEN
19978
    -- Do not do any further checking,
19979
    -- Package is editable here
19980
    RETURN 1;
19981
  END IF;
4040 dpurdie 19982
 
1373 dpurdie 19983
 
6999 dpurdie 19984
  /*-- Further checking --*/
19985
  -- Get proj_id
19986
  SELECT rt.PROJ_ID  INTO  ProjId
19987
    FROM RELEASE_TAGS rt
19988
   WHERE rt.RTAG_ID = nRtagId;
3959 dpurdie 19989
 
6999 dpurdie 19990
  BEGIN
19991
    -- Get v_ext
19992
    SELECT pv.V_EXT  INTO  Vext
19993
      FROM PACKAGE_VERSIONS pv
19994
     WHERE pv.PV_ID = nPvId;
3959 dpurdie 19995
 
6999 dpurdie 19996
    EXCEPTION
19997
        WHEN NO_DATA_FOUND THEN
19998
            Vext := NULL;
19999
  END;
1373 dpurdie 20000
 
6999 dpurdie 20001
  --Temp Hack for Step Project
20002
  IF ProjId != 281 THEN
20003
    -- Find if package can be edited in this project
20004
      SELECT COUNT(pe.EXT_NAME) INTO RowCount
20005
      FROM PROJECT_EXTENTIONS pe
20006
      WHERE pe.PROJ_ID != ProjId
20007
        AND pe.EXT_NAME = VExt;
20008
  END IF;
1373 dpurdie 20009
 
6999 dpurdie 20010
  -- Decide if package can be edited
20011
  IF RowCount > 0 THEN
20012
    -- Package extension is found in other projects, hence NOT EDITABLE
20013
    RETURN 0;
20014
  ELSE
20015
    RETURN 1;
20016
  END IF;
1373 dpurdie 20017
 
20018
 
6999 dpurdie 20019
END CAN_EDIT_PKG_IN_PROJECT;
3959 dpurdie 20020
 
6999 dpurdie 20021
/
20022
--------------------------------------------------------
20023
--  DDL for Function DT_ADDUSEROBJECT
20024
--------------------------------------------------------
3959 dpurdie 20025
 
6999 dpurdie 20026
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."DT_ADDUSEROBJECT" RETURN NUMBER IS NEWOBJECTID NUMBER; BEGIN /* GET THE NEXT VALUE FROM THE SEQUENCE FOR THE OBJECT ID */ SELECT MICROSOFTSEQDTPROPERTIES.NEXTVAL INTO NEWOBJECTID FROM DUAL; /* ADD THE PARENT NODE FOR THE NEW OBJECT */ INSERT INTO MICROSOFTDTPROPERTIES ( ID, OBJECTID, PROPERTY ) VALUES ( NEWOBJECTID, NEWOBJECTID, 'DtgSchemaOBJECT' ); RETURN( NEWOBJECTID ); END DT_ADDUSEROBJECT;
3959 dpurdie 20027
 
6999 dpurdie 20028
/
4040 dpurdie 20029
--------------------------------------------------------
6999 dpurdie 20030
--  DDL for Function GET_AUTOMATED_LABEL
4040 dpurdie 20031
--------------------------------------------------------
20032
 
6999 dpurdie 20033
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."GET_AUTOMATED_LABEL" ( nPvId IN NUMBER ) RETURN VARCHAR2 IS
3959 dpurdie 20034
 
6999 dpurdie 20035
/* ---------------------------------------------------------------------------
20036
    Version: 3.0.0
20037
   --------------------------------------------------------------------------- */
3959 dpurdie 20038
 
6999 dpurdie 20039
  sPkgName VARCHAR2(4000);
20040
  sPkgVersion VARCHAR2(4000);
20041
  sVext VARCHAR2(4000);
20042
  cChangeType CHAR;
20043
  cBuildType CHAR;
3959 dpurdie 20044
 
20045
 
20046
BEGIN
20047
 
6999 dpurdie 20048
	-- Get package details
20049
	SELECT pkg.PKG_NAME, pv.V_EXT, pv.build_type, pv.change_type, pv.pkg_version INTO sPkgName, sVext,cBuildType, cChangeType, sPkgVersion
20050
	  FROM PACKAGE_VERSIONS pv,
20051
	  	   PACKAGES pkg
20052
	 WHERE pv.PKG_ID = pkg.PKG_ID
20053
	   AND pv.PV_ID = nPvId;
6031 dpurdie 20054
 
6999 dpurdie 20055
  -- Generate Label for manually built package
20056
  If cBuildType = 'M' Then
20057
    return (sPkgName ||'_'|| sPkgVersion );
20058
  End If;
6031 dpurdie 20059
 
6999 dpurdie 20060
  -- Generate Label for automated build with specified package version
20061
  IF cchangetype = 'F' Then
20062
    return (sPkgName ||'_'|| sPkgVersion ||'.WIP');
20063
  End If;
6031 dpurdie 20064
 
6999 dpurdie 20065
	-- Generate Label for automated build
20066
	RETURN UPPER( sPkgName ||'.'|| nPvId || sVext ||'.WIP' );
6031 dpurdie 20067
 
6999 dpurdie 20068
END GET_AUTOMATED_LABEL;
6031 dpurdie 20069
 
6999 dpurdie 20070
/
4040 dpurdie 20071
--------------------------------------------------------
6999 dpurdie 20072
--  DDL for Function GET_BUILD_NUMBER
4040 dpurdie 20073
--------------------------------------------------------
20074
 
6999 dpurdie 20075
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."GET_BUILD_NUMBER" (s_version IN VARCHAR2) RETURN VARCHAR2
20076
IS
20077
/* ---------------------------------------------------------------------------
20078
    Version: 1.0.0
20079
   --------------------------------------------------------------------------- */
1373 dpurdie 20080
BEGIN
6999 dpurdie 20081
    IF is_number(s_version) AND LENGTH(s_version) > 3
20082
    THEN
20083
        RETURN MOD(TO_NUMBER(s_version), 1000);
20084
    ELSE
20085
        RETURN 0;
20086
    END IF;
20087
END get_build_number;
1373 dpurdie 20088
 
6999 dpurdie 20089
/
20090
--------------------------------------------------------
20091
--  DDL for Function GET_PATCH_VERSION
20092
--------------------------------------------------------
1373 dpurdie 20093
 
6999 dpurdie 20094
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."GET_PATCH_VERSION" (s_version IN VARCHAR2) RETURN VARCHAR2
20095
IS
20096
/* ---------------------------------------------------------------------------
20097
    Version: 1.0.0
20098
   --------------------------------------------------------------------------- */
20099
BEGIN
20100
    IF is_number(s_version) AND LENGTH(s_version) > 3
20101
    THEN
20102
        RETURN FLOOR(TO_NUMBER(s_version) / 1000);
20103
    ELSE
20104
        RETURN s_version;
20105
    END IF;
20106
END get_patch_version;
1373 dpurdie 20107
 
6999 dpurdie 20108
/
20109
--------------------------------------------------------
20110
--  DDL for Function GET_PV_FIRST_MODIFIED
20111
--------------------------------------------------------
1373 dpurdie 20112
 
6999 dpurdie 20113
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."GET_PV_FIRST_MODIFIED" (v_pv_id NUMBER) RETURN DATE IS
20114
  ret DATE;
20115
BEGIN
20116
  SELECT q.modified_stamp
20117
    INTO ret
20118
    FROM (
20119
            SELECT level AS lvl, pvc.pv_id, pvc.modified_stamp, pvc.change_type
20120
              FROM package_versions pvc
20121
              START WITH pvc.pv_id = v_pv_id
20122
            CONNECT BY NOCYCLE pvc.pv_id = PRIOR pvc.last_pv_id
20123
          ) Q
20124
  WHERE q.change_type IS NOT NULL
20125
    AND rownum = 1
20126
  ORDER BY q.lvl;
1373 dpurdie 20127
 
6999 dpurdie 20128
  RETURN ret;
20129
END;
1373 dpurdie 20130
 
6999 dpurdie 20131
/
1373 dpurdie 20132
 
6999 dpurdie 20133
  GRANT EXECUTE ON "RELEASE_MANAGER"."GET_PV_FIRST_MODIFIED" TO "RM_READONLY";
20134
  GRANT EXECUTE ON "RELEASE_MANAGER"."GET_PV_FIRST_MODIFIED" TO "DM_READONLY";
20135
  GRANT EXECUTE ON "RELEASE_MANAGER"."GET_PV_FIRST_MODIFIED" TO "DEPLOYMENT_MANAGER";
20136
--------------------------------------------------------
20137
--  DDL for Function GET_V_EXT
20138
--------------------------------------------------------
1373 dpurdie 20139
 
6999 dpurdie 20140
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."GET_V_EXT" (SSpkg_version IN PACKAGE_VERSIONS.pkg_version%TYPE) RETURN VARCHAR2 IS
1373 dpurdie 20141
 
6999 dpurdie 20142
/* ---------------------------------------------------------------------------
20143
    Version: 3.0.0
20144
   --------------------------------------------------------------------------- */
6031 dpurdie 20145
 
6999 dpurdie 20146
    SSV_EXT PACKAGE_VERSIONS.V_EXT%TYPE;
20147
    lastDot NUMBER;
6031 dpurdie 20148
 
6999 dpurdie 20149
BEGIN
20150
    lastDot := INSTR (SSpkg_version, '.', -1);
6031 dpurdie 20151
 
6999 dpurdie 20152
    IF ( lastDot > 0 ) AND ( lastDot != LENGTH(SSpkg_version) )
20153
    THEN
20154
        -- YES dot separator found --
20155
        SSV_EXT := SUBSTR (SSpkg_version, lastDot, LENGTH(SSpkg_version)-lastDot+1);
1373 dpurdie 20156
 
6999 dpurdie 20157
        IF IS_VERSION_EXTENSION ( SSV_EXT )
20158
        THEN
20159
            RETURN SSV_EXT;
20160
        ELSE
20161
            RETURN NULL;
20162
        END IF;
1373 dpurdie 20163
 
6999 dpurdie 20164
    ELSE
20165
        -- NO dot separator found --
20166
        RETURN NULL;
20167
    END IF;
1373 dpurdie 20168
 
6999 dpurdie 20169
END GET_V_EXT;
1373 dpurdie 20170
 
6999 dpurdie 20171
/
4040 dpurdie 20172
--------------------------------------------------------
6999 dpurdie 20173
--  DDL for Function IN_LIST_NUMBER
4040 dpurdie 20174
--------------------------------------------------------
20175
 
6999 dpurdie 20176
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."IN_LIST_NUMBER" ( sInList IN VARCHAR2 ) RETURN RELMGR_NUMBER_TAB_t IS
3959 dpurdie 20177
 
1373 dpurdie 20178
/* ---------------------------------------------------------------------------
3959 dpurdie 20179
    Version: 3.0.0
1373 dpurdie 20180
   --------------------------------------------------------------------------- */
6031 dpurdie 20181
 
6999 dpurdie 20182
    sync_rtags		   RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
20183
	pos				   NUMBER;
20184
	in_list			   VARCHAR2(4000) := sInList || ',';
20185
 
3959 dpurdie 20186
BEGIN
6031 dpurdie 20187
 
6999 dpurdie 20188
	IF NOT sInList IS NULL
3959 dpurdie 20189
	THEN
6999 dpurdie 20190
		LOOP
20191
	        EXIT WHEN in_list IS NULL;
20192
	        pos := INSTR ( in_list, ',' );
20193
	        sync_rtags.extend;
20194
	        sync_rtags(sync_rtags.count) := LTRIM ( RTRIM ( SUBSTR ( in_list, 1, pos-1 ) ) );
20195
	        in_list := SUBSTR ( in_list, pos+1 );
20196
		END LOOP;
6031 dpurdie 20197
	END IF;
20198
 
6999 dpurdie 20199
	RETURN sync_rtags;
20200
END IN_LIST_NUMBER;
6031 dpurdie 20201
 
6999 dpurdie 20202
/
4040 dpurdie 20203
--------------------------------------------------------
6999 dpurdie 20204
--  DDL for Function IN_LIST_NUMBER2
4040 dpurdie 20205
--------------------------------------------------------
20206
 
6999 dpurdie 20207
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."IN_LIST_NUMBER2" ( sInList IN VARCHAR2 ) RETURN RELMGR_NUMBER_TAB_t IS
20208
 
3959 dpurdie 20209
/* ---------------------------------------------------------------------------
6999 dpurdie 20210
    Version: 3.0.0
3959 dpurdie 20211
   --------------------------------------------------------------------------- */
1373 dpurdie 20212
 
6999 dpurdie 20213
    sync_rtags		   RELMGR_NUMBER_TAB_t := RELMGR_NUMBER_TAB_t();
20214
	pos				   NUMBER;
20215
	in_list			   VARCHAR2(32767) := sInList || ',';
20216
 
1373 dpurdie 20217
BEGIN
20218
 
6999 dpurdie 20219
	IF NOT sInList IS NULL
20220
	THEN
20221
		LOOP
20222
	        EXIT WHEN in_list IS NULL;
20223
	        pos := INSTR ( in_list, ',' );
20224
	        sync_rtags.extend;
20225
	        sync_rtags(sync_rtags.count) := LTRIM ( RTRIM ( SUBSTR ( in_list, 1, pos-1 ) ) );
20226
	        in_list := SUBSTR ( in_list, pos+1 );
20227
		END LOOP;
20228
	END IF;
1373 dpurdie 20229
 
6999 dpurdie 20230
	RETURN sync_rtags;
20231
END IN_LIST_NUMBER2;
4040 dpurdie 20232
 
6999 dpurdie 20233
/
4040 dpurdie 20234
--------------------------------------------------------
6999 dpurdie 20235
--  DDL for Function IN_LIST_VARCHAR2
4040 dpurdie 20236
--------------------------------------------------------
20237
 
6999 dpurdie 20238
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."IN_LIST_VARCHAR2" ( sInList IN VARCHAR2, cSeparator IN VARCHAR2 ) RETURN RELMGR_VARCHAR2_TAB_t IS
20239
 
3959 dpurdie 20240
/* ---------------------------------------------------------------------------
6999 dpurdie 20241
    Version: 3.1
3959 dpurdie 20242
   --------------------------------------------------------------------------- */
1373 dpurdie 20243
 
6999 dpurdie 20244
    cItemCollection	   RELMGR_VARCHAR2_TAB_t := RELMGR_VARCHAR2_TAB_t();
20245
	pos				   NUMBER;
20246
	in_list			   VARCHAR2(4000) := sInList || cSeparator;
20247
	val				   VARCHAR2(4000);
1373 dpurdie 20248
 
20249
BEGIN
20250
 
6999 dpurdie 20251
	IF NOT sInList IS NULL
20252
	THEN
20253
		LOOP
20254
	        EXIT WHEN in_list IS NULL;
20255
	        pos := INSTR ( in_list, cSeparator );
20256
			val := LTRIM ( RTRIM ( SUBSTR ( in_list, 1, pos-1 ) ) );
6031 dpurdie 20257
 
6999 dpurdie 20258
			IF (NOT val IS NULL) THEN
20259
		        cItemCollection.extend;
20260
		        cItemCollection(cItemCollection.count) := val;
20261
			END IF;
6031 dpurdie 20262
 
6999 dpurdie 20263
	        in_list := SUBSTR ( in_list, pos+1 );
20264
		END LOOP;
3959 dpurdie 20265
	END IF;
6031 dpurdie 20266
 
6999 dpurdie 20267
	RETURN cItemCollection;
20268
END IN_LIST_VARCHAR2;
6031 dpurdie 20269
 
6999 dpurdie 20270
/
4040 dpurdie 20271
--------------------------------------------------------
6999 dpurdie 20272
--  DDL for Function IS_NUMBER
4040 dpurdie 20273
--------------------------------------------------------
20274
 
6999 dpurdie 20275
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."IS_NUMBER" (p_val IN VARCHAR2) RETURN BOOLEAN
1373 dpurdie 20276
IS
6999 dpurdie 20277
   temp_num NUMBER;
1373 dpurdie 20278
/* ---------------------------------------------------------------------------
6999 dpurdie 20279
    Version: 1.0.0
1373 dpurdie 20280
   --------------------------------------------------------------------------- */
20281
BEGIN
6999 dpurdie 20282
   temp_num := TO_NUMBER(p_val);
20283
   RETURN true;
20284
EXCEPTION WHEN VALUE_ERROR THEN
20285
   RETURN false;
20286
END IS_NUMBER;
3959 dpurdie 20287
 
6999 dpurdie 20288
/
4040 dpurdie 20289
--------------------------------------------------------
6999 dpurdie 20290
--  DDL for Function IS_VERSION_EXTENSION
4040 dpurdie 20291
--------------------------------------------------------
20292
 
6999 dpurdie 20293
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."IS_VERSION_EXTENSION" (SSV_EXT PACKAGE_VERSIONS.V_EXT%TYPE) RETURN BOOLEAN
3959 dpurdie 20294
IS
6999 dpurdie 20295
/* ---------------------------------------------------------------------------
20296
    Version: 3.0.0
20297
   --------------------------------------------------------------------------- */
1373 dpurdie 20298
 
6999 dpurdie 20299
BEGIN
20300
    IF LENGTH ( TRIM (TRANSLATE (SSV_EXT, '.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',' ') ) ) > 0
20301
    THEN
20302
        RETURN FALSE;
20303
    ELSE
20304
        RETURN TRUE;
20305
    END IF;
1373 dpurdie 20306
 
6999 dpurdie 20307
END IS_VERSION_EXTENSION;
3959 dpurdie 20308
 
6999 dpurdie 20309
/
4040 dpurdie 20310
--------------------------------------------------------
6999 dpurdie 20311
--  DDL for Function ORA_SYSDATE
4040 dpurdie 20312
--------------------------------------------------------
20313
 
6999 dpurdie 20314
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."ORA_SYSDATE" 
20315
RETURN DATE
3959 dpurdie 20316
IS
6999 dpurdie 20317
/* ---------------------------------------------------------------------------
20318
    Version: 3.0.0
20319
   --------------------------------------------------------------------------- */
20320
BEGIN
1373 dpurdie 20321
 
6999 dpurdie 20322
    RETURN TO_DATE( TO_CHAR( SYSDATE,'DD-MON-YYYY' ),'DD-MON-YYYY' );
20323
END ORA_SYSDATE;
3959 dpurdie 20324
 
6999 dpurdie 20325
/
4040 dpurdie 20326
--------------------------------------------------------
6999 dpurdie 20327
--  DDL for Function ORA_SYSDATETIME
4040 dpurdie 20328
--------------------------------------------------------
20329
 
6999 dpurdie 20330
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."ORA_SYSDATETIME" 
20331
RETURN DATE
20332
IS
1373 dpurdie 20333
/* ---------------------------------------------------------------------------
6999 dpurdie 20334
    Version: 3.0.0
1373 dpurdie 20335
   --------------------------------------------------------------------------- */
20336
BEGIN
20337
 
6999 dpurdie 20338
    RETURN TO_DATE( TO_CHAR( SYSDATE,'DD-MON-YYYY HH24:MI:SS' ),'DD-MON-YYYY HH24:MI:SS' );
20339
END ORA_SYSDATETIME;
1373 dpurdie 20340
 
6999 dpurdie 20341
/
20342
--------------------------------------------------------
20343
--  DDL for Function PERL_DBD_TESTFUNC
20344
--------------------------------------------------------
6031 dpurdie 20345
 
6999 dpurdie 20346
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."PERL_DBD_TESTFUNC" (a in integer, b in integer) return integer is c integer; begin if b is null then c := 0; else c := b; end if; return a * c + 1; end;
1373 dpurdie 20347
 
6999 dpurdie 20348
/
4040 dpurdie 20349
--------------------------------------------------------
6999 dpurdie 20350
--  DDL for Function RELEASE_MODE
4040 dpurdie 20351
--------------------------------------------------------
20352
 
6999 dpurdie 20353
  CREATE OR REPLACE FUNCTION "RELEASE_MANAGER"."RELEASE_MODE" ( nRtagId IN NUMBER ) RETURN CHAR IS
1373 dpurdie 20354
 
6999 dpurdie 20355
/* ---------------------------------------------------------------------------
20356
    Version: 3.0.0
20357
   --------------------------------------------------------------------------- */
1373 dpurdie 20358
 
6999 dpurdie 20359
   returnValue CHAR(1);
1373 dpurdie 20360
 
20361
BEGIN
20362
 
6999 dpurdie 20363
    /*--------------- Business Rules Here -------------------*/
20364
	/*-------------------------------------------------------*/
1373 dpurdie 20365
 
6999 dpurdie 20366
	-- Get release mode
20367
	SELECT rt.OFFICIAL INTO returnValue
20368
	  FROM RELEASE_TAGS rt
20369
	 WHERE rt.RTAG_ID = nRtagId;
1373 dpurdie 20370
 
6999 dpurdie 20371
	RETURN returnValue;
6031 dpurdie 20372
 
6999 dpurdie 20373
END RELEASE_MODE;
6031 dpurdie 20374
 
6999 dpurdie 20375
/
20376
--------------------------------------------------------
20377
--  DDL for Synonymn APPLICATIONS
20378
--------------------------------------------------------
3959 dpurdie 20379
 
6999 dpurdie 20380
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."APPLICATIONS" FOR "ACCESS_MANAGER"."APPLICATIONS";
20381
--------------------------------------------------------
20382
--  DDL for Synonymn APPLICATION_PAGES
20383
--------------------------------------------------------
4040 dpurdie 20384
 
6999 dpurdie 20385
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."APPLICATION_PAGES" FOR "ACCESS_MANAGER"."APPLICATION_PAGES";
4040 dpurdie 20386
--------------------------------------------------------
6999 dpurdie 20387
--  DDL for Synonymn CONTROL_OBJECTS
4040 dpurdie 20388
--------------------------------------------------------
20389
 
6999 dpurdie 20390
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."CONTROL_OBJECTS" FOR "ACCESS_MANAGER"."CONTROL_OBJECTS";
20391
--------------------------------------------------------
20392
--  DDL for Synonymn DATA_PERMISSIONS
20393
--------------------------------------------------------
3959 dpurdie 20394
 
6999 dpurdie 20395
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."DATA_PERMISSIONS" FOR "ACCESS_MANAGER"."DATA_PERMISSIONS";
20396
--------------------------------------------------------
20397
--  DDL for Synonymn DATA_TABLES
20398
--------------------------------------------------------
3959 dpurdie 20399
 
6999 dpurdie 20400
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."DATA_TABLES" FOR "ACCESS_MANAGER"."DATA_TABLES";
20401
--------------------------------------------------------
20402
--  DDL for Synonymn PAGE_CONTROL_OBJECTS
20403
--------------------------------------------------------
3959 dpurdie 20404
 
6999 dpurdie 20405
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."PAGE_CONTROL_OBJECTS" FOR "ACCESS_MANAGER"."PAGE_CONTROL_OBJECTS";
20406
--------------------------------------------------------
20407
--  DDL for Synonymn PERMISSION_TYPES
20408
--------------------------------------------------------
3959 dpurdie 20409
 
6999 dpurdie 20410
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."PERMISSION_TYPES" FOR "ACCESS_MANAGER"."PERMISSION_TYPES";
20411
--------------------------------------------------------
20412
--  DDL for Synonymn PK_AMUTILS
20413
--------------------------------------------------------
3959 dpurdie 20414
 
6999 dpurdie 20415
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."PK_AMUTILS" FOR "ACCESS_MANAGER"."PK_AMUTILS";
20416
--------------------------------------------------------
20417
--  DDL for Synonymn PK_SECURITY
20418
--------------------------------------------------------
3959 dpurdie 20419
 
6999 dpurdie 20420
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."PK_SECURITY" FOR "ACCESS_MANAGER"."PK_SECURITY";
20421
--------------------------------------------------------
20422
--  DDL for Synonymn ROLES
20423
--------------------------------------------------------
1373 dpurdie 20424
 
6999 dpurdie 20425
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."ROLES" FOR "ACCESS_MANAGER"."ROLES";
20426
--------------------------------------------------------
20427
--  DDL for Synonymn ROLE_PRIVILEGES
20428
--------------------------------------------------------
1373 dpurdie 20429
 
6999 dpurdie 20430
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."ROLE_PRIVILEGES" FOR "ACCESS_MANAGER"."ROLE_PRIVILEGES";
20431
--------------------------------------------------------
20432
--  DDL for Synonymn USERS
20433
--------------------------------------------------------
6031 dpurdie 20434
 
6999 dpurdie 20435
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."USERS" FOR "ACCESS_MANAGER"."USERS";
20436
--------------------------------------------------------
20437
--  DDL for Synonymn USER_APPLICATIONS
20438
--------------------------------------------------------
6031 dpurdie 20439
 
6999 dpurdie 20440
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."USER_APPLICATIONS" FOR "ACCESS_MANAGER"."USER_APPLICATIONS";
20441
--------------------------------------------------------
20442
--  DDL for Synonymn USER_ROLES
20443
--------------------------------------------------------
1373 dpurdie 20444
 
6999 dpurdie 20445
  CREATE OR REPLACE SYNONYM "RELEASE_MANAGER"."USER_ROLES" FOR "ACCESS_MANAGER"."USER_ROLES";
20446
--------------------------------------------------------
20447
--  Constraints for Table PACKAGE_DOCUMENTS
4040 dpurdie 20448
--------------------------------------------------------
20449
 
6999 dpurdie 20450
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" MODIFY ("DOC_NUM" NOT NULL ENABLE);
20451
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" MODIFY ("DOC_ID" NOT NULL ENABLE);
20452
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" MODIFY ("PV_ID" NOT NULL ENABLE);
20453
--------------------------------------------------------
20454
--  Constraints for Table RELEASE_METRICS
20455
--------------------------------------------------------
1373 dpurdie 20456
 
6999 dpurdie 20457
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_METRICS" ADD CONSTRAINT "UNQ_RELEASE_METRICS" UNIQUE ("RTAG_ID")
20458
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20459
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20460
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20461
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20462
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20463
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_METRICS" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20464
--------------------------------------------------------
20465
--  Constraints for Table RELEASE_COMPONENTS
20466
--------------------------------------------------------
1373 dpurdie 20467
 
6999 dpurdie 20468
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_COMPONENTS" MODIFY ("PV_ID" NOT NULL ENABLE);
20469
--------------------------------------------------------
7340 dpurdie 20470
--  Constraints for Table BUILD_PLATFORMS_CONFIG
6999 dpurdie 20471
--------------------------------------------------------
1373 dpurdie 20472
 
7340 dpurdie 20473
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG" MODIFY ("GBE_ID" NOT NULL ENABLE);
20474
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG" MODIFY ("BP_ID" NOT NULL ENABLE);
6999 dpurdie 20475
--------------------------------------------------------
20476
--  Constraints for Table PLANNED
4040 dpurdie 20477
--------------------------------------------------------
20478
 
6999 dpurdie 20479
  ALTER TABLE "RELEASE_MANAGER"."PLANNED" ADD CONSTRAINT "UNIQUE_PV_RTAG" UNIQUE ("PV_ID", "RTAG_ID")
20480
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20481
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20482
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20483
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20484
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20485
  ALTER TABLE "RELEASE_MANAGER"."PLANNED" MODIFY ("VIEW_ID" NOT NULL ENABLE);
20486
  ALTER TABLE "RELEASE_MANAGER"."PLANNED" MODIFY ("PV_ID" NOT NULL ENABLE);
20487
  ALTER TABLE "RELEASE_MANAGER"."PLANNED" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20488
--------------------------------------------------------
20489
--  Constraints for Table RELEASE_MODIFIED
20490
--------------------------------------------------------
6031 dpurdie 20491
 
6999 dpurdie 20492
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_MODIFIED" ADD CONSTRAINT "RELEASE_MODIFIED_PK" PRIMARY KEY ("RTAG_ID")
20493
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20494
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20495
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20496
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20497
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20498
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_MODIFIED" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20499
--------------------------------------------------------
20500
--  Constraints for Table PACKAGE_METRICS
20501
--------------------------------------------------------
1373 dpurdie 20502
 
6999 dpurdie 20503
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_METRICS" ADD CONSTRAINT "UNQ_PACKAGE_METRICS" UNIQUE ("PV_ID")
20504
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20505
  STORAGE(INITIAL 4194304 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20506
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20507
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20508
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20509
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_METRICS" MODIFY ("PV_ID" NOT NULL ENABLE);
20510
--------------------------------------------------------
20511
--  Constraints for Table PROCESSES
20512
--------------------------------------------------------
4040 dpurdie 20513
 
6999 dpurdie 20514
  ALTER TABLE "RELEASE_MANAGER"."PROCESSES" ADD CONSTRAINT "PROCESSES_PK" PRIMARY KEY ("PROC_ID")
20515
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20516
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20517
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20518
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20519
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20520
  ALTER TABLE "RELEASE_MANAGER"."PROCESSES" MODIFY ("PROC_NAME" NOT NULL ENABLE);
20521
  ALTER TABLE "RELEASE_MANAGER"."PROCESSES" MODIFY ("PROC_ID" NOT NULL ENABLE);
4040 dpurdie 20522
--------------------------------------------------------
6999 dpurdie 20523
--  Constraints for Table PROJECT_ACTION_LOG
20524
--------------------------------------------------------
4040 dpurdie 20525
 
6999 dpurdie 20526
  ALTER TABLE "RELEASE_MANAGER"."PROJECT_ACTION_LOG" MODIFY ("ACTTYPE_ID" NOT NULL ENABLE);
20527
  ALTER TABLE "RELEASE_MANAGER"."PROJECT_ACTION_LOG" MODIFY ("PROJ_ID" NOT NULL ENABLE);
20528
  ALTER TABLE "RELEASE_MANAGER"."PROJECT_ACTION_LOG" MODIFY ("ACTION_DATETIME" NOT NULL ENABLE);
20529
  ALTER TABLE "RELEASE_MANAGER"."PROJECT_ACTION_LOG" MODIFY ("USER_ID" NOT NULL ENABLE);
4040 dpurdie 20530
--------------------------------------------------------
6999 dpurdie 20531
--  Constraints for Table ARCHIVE_ACTION_LOG
4040 dpurdie 20532
--------------------------------------------------------
20533
 
6999 dpurdie 20534
  ALTER TABLE "RELEASE_MANAGER"."ARCHIVE_ACTION_LOG" MODIFY ("DESCRIPTION" NOT NULL ENABLE);
20535
  ALTER TABLE "RELEASE_MANAGER"."ARCHIVE_ACTION_LOG" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20536
  ALTER TABLE "RELEASE_MANAGER"."ARCHIVE_ACTION_LOG" MODIFY ("DATE_TIME_STAMP" NOT NULL ENABLE);
20537
  ALTER TABLE "RELEASE_MANAGER"."ARCHIVE_ACTION_LOG" MODIFY ("USER_ID" NOT NULL ENABLE);
20538
--------------------------------------------------------
20539
--  Constraints for Table VTREES
20540
--------------------------------------------------------
4040 dpurdie 20541
 
6999 dpurdie 20542
  ALTER TABLE "RELEASE_MANAGER"."VTREES" ADD CONSTRAINT "PK_VTREES" PRIMARY KEY ("VTREE_ID")
20543
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20544
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20545
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20546
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20547
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20548
  ALTER TABLE "RELEASE_MANAGER"."VTREES" MODIFY ("HIDE" NOT NULL ENABLE);
20549
  ALTER TABLE "RELEASE_MANAGER"."VTREES" MODIFY ("VTREE_NAME" NOT NULL ENABLE);
20550
  ALTER TABLE "RELEASE_MANAGER"."VTREES" MODIFY ("PROJ_ID" NOT NULL ENABLE);
20551
  ALTER TABLE "RELEASE_MANAGER"."VTREES" MODIFY ("VTREE_ID" NOT NULL ENABLE);
4040 dpurdie 20552
--------------------------------------------------------
7340 dpurdie 20553
--  Constraints for Table BUILD_INSTANCE_PLATFORMS
4040 dpurdie 20554
--------------------------------------------------------
20555
 
7340 dpurdie 20556
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS" MODIFY ("BP_ID" NOT NULL ENABLE);
20557
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS" MODIFY ("BUILD_ID" NOT NULL ENABLE);
6999 dpurdie 20558
--------------------------------------------------------
20559
--  Constraints for Table PACKAGES
20560
--------------------------------------------------------
3959 dpurdie 20561
 
6999 dpurdie 20562
  ALTER TABLE "RELEASE_MANAGER"."PACKAGES" ADD CONSTRAINT "PK_PACKAGES" PRIMARY KEY ("PKG_ID")
20563
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20564
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20565
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20566
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20567
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20568
  ALTER TABLE "RELEASE_MANAGER"."PACKAGES" MODIFY ("PKG_NAME" NOT NULL ENABLE);
20569
  ALTER TABLE "RELEASE_MANAGER"."PACKAGES" MODIFY ("PKG_ID" NOT NULL ENABLE);
20570
--------------------------------------------------------
20571
--  Constraints for Table IGNORE_WARNINGS
20572
--------------------------------------------------------
3959 dpurdie 20573
 
6999 dpurdie 20574
  ALTER TABLE "RELEASE_MANAGER"."IGNORE_WARNINGS" MODIFY ("DPV_ID" NOT NULL ENABLE);
20575
  ALTER TABLE "RELEASE_MANAGER"."IGNORE_WARNINGS" MODIFY ("PV_ID" NOT NULL ENABLE);
20576
  ALTER TABLE "RELEASE_MANAGER"."IGNORE_WARNINGS" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20577
--------------------------------------------------------
20578
--  Constraints for Table PRODUCT_STATES
4040 dpurdie 20579
--------------------------------------------------------
20580
 
6999 dpurdie 20581
  ALTER TABLE "RELEASE_MANAGER"."PRODUCT_STATES" ADD CONSTRAINT "PRODUCT_STATES_PK" PRIMARY KEY ("STATE_ID")
20582
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20583
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20584
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20585
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20586
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20587
  ALTER TABLE "RELEASE_MANAGER"."PRODUCT_STATES" MODIFY ("STATE" NOT NULL ENABLE);
20588
  ALTER TABLE "RELEASE_MANAGER"."PRODUCT_STATES" MODIFY ("STATE_ID" NOT NULL ENABLE);
4040 dpurdie 20589
--------------------------------------------------------
6999 dpurdie 20590
--  Constraints for Table CODE_REVIEWS
4040 dpurdie 20591
--------------------------------------------------------
20592
 
6999 dpurdie 20593
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEWS" MODIFY ("PV_ID" NOT NULL ENABLE);
4040 dpurdie 20594
--------------------------------------------------------
6999 dpurdie 20595
--  Constraints for Table WORLDS
4040 dpurdie 20596
--------------------------------------------------------
20597
 
6999 dpurdie 20598
  ALTER TABLE "RELEASE_MANAGER"."WORLDS" ADD CONSTRAINT "PK_WORLDS" PRIMARY KEY ("WORLD_ID")
20599
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20600
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20601
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20602
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20603
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20604
  ALTER TABLE "RELEASE_MANAGER"."WORLDS" MODIFY ("WORLD_NAME" NOT NULL ENABLE);
20605
  ALTER TABLE "RELEASE_MANAGER"."WORLDS" MODIFY ("WORLD_ID" NOT NULL ENABLE);
4040 dpurdie 20606
--------------------------------------------------------
6999 dpurdie 20607
--  Constraints for Table BUILD_INSTANCES
4040 dpurdie 20608
--------------------------------------------------------
20609
 
6999 dpurdie 20610
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCES" ADD CONSTRAINT "BUILD_ID" PRIMARY KEY ("BUILD_ID")
20611
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20612
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20613
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20614
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20615
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20616
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCES" MODIFY ("STATE" NOT NULL ENABLE);
20617
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCES" MODIFY ("TIMESTAMP" NOT NULL ENABLE);
20618
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCES" MODIFY ("PV_ID" NOT NULL ENABLE);
20619
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCES" MODIFY ("BUILD_ID" NOT NULL ENABLE);
4040 dpurdie 20620
--------------------------------------------------------
6999 dpurdie 20621
--  Constraints for Table BLAT_RELEASES
4040 dpurdie 20622
--------------------------------------------------------
20623
 
6999 dpurdie 20624
  ALTER TABLE "RELEASE_MANAGER"."BLAT_RELEASES" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20625
  ALTER TABLE "RELEASE_MANAGER"."BLAT_RELEASES" MODIFY ("BLAT_ID" NOT NULL ENABLE);
4040 dpurdie 20626
--------------------------------------------------------
6999 dpurdie 20627
--  Constraints for Table NOTE_MANAGER
4040 dpurdie 20628
--------------------------------------------------------
20629
 
6999 dpurdie 20630
  ALTER TABLE "RELEASE_MANAGER"."NOTE_MANAGER" ADD CONSTRAINT "PKNOTE_MANAGER1" PRIMARY KEY ("NID")
20631
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20632
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20633
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20634
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20635
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20636
  ALTER TABLE "RELEASE_MANAGER"."NOTE_MANAGER" MODIFY ("NID" NOT NULL ENABLE);
4040 dpurdie 20637
--------------------------------------------------------
6999 dpurdie 20638
--  Constraints for Table DAEMON_ACTION_LOG
4040 dpurdie 20639
--------------------------------------------------------
20640
 
6999 dpurdie 20641
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_ACTION_LOG" MODIFY ("RCON_ID" NOT NULL ENABLE);
20642
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_ACTION_LOG" MODIFY ("USER_ID" NOT NULL ENABLE);
4040 dpurdie 20643
--------------------------------------------------------
6999 dpurdie 20644
--  Constraints for Table BUILD_MACHINES
4040 dpurdie 20645
--------------------------------------------------------
20646
 
6999 dpurdie 20647
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINES" ADD CONSTRAINT "BUILD_MACHINES_PK" PRIMARY KEY ("BM_ID")
20648
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20649
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20650
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20651
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20652
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20653
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINES" MODIFY ("BM_NAME" NOT NULL ENABLE);
20654
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINES" MODIFY ("BM_ID" NOT NULL ENABLE);
4040 dpurdie 20655
--------------------------------------------------------
6999 dpurdie 20656
--  Constraints for Table PLATFORMS
4040 dpurdie 20657
--------------------------------------------------------
20658
 
6999 dpurdie 20659
  ALTER TABLE "RELEASE_MANAGER"."PLATFORMS" MODIFY ("NAME" NOT NULL ENABLE);
20660
  ALTER TABLE "RELEASE_MANAGER"."PLATFORMS" MODIFY ("CODE" NOT NULL ENABLE);
4040 dpurdie 20661
--------------------------------------------------------
6999 dpurdie 20662
--  Constraints for Table VALIDATION_RULES_DELETE_ME
4040 dpurdie 20663
--------------------------------------------------------
20664
 
6999 dpurdie 20665
  ALTER TABLE "RELEASE_MANAGER"."VALIDATION_RULES_DELETE_ME" MODIFY ("IS_REQUIRED" NOT NULL ENABLE);
20666
  ALTER TABLE "RELEASE_MANAGER"."VALIDATION_RULES_DELETE_ME" MODIFY ("FIELD_NAME" NOT NULL ENABLE);
4040 dpurdie 20667
--------------------------------------------------------
6999 dpurdie 20668
--  Constraints for Table PACKAGE_PROCESSES
4040 dpurdie 20669
--------------------------------------------------------
20670
 
6999 dpurdie 20671
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_PROCESSES" MODIFY ("PROC_ID" NOT NULL ENABLE);
20672
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_PROCESSES" MODIFY ("PV_ID" NOT NULL ENABLE);
4040 dpurdie 20673
--------------------------------------------------------
6999 dpurdie 20674
--  Constraints for Table BUILD_PLAN
4040 dpurdie 20675
--------------------------------------------------------
20676
 
6999 dpurdie 20677
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLAN" ADD CONSTRAINT "BUILD_PLAN_PK" PRIMARY KEY ("RTAG_ID", "BUILD_ORDER", "PV_ID")
20678
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20679
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20680
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20681
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20682
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
4040 dpurdie 20683
--------------------------------------------------------
6999 dpurdie 20684
--  Constraints for Table MESSAGE_BOARD
4040 dpurdie 20685
--------------------------------------------------------
20686
 
6999 dpurdie 20687
  ALTER TABLE "RELEASE_MANAGER"."MESSAGE_BOARD" ADD CONSTRAINT "PK_MESSAGE_BOARD" PRIMARY KEY ("MSG_ID")
20688
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20689
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20690
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20691
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20692
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20693
  ALTER TABLE "RELEASE_MANAGER"."MESSAGE_BOARD" MODIFY ("SUBMITION_DATE" NOT NULL ENABLE);
20694
  ALTER TABLE "RELEASE_MANAGER"."MESSAGE_BOARD" MODIFY ("MSG_DETAILS" NOT NULL ENABLE);
20695
  ALTER TABLE "RELEASE_MANAGER"."MESSAGE_BOARD" MODIFY ("MSG_ID" NOT NULL ENABLE);
4040 dpurdie 20696
--------------------------------------------------------
6999 dpurdie 20697
--  Constraints for Table VCS_TYPE
4040 dpurdie 20698
--------------------------------------------------------
20699
 
6999 dpurdie 20700
  ALTER TABLE "RELEASE_MANAGER"."VCS_TYPE" ADD CONSTRAINT "VCS_TYPE_PK" PRIMARY KEY ("VCS_TYPE_ID")
20701
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20702
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20703
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20704
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20705
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20706
  ALTER TABLE "RELEASE_MANAGER"."VCS_TYPE" MODIFY ("TAG" NOT NULL ENABLE);
20707
  ALTER TABLE "RELEASE_MANAGER"."VCS_TYPE" MODIFY ("NAME" NOT NULL ENABLE);
20708
  ALTER TABLE "RELEASE_MANAGER"."VCS_TYPE" MODIFY ("VCS_TYPE_ID" NOT NULL ENABLE);
4040 dpurdie 20709
--------------------------------------------------------
6999 dpurdie 20710
--  Constraints for Table RUN_LEVEL
4040 dpurdie 20711
--------------------------------------------------------
20712
 
6999 dpurdie 20713
  ALTER TABLE "RELEASE_MANAGER"."RUN_LEVEL" ADD CONSTRAINT "PK_RUN_LEVEL" PRIMARY KEY ("RCON_ID")
20714
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20715
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20716
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20717
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20718
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20719
  ALTER TABLE "RELEASE_MANAGER"."RUN_LEVEL" MODIFY ("RCON_ID" NOT NULL ENABLE);
4040 dpurdie 20720
--------------------------------------------------------
6999 dpurdie 20721
--  Constraints for Table LICENCES
4040 dpurdie 20722
--------------------------------------------------------
20723
 
6999 dpurdie 20724
  ALTER TABLE "RELEASE_MANAGER"."LICENCES" ADD CONSTRAINT "PK_LICENCES" PRIMARY KEY ("LICENCE")
20725
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20726
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20727
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20728
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20729
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20730
  ALTER TABLE "RELEASE_MANAGER"."LICENCES" MODIFY ("NAME" NOT NULL ENABLE);
20731
  ALTER TABLE "RELEASE_MANAGER"."LICENCES" MODIFY ("LICENCE" NOT NULL ENABLE);
4040 dpurdie 20732
--------------------------------------------------------
6999 dpurdie 20733
--  Constraints for Table UNIT_TESTS
4040 dpurdie 20734
--------------------------------------------------------
20735
 
6999 dpurdie 20736
  ALTER TABLE "RELEASE_MANAGER"."UNIT_TESTS" MODIFY ("TEST_TYPES_FK" NOT NULL ENABLE);
20737
  ALTER TABLE "RELEASE_MANAGER"."UNIT_TESTS" MODIFY ("PV_ID" NOT NULL ENABLE);
20738
  ALTER TABLE "RELEASE_MANAGER"."UNIT_TESTS" MODIFY ("TEST_ID" NOT NULL ENABLE);
4040 dpurdie 20739
--------------------------------------------------------
6999 dpurdie 20740
--  Constraints for Table CQ_STATEDEF
4040 dpurdie 20741
--------------------------------------------------------
20742
 
6999 dpurdie 20743
  ALTER TABLE "RELEASE_MANAGER"."CQ_STATEDEF" ADD CONSTRAINT "CQ_STATEDEF_PK" PRIMARY KEY ("ID")
20744
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20745
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20746
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20747
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20748
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20749
  ALTER TABLE "RELEASE_MANAGER"."CQ_STATEDEF" MODIFY ("ID" NOT NULL ENABLE);
4040 dpurdie 20750
--------------------------------------------------------
6999 dpurdie 20751
--  Constraints for Table TEMP_ENV_STATES
4040 dpurdie 20752
--------------------------------------------------------
20753
 
6999 dpurdie 20754
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_STATES" MODIFY ("TES_STATE" NOT NULL ENABLE);
20755
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_STATES" MODIFY ("PKG_ID" NOT NULL ENABLE);
20756
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_STATES" MODIFY ("PV_ID" NOT NULL ENABLE);
20757
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_STATES" MODIFY ("LEVEL_NUM" NOT NULL ENABLE);
20758
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_STATES" MODIFY ("SESSION_NUM" NOT NULL ENABLE);
4040 dpurdie 20759
--------------------------------------------------------
6999 dpurdie 20760
--  Constraints for Table TEMP_ENV_DEPS
4040 dpurdie 20761
--------------------------------------------------------
20762
 
6999 dpurdie 20763
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_DEPS" ADD CONSTRAINT "TEMP_ENV_DEPS_PK" PRIMARY KEY ("PV_ID", "SESSION_NUM", "DPV_ID")
20764
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20765
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20766
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20767
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20768
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20769
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_DEPS" MODIFY ("DPKG_ID" NOT NULL ENABLE);
20770
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_DEPS" MODIFY ("DPV_ID" NOT NULL ENABLE);
20771
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_DEPS" MODIFY ("PKG_ID" NOT NULL ENABLE);
20772
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_DEPS" MODIFY ("PV_ID" NOT NULL ENABLE);
20773
  ALTER TABLE "RELEASE_MANAGER"."TEMP_ENV_DEPS" MODIFY ("SESSION_NUM" NOT NULL ENABLE);
4040 dpurdie 20774
--------------------------------------------------------
6999 dpurdie 20775
--  Constraints for Table SDK_NAMES
4040 dpurdie 20776
--------------------------------------------------------
20777
 
6999 dpurdie 20778
  ALTER TABLE "RELEASE_MANAGER"."SDK_NAMES" ADD CONSTRAINT "SDK_NAMES_PK" PRIMARY KEY ("SDK_ID")
20779
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20780
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20781
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20782
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20783
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20784
  ALTER TABLE "RELEASE_MANAGER"."SDK_NAMES" ADD CONSTRAINT "SDK_NAMES_UK1" UNIQUE ("SDK_NAME")
20785
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20786
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20787
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20788
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20789
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20790
  ALTER TABLE "RELEASE_MANAGER"."SDK_NAMES" MODIFY ("PROJ_ID" NOT NULL ENABLE);
20791
  ALTER TABLE "RELEASE_MANAGER"."SDK_NAMES" MODIFY ("VIEW_ID" NOT NULL ENABLE);
20792
  ALTER TABLE "RELEASE_MANAGER"."SDK_NAMES" MODIFY ("SDK_NAME" NOT NULL ENABLE);
20793
  ALTER TABLE "RELEASE_MANAGER"."SDK_NAMES" MODIFY ("SDK_ID" NOT NULL ENABLE);
4040 dpurdie 20794
--------------------------------------------------------
6999 dpurdie 20795
--  Constraints for Table PROJECT_EXTENTIONS
4040 dpurdie 20796
--------------------------------------------------------
20797
 
6999 dpurdie 20798
  ALTER TABLE "RELEASE_MANAGER"."PROJECT_EXTENTIONS" MODIFY ("EXT_NAME" NOT NULL ENABLE);
4040 dpurdie 20799
--------------------------------------------------------
7340 dpurdie 20800
--  Constraints for Table PACKAGE_VERSIONS
20801
--------------------------------------------------------
20802
 
20803
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" ADD CONSTRAINT "PK_PACKAGE_VERSIONS" PRIMARY KEY ("PV_ID")
20804
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20805
  STORAGE(INITIAL 5242880 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20806
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20807
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20808
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20809
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" MODIFY ("BUILD_TYPE" NOT NULL ENABLE);
20810
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" MODIFY ("LAST_PV_ID" NOT NULL ENABLE);
20811
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" MODIFY ("OWNER_ID" NOT NULL ENABLE);
20812
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" MODIFY ("CREATOR_ID" NOT NULL ENABLE);
20813
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" MODIFY ("MODIFIER_ID" NOT NULL ENABLE);
20814
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" MODIFY ("DLOCKED" NOT NULL ENABLE);
20815
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" MODIFY ("PKG_VERSION" NOT NULL ENABLE);
20816
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" MODIFY ("PKG_ID" NOT NULL ENABLE);
20817
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" MODIFY ("PV_ID" NOT NULL ENABLE);
20818
--------------------------------------------------------
20819
--  Constraints for Table LXR_STATE
20820
--------------------------------------------------------
20821
 
20822
  ALTER TABLE "RELEASE_MANAGER"."LXR_STATE" ADD CONSTRAINT "LXR_STATE_PK" PRIMARY KEY ("RTAG_ID")
20823
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20824
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20825
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20826
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20827
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20828
  ALTER TABLE "RELEASE_MANAGER"."LXR_STATE" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20829
--------------------------------------------------------
20830
--  Constraints for Table BUILD_MACHINE_CONFIG
20831
--------------------------------------------------------
20832
 
20833
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" ADD CONSTRAINT "PK_BUILD_MACHINE_CONFIG" PRIMARY KEY ("BMCON_ID")
20834
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20835
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20836
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20837
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20838
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20839
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" MODIFY ("ACTIVE" NOT NULL ENABLE);
20840
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" MODIFY ("GBE_ID" NOT NULL ENABLE);
20841
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" MODIFY ("MACHINE_HOSTNAME" NOT NULL ENABLE);
20842
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" MODIFY ("DISPLAY_NAME" NOT NULL ENABLE);
20843
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" MODIFY ("BMCON_ID" NOT NULL ENABLE);
20844
--------------------------------------------------------
20845
--  Constraints for Table ADVISORY_RIPPLE
20846
--------------------------------------------------------
20847
 
20848
  ALTER TABLE "RELEASE_MANAGER"."ADVISORY_RIPPLE" MODIFY ("PV_ID" NOT NULL ENABLE);
20849
  ALTER TABLE "RELEASE_MANAGER"."ADVISORY_RIPPLE" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20850
--------------------------------------------------------
20851
--  Constraints for Table PACKAGE_DEPENDENCIES
20852
--------------------------------------------------------
20853
 
20854
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" MODIFY ("BUILD_TYPE" NOT NULL ENABLE);
20855
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" MODIFY ("DPKG_ID" NOT NULL ENABLE);
20856
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" MODIFY ("PKG_ID" NOT NULL ENABLE);
20857
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" MODIFY ("DPV_ID" NOT NULL ENABLE);
20858
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" MODIFY ("PV_ID" NOT NULL ENABLE);
20859
--------------------------------------------------------
20860
--  Constraints for Table JIRA_ISSUES
20861
--------------------------------------------------------
20862
 
20863
  ALTER TABLE "RELEASE_MANAGER"."JIRA_ISSUES" MODIFY ("PV_ID" NOT NULL ENABLE);
20864
--------------------------------------------------------
20865
--  Constraints for Table ADDITIONAL_NOTES
20866
--------------------------------------------------------
20867
 
20868
  ALTER TABLE "RELEASE_MANAGER"."ADDITIONAL_NOTES" MODIFY ("MOD_USER" NOT NULL ENABLE);
20869
  ALTER TABLE "RELEASE_MANAGER"."ADDITIONAL_NOTES" MODIFY ("MOD_DATE" NOT NULL ENABLE);
20870
  ALTER TABLE "RELEASE_MANAGER"."ADDITIONAL_NOTES" MODIFY ("NOTE_TITLE" NOT NULL ENABLE);
20871
  ALTER TABLE "RELEASE_MANAGER"."ADDITIONAL_NOTES" MODIFY ("PV_ID" NOT NULL ENABLE);
20872
  ALTER TABLE "RELEASE_MANAGER"."ADDITIONAL_NOTES" MODIFY ("NOTE_ID" NOT NULL ENABLE);
20873
--------------------------------------------------------
20874
--  Constraints for Table ARCHIVE_DATA
20875
--------------------------------------------------------
20876
 
20877
  ALTER TABLE "RELEASE_MANAGER"."ARCHIVE_DATA" MODIFY ("PV_ID" NOT NULL ENABLE);
20878
  ALTER TABLE "RELEASE_MANAGER"."ARCHIVE_DATA" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20879
--------------------------------------------------------
20880
--  Constraints for Table BUILD_ENVIRONMENTS
20881
--------------------------------------------------------
20882
 
20883
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" ADD CONSTRAINT "PK_BUILD_ENVIRONMENTS" PRIMARY KEY ("BE_ID")
20884
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20885
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20886
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20887
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20888
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20889
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" MODIFY ("BE_NAME" NOT NULL ENABLE);
20890
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" MODIFY ("BE_ID" NOT NULL ENABLE);
20891
--------------------------------------------------------
20892
--  Constraints for Table RELEASE_TAGS
20893
--------------------------------------------------------
20894
 
20895
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" MODIFY ("PLAN_DROP" NOT NULL ENABLE);
20896
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" MODIFY ("PLAN_THRESHOLD" NOT NULL ENABLE);
20897
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" ADD CONSTRAINT "PK_RELEASE_TAGS" PRIMARY KEY ("RTAG_ID")
20898
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20899
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20900
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20901
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20902
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20903
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" MODIFY ("PROJ_ID" NOT NULL ENABLE);
20904
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" MODIFY ("PARENT_RTAG_ID" NOT NULL ENABLE);
20905
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" MODIFY ("REBUILD_STAMP" NOT NULL ENABLE);
20906
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" MODIFY ("REBUILD_ENV" NOT NULL ENABLE);
20907
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" MODIFY ("OFFICIAL" NOT NULL ENABLE);
20908
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" MODIFY ("RTAG_NAME" NOT NULL ENABLE);
20909
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_TAGS" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20910
--------------------------------------------------------
20911
--  Constraints for Table AUTOBUILD_FAILURE
20912
--------------------------------------------------------
20913
 
20914
  ALTER TABLE "RELEASE_MANAGER"."AUTOBUILD_FAILURE" ADD PRIMARY KEY ("GROUP_EMAIL_ID")
20915
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20916
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20917
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20918
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20919
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20920
  ALTER TABLE "RELEASE_MANAGER"."AUTOBUILD_FAILURE" MODIFY ("GROUP_EMAIL_ID" NOT NULL ENABLE);
20921
--------------------------------------------------------
20922
--  Constraints for Table SDK_CONTENT
20923
--------------------------------------------------------
20924
 
20925
  ALTER TABLE "RELEASE_MANAGER"."SDK_CONTENT" MODIFY ("SDKPKG_STATE" NOT NULL ENABLE);
20926
  ALTER TABLE "RELEASE_MANAGER"."SDK_CONTENT" MODIFY ("PV_ID" NOT NULL ENABLE);
20927
  ALTER TABLE "RELEASE_MANAGER"."SDK_CONTENT" MODIFY ("SDKTAG_ID" NOT NULL ENABLE);
20928
--------------------------------------------------------
20929
--  Constraints for Table ACTION_TYPE
20930
--------------------------------------------------------
20931
 
20932
  ALTER TABLE "RELEASE_MANAGER"."ACTION_TYPE" ADD CONSTRAINT "UNQ_ACTTYPE_ID" PRIMARY KEY ("ACTTYPE_ID")
20933
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20934
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20935
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20936
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20937
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20938
  ALTER TABLE "RELEASE_MANAGER"."ACTION_TYPE" MODIFY ("NAME" NOT NULL ENABLE);
20939
  ALTER TABLE "RELEASE_MANAGER"."ACTION_TYPE" MODIFY ("ACTTYPE_ID" NOT NULL ENABLE);
20940
--------------------------------------------------------
20941
--  Constraints for Table SDK_TAGS
20942
--------------------------------------------------------
20943
 
20944
  ALTER TABLE "RELEASE_MANAGER"."SDK_TAGS" ADD CONSTRAINT "SDK_TAGS_PK" PRIMARY KEY ("SDKTAG_ID")
20945
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20946
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20947
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20948
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20949
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20950
  ALTER TABLE "RELEASE_MANAGER"."SDK_TAGS" MODIFY ("SDK_STATE" NOT NULL ENABLE);
20951
  ALTER TABLE "RELEASE_MANAGER"."SDK_TAGS" MODIFY ("RTAG_ID" NOT NULL ENABLE);
20952
  ALTER TABLE "RELEASE_MANAGER"."SDK_TAGS" MODIFY ("SDK_ID" NOT NULL ENABLE);
20953
  ALTER TABLE "RELEASE_MANAGER"."SDK_TAGS" MODIFY ("SDKTAG_NAME" NOT NULL ENABLE);
20954
  ALTER TABLE "RELEASE_MANAGER"."SDK_TAGS" MODIFY ("SDKTAG_ID" NOT NULL ENABLE);
20955
--------------------------------------------------------
20956
--  Constraints for Table PACKAGE_BUILD_ENV
20957
--------------------------------------------------------
20958
 
20959
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" MODIFY ("BE_ID" NOT NULL ENABLE);
20960
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" MODIFY ("PV_ID" NOT NULL ENABLE);
20961
--------------------------------------------------------
20962
--  Constraints for Table BUILD_SERVICE_CONFIG
20963
--------------------------------------------------------
20964
 
20965
  ALTER TABLE "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG" MODIFY ("CONFIG" NOT NULL ENABLE);
20966
  ALTER TABLE "RELEASE_MANAGER"."BUILD_SERVICE_CONFIG" MODIFY ("SERVICE" NOT NULL ENABLE);
20967
--------------------------------------------------------
20968
--  Constraints for Table PACKAGE_VERSION_PLATFORMS
20969
--------------------------------------------------------
20970
 
20971
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSION_PLATFORMS" MODIFY ("BP_ID" NOT NULL ENABLE);
20972
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSION_PLATFORMS" MODIFY ("PV_ID" NOT NULL ENABLE);
20973
--------------------------------------------------------
20974
--  Constraints for Table GBE_MACHTYPE
20975
--------------------------------------------------------
20976
 
20977
  ALTER TABLE "RELEASE_MANAGER"."GBE_MACHTYPE" ADD PRIMARY KEY ("GBE_ID")
20978
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
20979
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
20980
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
20981
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
20982
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
20983
  ALTER TABLE "RELEASE_MANAGER"."GBE_MACHTYPE" MODIFY ("BM_ID" NOT NULL ENABLE);
20984
  ALTER TABLE "RELEASE_MANAGER"."GBE_MACHTYPE" MODIFY ("GBE_VALUE" NOT NULL ENABLE);
20985
  ALTER TABLE "RELEASE_MANAGER"."GBE_MACHTYPE" MODIFY ("GBE_ID" NOT NULL ENABLE);
20986
--------------------------------------------------------
20987
--  Constraints for Table PACKAGE_INTEREST
20988
--------------------------------------------------------
20989
 
20990
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_INTEREST" MODIFY ("USER_ID" NOT NULL ENABLE);
20991
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_INTEREST" MODIFY ("PROJ_ID" NOT NULL ENABLE);
20992
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_INTEREST" MODIFY ("PKG_ID" NOT NULL ENABLE);
20993
--------------------------------------------------------
20994
--  Constraints for Table PRODUCT_COMPONENTS
20995
--------------------------------------------------------
20996
 
20997
  ALTER TABLE "RELEASE_MANAGER"."PRODUCT_COMPONENTS" MODIFY ("OS_ID" NOT NULL ENABLE);
20998
  ALTER TABLE "RELEASE_MANAGER"."PRODUCT_COMPONENTS" MODIFY ("PV_ID" NOT NULL ENABLE);
20999
--------------------------------------------------------
21000
--  Constraints for Table TEST_TYPES
21001
--------------------------------------------------------
21002
 
21003
  ALTER TABLE "RELEASE_MANAGER"."TEST_TYPES" ADD CONSTRAINT "PK_TEST_TYPES" PRIMARY KEY ("TEST_TYPE_ID")
21004
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21005
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21006
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21007
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21008
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21009
  ALTER TABLE "RELEASE_MANAGER"."TEST_TYPES" MODIFY ("TEST_TYPE_NAME" NOT NULL ENABLE);
21010
  ALTER TABLE "RELEASE_MANAGER"."TEST_TYPES" MODIFY ("TEST_TYPE_ID" NOT NULL ENABLE);
21011
--------------------------------------------------------
21012
--  Constraints for Table MICROSOFTDTPROPERTIES
21013
--------------------------------------------------------
21014
 
21015
  ALTER TABLE "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" ADD CONSTRAINT "MICROSOFT_PK_DTPROPERTIES" PRIMARY KEY ("ID", "PROPERTY")
21016
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21017
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21018
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21019
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21020
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21021
  ALTER TABLE "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" MODIFY ("VERSION" CONSTRAINT "MICROSOFT_NN_VERSION" NOT NULL ENABLE);
21022
  ALTER TABLE "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" MODIFY ("PROPERTY" CONSTRAINT "MICROSOFT_NN_PROPERTY" NOT NULL ENABLE);
21023
  ALTER TABLE "RELEASE_MANAGER"."MICROSOFTDTPROPERTIES" MODIFY ("ID" CONSTRAINT "MICROSOFT_NN_ID" NOT NULL ENABLE);
21024
--------------------------------------------------------
21025
--  Constraints for Table RELEASE_CONTENT
21026
--------------------------------------------------------
21027
 
21028
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" MODIFY ("PKG_STATE" NOT NULL ENABLE);
21029
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" MODIFY ("INSERTOR_ID" NOT NULL ENABLE);
21030
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" MODIFY ("INSERT_STAMP" NOT NULL ENABLE);
21031
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" MODIFY ("BASE_VIEW_ID" NOT NULL ENABLE);
21032
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" MODIFY ("PV_ID" NOT NULL ENABLE);
21033
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21034
--------------------------------------------------------
21035
--  Constraints for Table PEGGED_VERSIONS
21036
--------------------------------------------------------
21037
 
21038
  ALTER TABLE "RELEASE_MANAGER"."PEGGED_VERSIONS" MODIFY ("PV_ID" NOT NULL ENABLE);
21039
  ALTER TABLE "RELEASE_MANAGER"."PEGGED_VERSIONS" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21040
--------------------------------------------------------
21041
--  Constraints for Table ABT_ACTION_LOG
21042
--------------------------------------------------------
21043
 
21044
  ALTER TABLE "RELEASE_MANAGER"."ABT_ACTION_LOG" MODIFY ("RCON_ID" NOT NULL ENABLE);
21045
--------------------------------------------------------
21046
--  Constraints for Table LICENCING
21047
--------------------------------------------------------
21048
 
21049
  ALTER TABLE "RELEASE_MANAGER"."LICENCING" ADD CONSTRAINT "LICENCING_PK" PRIMARY KEY ("PV_ID", "LICENCE")
21050
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21051
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21052
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21053
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21054
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21055
  ALTER TABLE "RELEASE_MANAGER"."LICENCING" MODIFY ("LICENCE" NOT NULL ENABLE);
21056
  ALTER TABLE "RELEASE_MANAGER"."LICENCING" MODIFY ("PV_ID" NOT NULL ENABLE);
21057
--------------------------------------------------------
21058
--  Constraints for Table DASH_BOARD
21059
--------------------------------------------------------
21060
 
21061
  ALTER TABLE "RELEASE_MANAGER"."DASH_BOARD" MODIFY ("TOTAL_PACKAGES" NOT NULL ENABLE);
21062
  ALTER TABLE "RELEASE_MANAGER"."DASH_BOARD" MODIFY ("AUTOMATED_PACKAGES" NOT NULL ENABLE);
21063
  ALTER TABLE "RELEASE_MANAGER"."DASH_BOARD" MODIFY ("LAST_BUILD_TIME" NOT NULL ENABLE);
21064
  ALTER TABLE "RELEASE_MANAGER"."DASH_BOARD" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21065
  ALTER TABLE "RELEASE_MANAGER"."DASH_BOARD" MODIFY ("PROJ_ID" NOT NULL ENABLE);
21066
--------------------------------------------------------
21067
--  Constraints for Table BLAT_PROJECTS
21068
--------------------------------------------------------
21069
 
21070
  ALTER TABLE "RELEASE_MANAGER"."BLAT_PROJECTS" MODIFY ("PROJ_ID" NOT NULL ENABLE);
21071
  ALTER TABLE "RELEASE_MANAGER"."BLAT_PROJECTS" MODIFY ("BLAT_ID" NOT NULL ENABLE);
21072
--------------------------------------------------------
21073
--  Constraints for Table BUILD_PLATFORMS_CONFIG2
21074
--------------------------------------------------------
21075
 
21076
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2" ADD CONSTRAINT "BUILD_PLATFORMS_CONFIG2_PK" PRIMARY KEY ("BP_ID", "BMCON_ID")
21077
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21078
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21079
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21080
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21081
  TABLESPACE "RELEASE_MANAGER_DATA"  ENABLE;
21082
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2" MODIFY ("BMCON_ID" NOT NULL ENABLE);
21083
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2" MODIFY ("BP_ID" NOT NULL ENABLE);
21084
--------------------------------------------------------
21085
--  Constraints for Table NOTIFICATION_HISTORY
21086
--------------------------------------------------------
21087
 
21088
  ALTER TABLE "RELEASE_MANAGER"."NOTIFICATION_HISTORY" ADD CONSTRAINT "PK_NOTIFICATION_HISTORY" PRIMARY KEY ("RTAG_ID", "PV_ID", "USER_ID")
21089
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21090
  STORAGE(INITIAL 2097152 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21091
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21092
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21093
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21094
  ALTER TABLE "RELEASE_MANAGER"."NOTIFICATION_HISTORY" MODIFY ("DATE_TIME_STAMP" NOT NULL ENABLE);
21095
  ALTER TABLE "RELEASE_MANAGER"."NOTIFICATION_HISTORY" MODIFY ("USER_ID" NOT NULL ENABLE);
21096
  ALTER TABLE "RELEASE_MANAGER"."NOTIFICATION_HISTORY" MODIFY ("PV_ID" NOT NULL ENABLE);
21097
  ALTER TABLE "RELEASE_MANAGER"."NOTIFICATION_HISTORY" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21098
--------------------------------------------------------
21099
--  Constraints for Table ACTION_LOG
21100
--------------------------------------------------------
21101
 
21102
  ALTER TABLE "RELEASE_MANAGER"."ACTION_LOG" MODIFY ("ACTION_TIMESTAMP" NOT NULL ENABLE);
21103
  ALTER TABLE "RELEASE_MANAGER"."ACTION_LOG" MODIFY ("ACTTYPE_ID" NOT NULL ENABLE);
21104
  ALTER TABLE "RELEASE_MANAGER"."ACTION_LOG" MODIFY ("PV_ID" NOT NULL ENABLE);
21105
  ALTER TABLE "RELEASE_MANAGER"."ACTION_LOG" MODIFY ("ACTION_DATETIME" NOT NULL ENABLE);
21106
  ALTER TABLE "RELEASE_MANAGER"."ACTION_LOG" MODIFY ("USER_ID" NOT NULL ENABLE);
21107
--------------------------------------------------------
21108
--  Constraints for Table RELEASE_LINKS
21109
--------------------------------------------------------
21110
 
21111
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_LINKS" MODIFY ("REF_RTAG_ID" NOT NULL ENABLE);
21112
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_LINKS" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21113
--------------------------------------------------------
21114
--  Constraints for Table VTREES_WORLD
21115
--------------------------------------------------------
21116
 
21117
  ALTER TABLE "RELEASE_MANAGER"."VTREES_WORLD" MODIFY ("VTREE_ID" NOT NULL ENABLE);
21118
  ALTER TABLE "RELEASE_MANAGER"."VTREES_WORLD" MODIFY ("WORLD_ID" NOT NULL ENABLE);
21119
--------------------------------------------------------
21120
--  Constraints for Table BUILD_STANDARDS_ADDENDUM
21121
--------------------------------------------------------
21122
 
21123
  ALTER TABLE "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" ADD CONSTRAINT "BUILD_STANDARDS_ADDENDUM_PK" PRIMARY KEY ("BSA_ID")
21124
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21125
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21126
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21127
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21128
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21129
  ALTER TABLE "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" MODIFY ("BS_ID" NOT NULL ENABLE);
21130
  ALTER TABLE "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" MODIFY ("BSA_NAME" NOT NULL ENABLE);
21131
  ALTER TABLE "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" MODIFY ("BSA_ID" NOT NULL ENABLE);
21132
--------------------------------------------------------
21133
--  Constraints for Table WORK_IN_PROGRESS
21134
--------------------------------------------------------
21135
 
21136
  ALTER TABLE "RELEASE_MANAGER"."WORK_IN_PROGRESS" MODIFY ("VIEW_ID" NOT NULL ENABLE);
21137
  ALTER TABLE "RELEASE_MANAGER"."WORK_IN_PROGRESS" MODIFY ("PV_ID" NOT NULL ENABLE);
21138
  ALTER TABLE "RELEASE_MANAGER"."WORK_IN_PROGRESS" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21139
--------------------------------------------------------
21140
--  Constraints for Table CQ_ISSUES
21141
--------------------------------------------------------
21142
 
21143
  ALTER TABLE "RELEASE_MANAGER"."CQ_ISSUES" MODIFY ("MOD_DATE" NOT NULL ENABLE);
21144
  ALTER TABLE "RELEASE_MANAGER"."CQ_ISSUES" MODIFY ("ISS_STATE" NOT NULL ENABLE);
21145
  ALTER TABLE "RELEASE_MANAGER"."CQ_ISSUES" MODIFY ("ISS_ID" NOT NULL ENABLE);
21146
  ALTER TABLE "RELEASE_MANAGER"."CQ_ISSUES" MODIFY ("ISS_DB" NOT NULL ENABLE);
21147
  ALTER TABLE "RELEASE_MANAGER"."CQ_ISSUES" MODIFY ("PV_ID" NOT NULL ENABLE);
21148
--------------------------------------------------------
21149
--  Constraints for Table BUILD_ORDER
21150
--------------------------------------------------------
21151
 
21152
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ORDER" MODIFY ("PV_ID" NOT NULL ENABLE);
21153
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ORDER" MODIFY ("STEP_NUM" NOT NULL ENABLE);
21154
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ORDER" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21155
--------------------------------------------------------
21156
--  Constraints for Table CODE_REVIEW_URL
21157
--------------------------------------------------------
21158
 
21159
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL" ADD CONSTRAINT "CODE_REVIEW_URL_PK" PRIMARY KEY ("CR_ID")
21160
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21161
  STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21162
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21163
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21164
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21165
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL" MODIFY ("DATE_OF_REVIEW" NOT NULL ENABLE);
21166
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL" MODIFY ("URL" NOT NULL ENABLE);
21167
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL" MODIFY ("PROJ_ID" NOT NULL ENABLE);
21168
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL" MODIFY ("PV_ID" NOT NULL ENABLE);
21169
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL" MODIFY ("CR_ID" NOT NULL ENABLE);
21170
--------------------------------------------------------
21171
--  Constraints for Table RELEASE_CONFIG
21172
--------------------------------------------------------
21173
 
21174
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONFIG" ADD PRIMARY KEY ("RCON_ID")
21175
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21176
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21177
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21178
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21179
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21180
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONFIG" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21181
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONFIG" MODIFY ("RCON_ID" NOT NULL ENABLE);
21182
--------------------------------------------------------
21183
--  Constraints for Table PACKAGE_BUILD_INFO
21184
--------------------------------------------------------
21185
 
21186
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" MODIFY ("BM_ID" NOT NULL ENABLE);
21187
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" MODIFY ("PV_ID" NOT NULL ENABLE);
21188
--------------------------------------------------------
21189
--  Constraints for Table VIEW_SETTINGS
21190
--------------------------------------------------------
21191
 
21192
  ALTER TABLE "RELEASE_MANAGER"."VIEW_SETTINGS" MODIFY ("VIEW_ID" NOT NULL ENABLE);
21193
  ALTER TABLE "RELEASE_MANAGER"."VIEW_SETTINGS" MODIFY ("USER_ID" NOT NULL ENABLE);
21194
--------------------------------------------------------
21195
--  Constraints for Table DEPRECATED_PACKAGES
21196
--------------------------------------------------------
21197
 
21198
  ALTER TABLE "RELEASE_MANAGER"."DEPRECATED_PACKAGES" MODIFY ("COMMENTS" NOT NULL ENABLE);
21199
  ALTER TABLE "RELEASE_MANAGER"."DEPRECATED_PACKAGES" MODIFY ("PKG_ID" NOT NULL ENABLE);
21200
  ALTER TABLE "RELEASE_MANAGER"."DEPRECATED_PACKAGES" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21201
--------------------------------------------------------
21202
--  Constraints for Table DO_NOT_RIPPLE
21203
--------------------------------------------------------
21204
 
21205
  ALTER TABLE "RELEASE_MANAGER"."DO_NOT_RIPPLE" MODIFY ("PV_ID" NOT NULL ENABLE);
21206
  ALTER TABLE "RELEASE_MANAGER"."DO_NOT_RIPPLE" MODIFY ("RTAG_ID" NOT NULL ENABLE);
21207
--------------------------------------------------------
21208
--  Constraints for Table CQ_SOFTWARE_ISSUE
21209
--------------------------------------------------------
21210
 
21211
  ALTER TABLE "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" ADD CONSTRAINT "CQ_SOFTWARE_ISSUE_PK" PRIMARY KEY ("DBID")
21212
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21213
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21214
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21215
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21216
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21217
  ALTER TABLE "RELEASE_MANAGER"."CQ_SOFTWARE_ISSUE" MODIFY ("DBID" NOT NULL ENABLE);
21218
--------------------------------------------------------
21219
--  Constraints for Table BLAT_SERVERS
21220
--------------------------------------------------------
21221
 
21222
  ALTER TABLE "RELEASE_MANAGER"."BLAT_SERVERS" ADD CONSTRAINT "BLAT_SERVERS_UK1" UNIQUE ("BLAT_SERVER_NAME")
21223
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21224
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21225
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21226
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21227
  TABLESPACE "RELEASE_MANAGER_DATA"  ENABLE;
21228
  ALTER TABLE "RELEASE_MANAGER"."BLAT_SERVERS" ADD CONSTRAINT "BLAT_SERVERS_PK" PRIMARY KEY ("BLAT_ID")
21229
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21230
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21231
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21232
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21233
  TABLESPACE "RELEASE_MANAGER_DATA"  ENABLE;
21234
  ALTER TABLE "RELEASE_MANAGER"."BLAT_SERVERS" MODIFY ("BLAT_SEQNUM" NOT NULL ENABLE);
21235
  ALTER TABLE "RELEASE_MANAGER"."BLAT_SERVERS" MODIFY ("BLAT_DISPLAY_NAME" NOT NULL ENABLE);
21236
  ALTER TABLE "RELEASE_MANAGER"."BLAT_SERVERS" MODIFY ("BLAT_SERVER_NAME" NOT NULL ENABLE);
21237
  ALTER TABLE "RELEASE_MANAGER"."BLAT_SERVERS" MODIFY ("BLAT_ID" NOT NULL ENABLE);
21238
--------------------------------------------------------
21239
--  Constraints for Table CQ_USERS
21240
--------------------------------------------------------
21241
 
21242
  ALTER TABLE "RELEASE_MANAGER"."CQ_USERS" ADD CONSTRAINT "CQ_USERS_PK" PRIMARY KEY ("DBID")
21243
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21244
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21245
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21246
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21247
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21248
  ALTER TABLE "RELEASE_MANAGER"."CQ_USERS" MODIFY ("DBID" NOT NULL ENABLE);
21249
--------------------------------------------------------
21250
--  Constraints for Table RUN_LEVEL_SCHEDULE
21251
--------------------------------------------------------
21252
 
21253
  ALTER TABLE "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE" ADD PRIMARY KEY ("SCHEDULED_ID")
21254
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21255
  STORAGE(INITIAL 262144 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21256
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21257
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21258
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21259
  ALTER TABLE "RELEASE_MANAGER"."RUN_LEVEL_SCHEDULE" MODIFY ("SCHEDULED_ID" NOT NULL ENABLE);
21260
--------------------------------------------------------
6999 dpurdie 21261
--  Constraints for Table MEMBERS_GROUP
4040 dpurdie 21262
--------------------------------------------------------
21263
 
6999 dpurdie 21264
  ALTER TABLE "RELEASE_MANAGER"."MEMBERS_GROUP" MODIFY ("GROUP_EMAIL_ID" NOT NULL ENABLE);
4040 dpurdie 21265
--------------------------------------------------------
6999 dpurdie 21266
--  Constraints for Table TEST_RUN
4040 dpurdie 21267
--------------------------------------------------------
21268
 
6999 dpurdie 21269
  ALTER TABLE "RELEASE_MANAGER"."TEST_RUN" ADD CONSTRAINT "PK_TEST_RUN" PRIMARY KEY ("TESTRUN_ID")
21270
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21271
  STORAGE(INITIAL 109051904 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21272
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21273
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21274
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21275
  ALTER TABLE "RELEASE_MANAGER"."TEST_RUN" MODIFY ("TEST_OUTCOME" NOT NULL ENABLE);
21276
  ALTER TABLE "RELEASE_MANAGER"."TEST_RUN" MODIFY ("TEST_NAME" NOT NULL ENABLE);
21277
  ALTER TABLE "RELEASE_MANAGER"."TEST_RUN" MODIFY ("TYPE" NOT NULL ENABLE);
21278
  ALTER TABLE "RELEASE_MANAGER"."TEST_RUN" MODIFY ("PLATFORM" NOT NULL ENABLE);
21279
  ALTER TABLE "RELEASE_MANAGER"."TEST_RUN" MODIFY ("BUILD_ID" NOT NULL ENABLE);
21280
  ALTER TABLE "RELEASE_MANAGER"."TEST_RUN" MODIFY ("TESTRUN_ID" NOT NULL ENABLE);
4040 dpurdie 21281
--------------------------------------------------------
6999 dpurdie 21282
--  Constraints for Table BUILD_STANDARDS
4040 dpurdie 21283
--------------------------------------------------------
21284
 
6999 dpurdie 21285
  ALTER TABLE "RELEASE_MANAGER"."BUILD_STANDARDS" ADD CONSTRAINT "BUILD_STANDARDS_PK" PRIMARY KEY ("BS_ID")
21286
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21287
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21288
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21289
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21290
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21291
  ALTER TABLE "RELEASE_MANAGER"."BUILD_STANDARDS" MODIFY ("BS_NAME" NOT NULL ENABLE);
21292
  ALTER TABLE "RELEASE_MANAGER"."BUILD_STANDARDS" MODIFY ("BS_ID" NOT NULL ENABLE);
4040 dpurdie 21293
--------------------------------------------------------
6999 dpurdie 21294
--  Constraints for Table RUNTIME_DEPENDENCIES
4040 dpurdie 21295
--------------------------------------------------------
21296
 
6999 dpurdie 21297
  ALTER TABLE "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" MODIFY ("MOD_USER" NOT NULL ENABLE);
21298
  ALTER TABLE "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" MODIFY ("MOD_DATE" NOT NULL ENABLE);
21299
  ALTER TABLE "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" MODIFY ("PV_ID" NOT NULL ENABLE);
4040 dpurdie 21300
--------------------------------------------------------
6999 dpurdie 21301
--  Constraints for Table DAEMON_INSTRUCTIONS
4040 dpurdie 21302
--------------------------------------------------------
21303
 
6999 dpurdie 21304
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" ADD CONSTRAINT "DAEMON_INSTRUCTIONS_UK1" UNIQUE ("OP_CODE", "RTAG_ID", "PV_ID")
21305
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21306
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21307
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21308
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21309
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21310
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" ADD CONSTRAINT "DAEMON_INSTRUCTIONS_PK" PRIMARY KEY ("DAEMON_INSTRUCTIONS_ID")
21311
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21312
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21313
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21314
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21315
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21316
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" MODIFY ("OP_CODE" NOT NULL ENABLE);
21317
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" MODIFY ("DAEMON_INSTRUCTIONS_ID" NOT NULL ENABLE);
4040 dpurdie 21318
--------------------------------------------------------
6999 dpurdie 21319
--  Constraints for Table BUILD_ENV_DOCUMENTS
4040 dpurdie 21320
--------------------------------------------------------
21321
 
6999 dpurdie 21322
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS" MODIFY ("DOC_NUM" NOT NULL ENABLE);
21323
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS" MODIFY ("BE_ID" NOT NULL ENABLE);
4040 dpurdie 21324
--------------------------------------------------------
7340 dpurdie 21325
--  Constraints for Table BUILD_PLATFORMS
4040 dpurdie 21326
--------------------------------------------------------
21327
 
7340 dpurdie 21328
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS" ADD CONSTRAINT "BUILD_PLATFORMS_UK1" UNIQUE ("BP_NAME")
6999 dpurdie 21329
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21330
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21331
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21332
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
7340 dpurdie 21333
  TABLESPACE "RELEASE_MANAGER_DATA"  ENABLE;
21334
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS" ADD CONSTRAINT "BUILD_PLATFORMS_PK" PRIMARY KEY ("BP_ID")
6999 dpurdie 21335
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21336
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21337
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21338
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
7340 dpurdie 21339
  TABLESPACE "RELEASE_MANAGER_DATA"  ENABLE;
21340
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS" MODIFY ("BP_ACTIVE" NOT NULL ENABLE);
21341
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS" MODIFY ("BP_NAME" NOT NULL ENABLE);
21342
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS" MODIFY ("BP_ID" NOT NULL ENABLE);
4040 dpurdie 21343
--------------------------------------------------------
7340 dpurdie 21344
--  Constraints for Table PACKAGE_PATCHES
4040 dpurdie 21345
--------------------------------------------------------
21346
 
7340 dpurdie 21347
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_PATCHES" MODIFY ("INSTALL_ORDER" NOT NULL ENABLE);
21348
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_PATCHES" MODIFY ("PATCH_ID" NOT NULL ENABLE);
21349
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_PATCHES" MODIFY ("PV_ID" NOT NULL ENABLE);
4040 dpurdie 21350
--------------------------------------------------------
6999 dpurdie 21351
--  Constraints for Table PROJECTS
4040 dpurdie 21352
--------------------------------------------------------
21353
 
6999 dpurdie 21354
  ALTER TABLE "RELEASE_MANAGER"."PROJECTS" ADD CONSTRAINT "PK_PROJECTS" PRIMARY KEY ("PROJ_ID")
21355
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21356
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21357
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21358
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21359
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21360
  ALTER TABLE "RELEASE_MANAGER"."PROJECTS" MODIFY ("PROJ_NAME" NOT NULL ENABLE);
21361
  ALTER TABLE "RELEASE_MANAGER"."PROJECTS" MODIFY ("PROJ_ID" NOT NULL ENABLE);
4040 dpurdie 21362
--------------------------------------------------------
7340 dpurdie 21363
--  Constraints for Table VIEW_DEF
4040 dpurdie 21364
--------------------------------------------------------
21365
 
7340 dpurdie 21366
  ALTER TABLE "RELEASE_MANAGER"."VIEW_DEF" MODIFY ("PKG_ID" NOT NULL ENABLE);
21367
  ALTER TABLE "RELEASE_MANAGER"."VIEW_DEF" MODIFY ("VIEW_ID" NOT NULL ENABLE);
4040 dpurdie 21368
--------------------------------------------------------
6999 dpurdie 21369
--  Constraints for Table VIEWS
4040 dpurdie 21370
--------------------------------------------------------
21371
 
6999 dpurdie 21372
  ALTER TABLE "RELEASE_MANAGER"."VIEWS" ADD CONSTRAINT "PK_VIEWS" PRIMARY KEY ("VIEW_ID")
21373
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
21374
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
21375
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
21376
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
21377
  TABLESPACE "RELEASE_MANAGER_INDX"  ENABLE;
21378
  ALTER TABLE "RELEASE_MANAGER"."VIEWS" MODIFY ("PUBLIC_READ" NOT NULL ENABLE);
21379
  ALTER TABLE "RELEASE_MANAGER"."VIEWS" MODIFY ("BASE_VIEW" NOT NULL ENABLE);
21380
  ALTER TABLE "RELEASE_MANAGER"."VIEWS" MODIFY ("OWNER_ID" NOT NULL ENABLE);
21381
  ALTER TABLE "RELEASE_MANAGER"."VIEWS" MODIFY ("VIEW_NAME" NOT NULL ENABLE);
21382
  ALTER TABLE "RELEASE_MANAGER"."VIEWS" MODIFY ("VIEW_ID" NOT NULL ENABLE);
4040 dpurdie 21383
--------------------------------------------------------
7039 dpurdie 21384
--  Ref Constraints for Table ABT_ACTION_LOG
21385
--------------------------------------------------------
21386
 
21387
  ALTER TABLE "RELEASE_MANAGER"."ABT_ACTION_LOG" ADD FOREIGN KEY ("RCON_ID")
21388
	  REFERENCES "RELEASE_MANAGER"."RELEASE_CONFIG" ("RCON_ID") ENABLE;
21389
--------------------------------------------------------
21390
--  Ref Constraints for Table ACTION_LOG
21391
--------------------------------------------------------
21392
 
21393
  ALTER TABLE "RELEASE_MANAGER"."ACTION_LOG" ADD CONSTRAINT "ACTION_LOG_FK1" FOREIGN KEY ("PV_ID")
21394
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ON DELETE CASCADE ENABLE;
21395
  ALTER TABLE "RELEASE_MANAGER"."ACTION_LOG" ADD CONSTRAINT "REFACTION_TYPE48" FOREIGN KEY ("ACTTYPE_ID")
21396
	  REFERENCES "RELEASE_MANAGER"."ACTION_TYPE" ("ACTTYPE_ID") ENABLE;
21397
--------------------------------------------------------
21398
--  Ref Constraints for Table ADDITIONAL_NOTES
21399
--------------------------------------------------------
21400
 
21401
  ALTER TABLE "RELEASE_MANAGER"."ADDITIONAL_NOTES" ADD CONSTRAINT "FK_ADDITION_REF_PV_ID" FOREIGN KEY ("PV_ID")
21402
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21403
--------------------------------------------------------
21404
--  Ref Constraints for Table ADVISORY_RIPPLE
21405
--------------------------------------------------------
21406
 
21407
  ALTER TABLE "RELEASE_MANAGER"."ADVISORY_RIPPLE" ADD FOREIGN KEY ("RTAG_ID")
21408
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21409
  ALTER TABLE "RELEASE_MANAGER"."ADVISORY_RIPPLE" ADD FOREIGN KEY ("PV_ID")
21410
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21411
--------------------------------------------------------
21412
--  Ref Constraints for Table AUTOBUILD_FAILURE
21413
--------------------------------------------------------
21414
 
21415
  ALTER TABLE "RELEASE_MANAGER"."AUTOBUILD_FAILURE" ADD FOREIGN KEY ("PROJ_ID")
21416
	  REFERENCES "RELEASE_MANAGER"."PROJECTS" ("PROJ_ID") ENABLE;
21417
  ALTER TABLE "RELEASE_MANAGER"."AUTOBUILD_FAILURE" ADD FOREIGN KEY ("VIEW_ID")
21418
	  REFERENCES "RELEASE_MANAGER"."VIEWS" ("VIEW_ID") ENABLE;
21419
--------------------------------------------------------
21420
--  Ref Constraints for Table BLAT_PROJECTS
21421
--------------------------------------------------------
21422
 
21423
  ALTER TABLE "RELEASE_MANAGER"."BLAT_PROJECTS" ADD CONSTRAINT "BLAT_PROJECTS_FK1" FOREIGN KEY ("BLAT_ID")
21424
	  REFERENCES "RELEASE_MANAGER"."BLAT_SERVERS" ("BLAT_ID") ON DELETE CASCADE ENABLE;
21425
  ALTER TABLE "RELEASE_MANAGER"."BLAT_PROJECTS" ADD CONSTRAINT "BLAT_PROJECTS_FK2" FOREIGN KEY ("PROJ_ID")
21426
	  REFERENCES "RELEASE_MANAGER"."PROJECTS" ("PROJ_ID") ON DELETE CASCADE ENABLE;
21427
--------------------------------------------------------
21428
--  Ref Constraints for Table BLAT_RELEASES
21429
--------------------------------------------------------
21430
 
21431
  ALTER TABLE "RELEASE_MANAGER"."BLAT_RELEASES" ADD CONSTRAINT "BLAT_RELEASES_FK1" FOREIGN KEY ("BLAT_ID")
21432
	  REFERENCES "RELEASE_MANAGER"."BLAT_SERVERS" ("BLAT_ID") ON DELETE CASCADE ENABLE;
21433
  ALTER TABLE "RELEASE_MANAGER"."BLAT_RELEASES" ADD CONSTRAINT "BLAT_RELEASES_FK2" FOREIGN KEY ("RTAG_ID")
21434
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ON DELETE CASCADE ENABLE;
21435
--------------------------------------------------------
21436
--  Ref Constraints for Table BUILD_ENV_DOCUMENTS
21437
--------------------------------------------------------
21438
 
21439
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ENV_DOCUMENTS" ADD CONSTRAINT "FK_BUILD_E_DOCS_REF_BUILD_ENV" FOREIGN KEY ("BE_ID")
21440
	  REFERENCES "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" ("BE_ID") ENABLE;
21441
--------------------------------------------------------
21442
--  Ref Constraints for Table BUILD_INSTANCES
21443
--------------------------------------------------------
21444
 
21445
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCES" ADD CONSTRAINT "BUILD_INSTANCES_FK1" FOREIGN KEY ("RTAG_ID")
21446
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ON DELETE SET NULL ENABLE;
21447
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCES" ADD CONSTRAINT "BUILD_INSTANCES_FK2" FOREIGN KEY ("PV_ID")
21448
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ON DELETE CASCADE ENABLE;
21449
--------------------------------------------------------
7340 dpurdie 21450
--  Ref Constraints for Table BUILD_INSTANCE_PLATFORMS
21451
--------------------------------------------------------
21452
 
21453
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS" ADD CONSTRAINT "BUILD_INSTANCE_PLATFORMS_FK1" FOREIGN KEY ("BUILD_ID")
21454
	  REFERENCES "RELEASE_MANAGER"."BUILD_INSTANCES" ("BUILD_ID") ON DELETE CASCADE ENABLE;
21455
  ALTER TABLE "RELEASE_MANAGER"."BUILD_INSTANCE_PLATFORMS" ADD CONSTRAINT "BUILD_INSTANCE_PLATFORMS_FK2" FOREIGN KEY ("BP_ID")
21456
	  REFERENCES "RELEASE_MANAGER"."BUILD_PLATFORMS" ("BP_ID") ON DELETE CASCADE ENABLE;
21457
--------------------------------------------------------
7039 dpurdie 21458
--  Ref Constraints for Table BUILD_MACHINE_CONFIG
21459
--------------------------------------------------------
21460
 
21461
  ALTER TABLE "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" ADD CONSTRAINT "FK_BM_GBE_ID" FOREIGN KEY ("GBE_ID")
21462
	  REFERENCES "RELEASE_MANAGER"."GBE_MACHTYPE" ("GBE_ID") ENABLE;
21463
--------------------------------------------------------
21464
--  Ref Constraints for Table BUILD_ORDER
21465
--------------------------------------------------------
21466
 
21467
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ORDER" ADD CONSTRAINT "FK_BO_PV_ID" FOREIGN KEY ("PV_ID")
21468
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21469
  ALTER TABLE "RELEASE_MANAGER"."BUILD_ORDER" ADD CONSTRAINT "FK_BO_RTAG_ID" FOREIGN KEY ("RTAG_ID")
21470
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21471
--------------------------------------------------------
21472
--  Ref Constraints for Table BUILD_PLAN
21473
--------------------------------------------------------
21474
 
21475
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLAN" ADD CONSTRAINT "BUILD_PLAN_FK1" FOREIGN KEY ("PV_ID")
21476
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ON DELETE CASCADE ENABLE;
21477
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLAN" ADD CONSTRAINT "BUILD_PLAN_FK2" FOREIGN KEY ("RTAG_ID")
21478
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ON DELETE CASCADE ENABLE;
21479
--------------------------------------------------------
7340 dpurdie 21480
--  Ref Constraints for Table BUILD_PLATFORMS_CONFIG
21481
--------------------------------------------------------
21482
 
21483
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG" ADD CONSTRAINT "BUILD_PLATFORMS_CONFIG_FK1" FOREIGN KEY ("BP_ID")
21484
	  REFERENCES "RELEASE_MANAGER"."BUILD_PLATFORMS" ("BP_ID") ON DELETE CASCADE ENABLE;
21485
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG" ADD CONSTRAINT "BUILD_PLATFORMS_CONFIG_FK2" FOREIGN KEY ("GBE_ID")
21486
	  REFERENCES "RELEASE_MANAGER"."GBE_MACHTYPE" ("GBE_ID") ON DELETE CASCADE ENABLE;
21487
--------------------------------------------------------
21488
--  Ref Constraints for Table BUILD_PLATFORMS_CONFIG2
21489
--------------------------------------------------------
21490
 
21491
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2" ADD CONSTRAINT "TABLE1_FK1" FOREIGN KEY ("BP_ID")
21492
	  REFERENCES "RELEASE_MANAGER"."BUILD_PLATFORMS" ("BP_ID") ON DELETE CASCADE ENABLE;
21493
  ALTER TABLE "RELEASE_MANAGER"."BUILD_PLATFORMS_CONFIG2" ADD CONSTRAINT "TABLE1_FK2" FOREIGN KEY ("BMCON_ID")
21494
	  REFERENCES "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" ("BMCON_ID") ON DELETE CASCADE ENABLE;
21495
--------------------------------------------------------
7039 dpurdie 21496
--  Ref Constraints for Table BUILD_STANDARDS_ADDENDUM
21497
--------------------------------------------------------
21498
 
21499
  ALTER TABLE "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" ADD CONSTRAINT "BUILD_STANDARDS_ADDENDUM_R01" FOREIGN KEY ("BS_ID")
21500
	  REFERENCES "RELEASE_MANAGER"."BUILD_STANDARDS" ("BS_ID") ENABLE;
21501
--------------------------------------------------------
21502
--  Ref Constraints for Table CODE_REVIEWS
21503
--------------------------------------------------------
21504
 
21505
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEWS" ADD CONSTRAINT "FK_CODE_REV_REF_PV_ID" FOREIGN KEY ("PV_ID")
21506
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21507
--------------------------------------------------------
21508
--  Ref Constraints for Table CODE_REVIEW_URL
21509
--------------------------------------------------------
21510
 
21511
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL" ADD CONSTRAINT "CODE_REVIEW_URL_PACKAGE_V_FK1" FOREIGN KEY ("PV_ID")
21512
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21513
  ALTER TABLE "RELEASE_MANAGER"."CODE_REVIEW_URL" ADD CONSTRAINT "CODE_REVIEW_URL_PROJECT_V_FK1" FOREIGN KEY ("PROJ_ID")
21514
	  REFERENCES "RELEASE_MANAGER"."PROJECTS" ("PROJ_ID") ENABLE;
21515
--------------------------------------------------------
21516
--  Ref Constraints for Table CQ_ISSUES
21517
--------------------------------------------------------
21518
 
21519
  ALTER TABLE "RELEASE_MANAGER"."CQ_ISSUES" ADD CONSTRAINT "FK_CQ_PV_ID" FOREIGN KEY ("PV_ID")
21520
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21521
--------------------------------------------------------
21522
--  Ref Constraints for Table DAEMON_ACTION_LOG
21523
--------------------------------------------------------
21524
 
21525
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_ACTION_LOG" ADD FOREIGN KEY ("RCON_ID")
21526
	  REFERENCES "RELEASE_MANAGER"."RELEASE_CONFIG" ("RCON_ID") ENABLE;
21527
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_ACTION_LOG" ADD FOREIGN KEY ("ACTTYPE_ID")
21528
	  REFERENCES "RELEASE_MANAGER"."ACTION_TYPE" ("ACTTYPE_ID") ENABLE;
21529
--------------------------------------------------------
21530
--  Ref Constraints for Table DAEMON_INSTRUCTIONS
21531
--------------------------------------------------------
21532
 
21533
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" ADD CONSTRAINT "DAEMON_INSTRUCTIONS_PV_ID_FK" FOREIGN KEY ("PV_ID")
21534
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21535
  ALTER TABLE "RELEASE_MANAGER"."DAEMON_INSTRUCTIONS" ADD CONSTRAINT "DAEMON_INSTRUCTIONS_RTAG_ID_FK" FOREIGN KEY ("RTAG_ID")
21536
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21537
--------------------------------------------------------
21538
--  Ref Constraints for Table DASH_BOARD
21539
--------------------------------------------------------
21540
 
21541
  ALTER TABLE "RELEASE_MANAGER"."DASH_BOARD" ADD FOREIGN KEY ("PROJ_ID")
21542
	  REFERENCES "RELEASE_MANAGER"."PROJECTS" ("PROJ_ID") ENABLE;
21543
  ALTER TABLE "RELEASE_MANAGER"."DASH_BOARD" ADD FOREIGN KEY ("RTAG_ID")
21544
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21545
--------------------------------------------------------
21546
--  Ref Constraints for Table DO_NOT_RIPPLE
21547
--------------------------------------------------------
21548
 
21549
  ALTER TABLE "RELEASE_MANAGER"."DO_NOT_RIPPLE" ADD FOREIGN KEY ("PV_ID")
21550
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21551
  ALTER TABLE "RELEASE_MANAGER"."DO_NOT_RIPPLE" ADD FOREIGN KEY ("RTAG_ID")
21552
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21553
--------------------------------------------------------
21554
--  Ref Constraints for Table GBE_MACHTYPE
21555
--------------------------------------------------------
21556
 
21557
  ALTER TABLE "RELEASE_MANAGER"."GBE_MACHTYPE" ADD CONSTRAINT "GBE_MACHTYPE_BUILD_MACHIN_FK1" FOREIGN KEY ("BM_ID")
21558
	  REFERENCES "RELEASE_MANAGER"."BUILD_MACHINES" ("BM_ID") ENABLE;
21559
--------------------------------------------------------
21560
--  Ref Constraints for Table IGNORE_WARNINGS
21561
--------------------------------------------------------
21562
 
21563
  ALTER TABLE "RELEASE_MANAGER"."IGNORE_WARNINGS" ADD CONSTRAINT "FK_IGW_DPV_ID" FOREIGN KEY ("DPV_ID")
21564
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21565
  ALTER TABLE "RELEASE_MANAGER"."IGNORE_WARNINGS" ADD CONSTRAINT "FK_IGW_PV_ID" FOREIGN KEY ("PV_ID")
21566
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21567
  ALTER TABLE "RELEASE_MANAGER"."IGNORE_WARNINGS" ADD CONSTRAINT "FK_IGW_RTAG_ID" FOREIGN KEY ("RTAG_ID")
21568
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21569
--------------------------------------------------------
21570
--  Ref Constraints for Table JIRA_ISSUES
21571
--------------------------------------------------------
21572
 
21573
  ALTER TABLE "RELEASE_MANAGER"."JIRA_ISSUES" ADD CONSTRAINT "FK_JIRA_PV_ID" FOREIGN KEY ("PV_ID")
21574
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21575
--------------------------------------------------------
21576
--  Ref Constraints for Table LICENCING
21577
--------------------------------------------------------
21578
 
21579
  ALTER TABLE "RELEASE_MANAGER"."LICENCING" ADD FOREIGN KEY ("PV_ID")
21580
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21581
  ALTER TABLE "RELEASE_MANAGER"."LICENCING" ADD FOREIGN KEY ("LICENCE")
21582
	  REFERENCES "RELEASE_MANAGER"."LICENCES" ("LICENCE") ENABLE;
21583
--------------------------------------------------------
21584
--  Ref Constraints for Table LXR_STATE
21585
--------------------------------------------------------
21586
 
21587
  ALTER TABLE "RELEASE_MANAGER"."LXR_STATE" ADD CONSTRAINT "LXR_STATE_FK1" FOREIGN KEY ("RTAG_ID")
21588
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ON DELETE CASCADE ENABLE;
21589
--------------------------------------------------------
21590
--  Ref Constraints for Table MEMBERS_GROUP
21591
--------------------------------------------------------
21592
 
21593
  ALTER TABLE "RELEASE_MANAGER"."MEMBERS_GROUP" ADD FOREIGN KEY ("GROUP_EMAIL_ID")
21594
	  REFERENCES "RELEASE_MANAGER"."AUTOBUILD_FAILURE" ("GROUP_EMAIL_ID") ENABLE;
21595
--------------------------------------------------------
21596
--  Ref Constraints for Table NOTIFICATION_HISTORY
21597
--------------------------------------------------------
21598
 
21599
  ALTER TABLE "RELEASE_MANAGER"."NOTIFICATION_HISTORY" ADD CONSTRAINT "FK_NH_RTAG_ID" FOREIGN KEY ("RTAG_ID")
21600
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21601
  ALTER TABLE "RELEASE_MANAGER"."NOTIFICATION_HISTORY" ADD CONSTRAINT "FK_NK_PV_ID" FOREIGN KEY ("PV_ID")
21602
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") DISABLE;
21603
--------------------------------------------------------
21604
--  Ref Constraints for Table PACKAGE_BUILD_ENV
21605
--------------------------------------------------------
21606
 
21607
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" ADD CONSTRAINT "FK_PKG_BUILD_E_REF_BUILD_ENV" FOREIGN KEY ("BE_ID")
21608
	  REFERENCES "RELEASE_MANAGER"."BUILD_ENVIRONMENTS" ("BE_ID") ENABLE;
21609
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_ENV" ADD CONSTRAINT "FK_PKG_BUILD_E_REF_PKG_VERSION" FOREIGN KEY ("PV_ID")
21610
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21611
--------------------------------------------------------
21612
--  Ref Constraints for Table PACKAGE_BUILD_INFO
21613
--------------------------------------------------------
21614
 
7340 dpurdie 21615
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" ADD CONSTRAINT "PACKAGE_BUILD_INFO_FK1" FOREIGN KEY ("BSA_ID")
21616
	  REFERENCES "RELEASE_MANAGER"."BUILD_STANDARDS_ADDENDUM" ("BSA_ID") ENABLE;
7039 dpurdie 21617
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" ADD FOREIGN KEY ("PV_ID")
21618
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21619
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_BUILD_INFO" ADD FOREIGN KEY ("BM_ID")
21620
	  REFERENCES "RELEASE_MANAGER"."BUILD_MACHINES" ("BM_ID") ENABLE;
21621
--------------------------------------------------------
21622
--  Ref Constraints for Table PACKAGE_DEPENDENCIES
21623
--------------------------------------------------------
21624
 
21625
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ADD CONSTRAINT "PACKAGE_DEPENDENCIES_FK1" FOREIGN KEY ("PV_ID")
21626
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ON DELETE CASCADE ENABLE;
21627
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ADD CONSTRAINT "PACKAGE_DEPENDENCIES_FK2" FOREIGN KEY ("DPV_ID")
21628
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ON DELETE CASCADE ENABLE;
21629
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ADD CONSTRAINT "PACKAGE_DEPENDENCIES_FK3" FOREIGN KEY ("DPKG_ID")
21630
	  REFERENCES "RELEASE_MANAGER"."PACKAGES" ("PKG_ID") ON DELETE CASCADE ENABLE;
21631
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DEPENDENCIES" ADD CONSTRAINT "PACKAGE_DEPENDENCIES_FK4" FOREIGN KEY ("PKG_ID")
21632
	  REFERENCES "RELEASE_MANAGER"."PACKAGES" ("PKG_ID") ON DELETE CASCADE ENABLE;
21633
--------------------------------------------------------
21634
--  Ref Constraints for Table PACKAGE_DOCUMENTS
21635
--------------------------------------------------------
21636
 
21637
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_DOCUMENTS" ADD CONSTRAINT "FK_PKGDOCS_REF_PV" FOREIGN KEY ("PV_ID")
21638
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21639
--------------------------------------------------------
21640
--  Ref Constraints for Table PACKAGE_INTEREST
21641
--------------------------------------------------------
21642
 
21643
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_INTEREST" ADD FOREIGN KEY ("PROJ_ID")
21644
	  REFERENCES "RELEASE_MANAGER"."PROJECTS" ("PROJ_ID") ENABLE;
21645
--------------------------------------------------------
21646
--  Ref Constraints for Table PACKAGE_METRICS
21647
--------------------------------------------------------
21648
 
21649
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_METRICS" ADD CONSTRAINT "FK_PACKAGE_METRICS_PV_ID" FOREIGN KEY ("PV_ID")
21650
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21651
--------------------------------------------------------
21652
--  Ref Constraints for Table PACKAGE_PATCHES
21653
--------------------------------------------------------
21654
 
21655
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_PATCHES" ADD CONSTRAINT "FK_PP_PATCH_ID" FOREIGN KEY ("PATCH_ID")
21656
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21657
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_PATCHES" ADD CONSTRAINT "FK_PP_PV_ID" FOREIGN KEY ("PV_ID")
21658
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21659
--------------------------------------------------------
21660
--  Ref Constraints for Table PACKAGE_PROCESSES
21661
--------------------------------------------------------
21662
 
21663
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_PROCESSES" ADD CONSTRAINT "PACKAGE_PROCESSES_R01" FOREIGN KEY ("PV_ID")
21664
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21665
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_PROCESSES" ADD CONSTRAINT "PACKAGE_PROCESSES_R02" FOREIGN KEY ("PROC_ID")
21666
	  REFERENCES "RELEASE_MANAGER"."PROCESSES" ("PROC_ID") ENABLE;
21667
--------------------------------------------------------
21668
--  Ref Constraints for Table PACKAGE_VERSIONS
21669
--------------------------------------------------------
21670
 
21671
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" ADD CONSTRAINT "PACKAGE_VERSIONS_VCS_TYPE" FOREIGN KEY ("VCS_TYPE_ID")
21672
	  REFERENCES "RELEASE_MANAGER"."VCS_TYPE" ("VCS_TYPE_ID") ENABLE;
21673
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" ADD CONSTRAINT "PKG_NAME_EXISTS" FOREIGN KEY ("PKG_ID")
21674
	  REFERENCES "RELEASE_MANAGER"."PACKAGES" ("PKG_ID") ENABLE;
21675
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSIONS" ADD FOREIGN KEY ("BS_ID")
21676
	  REFERENCES "RELEASE_MANAGER"."BUILD_STANDARDS" ("BS_ID") ENABLE;
21677
--------------------------------------------------------
7340 dpurdie 21678
--  Ref Constraints for Table PACKAGE_VERSION_PLATFORMS
21679
--------------------------------------------------------
21680
 
21681
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSION_PLATFORMS" ADD CONSTRAINT "PACKAGE_VERSIONS_PLATFORM_FK1" FOREIGN KEY ("PV_ID")
21682
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ON DELETE CASCADE ENABLE;
21683
  ALTER TABLE "RELEASE_MANAGER"."PACKAGE_VERSION_PLATFORMS" ADD CONSTRAINT "PACKAGE_VERSION_PLATFORMS_FK1" FOREIGN KEY ("BP_ID")
21684
	  REFERENCES "RELEASE_MANAGER"."BUILD_PLATFORMS" ("BP_ID") ON DELETE CASCADE ENABLE;
21685
--------------------------------------------------------
7039 dpurdie 21686
--  Ref Constraints for Table PEGGED_VERSIONS
21687
--------------------------------------------------------
21688
 
21689
  ALTER TABLE "RELEASE_MANAGER"."PEGGED_VERSIONS" ADD CONSTRAINT "PEGGED_VERSIONS_PACKAG_FK1" FOREIGN KEY ("PV_ID")
21690
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21691
  ALTER TABLE "RELEASE_MANAGER"."PEGGED_VERSIONS" ADD CONSTRAINT "PEGGED_VERSIONS_RELEAS_FK1" FOREIGN KEY ("RTAG_ID")
21692
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21693
--------------------------------------------------------
21694
--  Ref Constraints for Table PLANNED
21695
--------------------------------------------------------
21696
 
21697
  ALTER TABLE "RELEASE_MANAGER"."PLANNED" ADD CONSTRAINT "REFPACKAGE_VERSIONS54" FOREIGN KEY ("PV_ID")
21698
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21699
  ALTER TABLE "RELEASE_MANAGER"."PLANNED" ADD CONSTRAINT "REFRELEASE_TAGS53" FOREIGN KEY ("RTAG_ID")
21700
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21701
  ALTER TABLE "RELEASE_MANAGER"."PLANNED" ADD CONSTRAINT "REFVIEWS55" FOREIGN KEY ("VIEW_ID")
21702
	  REFERENCES "RELEASE_MANAGER"."VIEWS" ("VIEW_ID") ENABLE;
21703
--------------------------------------------------------
21704
--  Ref Constraints for Table PLANNED_VERSIONS
21705
--------------------------------------------------------
21706
 
21707
  ALTER TABLE "RELEASE_MANAGER"."PLANNED_VERSIONS" ADD FOREIGN KEY ("PKG_ID")
21708
	  REFERENCES "RELEASE_MANAGER"."PACKAGES" ("PKG_ID") ENABLE;
21709
--------------------------------------------------------
21710
--  Ref Constraints for Table PRODUCT_COMPONENTS
21711
--------------------------------------------------------
21712
 
21713
  ALTER TABLE "RELEASE_MANAGER"."PRODUCT_COMPONENTS" ADD CONSTRAINT "REFPACKAGE_VERSIONS49" FOREIGN KEY ("PV_ID")
21714
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21715
--------------------------------------------------------
21716
--  Ref Constraints for Table PROJECT_ACTION_LOG
21717
--------------------------------------------------------
21718
 
21719
  ALTER TABLE "RELEASE_MANAGER"."PROJECT_ACTION_LOG" ADD CONSTRAINT "REFACTION_TYPE63" FOREIGN KEY ("ACTTYPE_ID")
21720
	  REFERENCES "RELEASE_MANAGER"."ACTION_TYPE" ("ACTTYPE_ID") ENABLE;
21721
  ALTER TABLE "RELEASE_MANAGER"."PROJECT_ACTION_LOG" ADD FOREIGN KEY ("RTAG_ID")
21722
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") DISABLE;
21723
--------------------------------------------------------
21724
--  Ref Constraints for Table RELEASE_COMPONENTS
21725
--------------------------------------------------------
21726
 
21727
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_COMPONENTS" ADD CONSTRAINT "FK_RCONT_PV_ID" FOREIGN KEY ("PV_ID")
21728
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21729
--------------------------------------------------------
21730
--  Ref Constraints for Table RELEASE_CONFIG
21731
--------------------------------------------------------
21732
 
7340 dpurdie 21733
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONFIG" ADD CONSTRAINT "RELEASE_CONFIG_FK1" FOREIGN KEY ("BMCON_ID")
21734
	  REFERENCES "RELEASE_MANAGER"."BUILD_MACHINE_CONFIG" ("BMCON_ID") ENABLE;
7039 dpurdie 21735
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONFIG" ADD FOREIGN KEY ("RTAG_ID")
21736
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21737
--------------------------------------------------------
21738
--  Ref Constraints for Table RELEASE_CONTENT
21739
--------------------------------------------------------
21740
 
21741
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" ADD CONSTRAINT "RELEASE_CONTENT_FK1" FOREIGN KEY ("SDKTAG_ID")
21742
	  REFERENCES "RELEASE_MANAGER"."SDK_TAGS" ("SDKTAG_ID") ENABLE;
21743
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" ADD FOREIGN KEY ("PKG_ID")
21744
	  REFERENCES "RELEASE_MANAGER"."PACKAGES" ("PKG_ID") ENABLE;
21745
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_CONTENT" ADD FOREIGN KEY ("PRODUCT_STATE")
21746
	  REFERENCES "RELEASE_MANAGER"."PRODUCT_STATES" ("STATE_ID") ENABLE;
21747
--------------------------------------------------------
21748
--  Ref Constraints for Table RELEASE_LINKS
21749
--------------------------------------------------------
21750
 
21751
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_LINKS" ADD CONSTRAINT "REFRELEASE_TAGS56" FOREIGN KEY ("RTAG_ID")
21752
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21753
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_LINKS" ADD CONSTRAINT "REFRELEASE_TAGS58" FOREIGN KEY ("REF_RTAG_ID")
21754
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21755
--------------------------------------------------------
21756
--  Ref Constraints for Table RELEASE_METRICS
21757
--------------------------------------------------------
21758
 
21759
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_METRICS" ADD CONSTRAINT "FK_RELEASE_METRICS_RTAG_ID" FOREIGN KEY ("RTAG_ID")
21760
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21761
--------------------------------------------------------
21762
--  Ref Constraints for Table RELEASE_MODIFIED
21763
--------------------------------------------------------
21764
 
21765
  ALTER TABLE "RELEASE_MANAGER"."RELEASE_MODIFIED" ADD CONSTRAINT "RELEASE_MODIFIED_RELEASE__FK1" FOREIGN KEY ("RTAG_ID")
21766
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ON DELETE CASCADE ENABLE;
21767
--------------------------------------------------------
21768
--  Ref Constraints for Table RUNTIME_DEPENDENCIES
21769
--------------------------------------------------------
21770
 
21771
  ALTER TABLE "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" ADD CONSTRAINT "FK_RTD_PV_ID" FOREIGN KEY ("PV_ID")
21772
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21773
  ALTER TABLE "RELEASE_MANAGER"."RUNTIME_DEPENDENCIES" ADD CONSTRAINT "FK_RTD_RTD_ID" FOREIGN KEY ("RTD_ID")
21774
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21775
--------------------------------------------------------
21776
--  Ref Constraints for Table RUN_LEVEL
21777
--------------------------------------------------------
21778
 
21779
  ALTER TABLE "RELEASE_MANAGER"."RUN_LEVEL" ADD FOREIGN KEY ("RCON_ID")
21780
	  REFERENCES "RELEASE_MANAGER"."RELEASE_CONFIG" ("RCON_ID") ENABLE;
21781
  ALTER TABLE "RELEASE_MANAGER"."RUN_LEVEL" ADD FOREIGN KEY ("CURRENT_PKG_ID_BEING_BUILT")
21782
	  REFERENCES "RELEASE_MANAGER"."PACKAGES" ("PKG_ID") ENABLE;
21783
--------------------------------------------------------
21784
--  Ref Constraints for Table SDK_CONTENT
21785
--------------------------------------------------------
21786
 
21787
  ALTER TABLE "RELEASE_MANAGER"."SDK_CONTENT" ADD CONSTRAINT "SDK_CONTENT_FK1" FOREIGN KEY ("PV_ID")
21788
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21789
  ALTER TABLE "RELEASE_MANAGER"."SDK_CONTENT" ADD CONSTRAINT "SDK_CONTENT_FK2" FOREIGN KEY ("SDKTAG_ID")
21790
	  REFERENCES "RELEASE_MANAGER"."SDK_TAGS" ("SDKTAG_ID") ENABLE;
21791
--------------------------------------------------------
21792
--  Ref Constraints for Table SDK_NAMES
21793
--------------------------------------------------------
21794
 
21795
  ALTER TABLE "RELEASE_MANAGER"."SDK_NAMES" ADD CONSTRAINT "SDK_NAMES_FK1" FOREIGN KEY ("VIEW_ID")
21796
	  REFERENCES "RELEASE_MANAGER"."VIEWS" ("VIEW_ID") ENABLE;
21797
  ALTER TABLE "RELEASE_MANAGER"."SDK_NAMES" ADD CONSTRAINT "SDK_NAMES_FK2" FOREIGN KEY ("PROJ_ID")
21798
	  REFERENCES "RELEASE_MANAGER"."PROJECTS" ("PROJ_ID") ENABLE;
21799
--------------------------------------------------------
21800
--  Ref Constraints for Table SDK_TAGS
21801
--------------------------------------------------------
21802
 
21803
  ALTER TABLE "RELEASE_MANAGER"."SDK_TAGS" ADD CONSTRAINT "SDK_TAGS_FK1" FOREIGN KEY ("SDK_ID")
21804
	  REFERENCES "RELEASE_MANAGER"."SDK_NAMES" ("SDK_ID") ENABLE;
21805
  ALTER TABLE "RELEASE_MANAGER"."SDK_TAGS" ADD CONSTRAINT "SDK_TAGS_FK2" FOREIGN KEY ("RTAG_ID")
21806
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21807
--------------------------------------------------------
21808
--  Ref Constraints for Table TEST_RUN
21809
--------------------------------------------------------
21810
 
21811
  ALTER TABLE "RELEASE_MANAGER"."TEST_RUN" ADD CONSTRAINT "TEST_RUN_FK1" FOREIGN KEY ("BUILD_ID")
21812
	  REFERENCES "RELEASE_MANAGER"."BUILD_INSTANCES" ("BUILD_ID") ON DELETE CASCADE ENABLE;
21813
--------------------------------------------------------
21814
--  Ref Constraints for Table UNIT_TESTS
21815
--------------------------------------------------------
21816
 
21817
  ALTER TABLE "RELEASE_MANAGER"."UNIT_TESTS" ADD CONSTRAINT "FK_UT_REF_PV_ID" FOREIGN KEY ("PV_ID")
21818
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21819
  ALTER TABLE "RELEASE_MANAGER"."UNIT_TESTS" ADD CONSTRAINT "FK_UT_REF_TEST_TYPES" FOREIGN KEY ("TEST_TYPES_FK")
21820
	  REFERENCES "RELEASE_MANAGER"."TEST_TYPES" ("TEST_TYPE_ID") ENABLE;
21821
--------------------------------------------------------
21822
--  Ref Constraints for Table VTREES_WORLD
21823
--------------------------------------------------------
21824
 
21825
  ALTER TABLE "RELEASE_MANAGER"."VTREES_WORLD" ADD CONSTRAINT "FK_VW_REF_VTREE_ID" FOREIGN KEY ("VTREE_ID")
21826
	  REFERENCES "RELEASE_MANAGER"."VTREES" ("VTREE_ID") ENABLE;
21827
  ALTER TABLE "RELEASE_MANAGER"."VTREES_WORLD" ADD CONSTRAINT "FK_VW_REF_WORLD_ID" FOREIGN KEY ("WORLD_ID")
21828
	  REFERENCES "RELEASE_MANAGER"."WORLDS" ("WORLD_ID") ENABLE;
21829
--------------------------------------------------------
21830
--  Ref Constraints for Table WORK_IN_PROGRESS
21831
--------------------------------------------------------
21832
 
21833
  ALTER TABLE "RELEASE_MANAGER"."WORK_IN_PROGRESS" ADD CONSTRAINT "REFPACKAGE_VERSIONS51" FOREIGN KEY ("PV_ID")
21834
	  REFERENCES "RELEASE_MANAGER"."PACKAGE_VERSIONS" ("PV_ID") ENABLE;
21835
  ALTER TABLE "RELEASE_MANAGER"."WORK_IN_PROGRESS" ADD CONSTRAINT "REFRELEASE_TAGS50" FOREIGN KEY ("RTAG_ID")
21836
	  REFERENCES "RELEASE_MANAGER"."RELEASE_TAGS" ("RTAG_ID") ENABLE;
21837
  ALTER TABLE "RELEASE_MANAGER"."WORK_IN_PROGRESS" ADD CONSTRAINT "REFVIEWS52" FOREIGN KEY ("VIEW_ID")
21838
	  REFERENCES "RELEASE_MANAGER"."VIEWS" ("VIEW_ID") ENABLE;