upgrade-01-023-to-02-000.sql 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  1. -- Licensed Materials - Property of IBM
  2. -- BI and PM: Mobile
  3. -- (C) Copyright IBM Corp. 2007, 2012
  4. -- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  5. -- 023-024
  6. DECLARE
  7. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  8. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  9. BEGIN
  10. EXECUTE IMMEDIATE 'DROP TABLE MOB_CODE';
  11. EXCEPTION
  12. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  13. NULL;
  14. END;
  15. /
  16. DECLARE
  17. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  18. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  19. BEGIN
  20. EXECUTE IMMEDIATE 'DROP TABLE MOB_STRINGS';
  21. EXCEPTION
  22. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  23. NULL;
  24. END;
  25. /
  26. DECLARE
  27. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  28. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  29. BEGIN
  30. EXECUTE IMMEDIATE 'DROP TABLE MOB_INBOXES';
  31. EXCEPTION
  32. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  33. NULL;
  34. END;
  35. /
  36. DECLARE
  37. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  38. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  39. BEGIN
  40. EXECUTE IMMEDIATE 'DROP TABLE MOB_JOB';
  41. EXCEPTION
  42. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  43. NULL;
  44. END;
  45. /
  46. DECLARE
  47. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  48. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  49. BEGIN
  50. EXECUTE IMMEDIATE 'DROP TABLE MOB_JOB_RECIPIENT';
  51. EXCEPTION
  52. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  53. NULL;
  54. END;
  55. /
  56. -- MOB_RESOURCES
  57. DECLARE
  58. TABLE_EXISTS_EXCEPTION EXCEPTION;
  59. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  60. BEGIN
  61. EXECUTE IMMEDIATE 'CREATE TABLE MOB_RESOURCES (
  62. RESOURCE_ID int PRIMARY KEY NOT NULL, -- identity
  63. LABEL varchar (100) NULL,
  64. IDENTIFIER varchar (200) NULL,
  65. CM_PATH varchar (1000) NULL,
  66. SOURCE_PATH varchar (1000) NULL,
  67. DESCRIPTION varchar (500) NULL,
  68. RESOURCE_TYPE int DEFAULT 0 NOT NULL
  69. )';
  70. EXCEPTION
  71. WHEN TABLE_EXISTS_EXCEPTION THEN
  72. NULL;
  73. END;
  74. /
  75. DECLARE
  76. INDEX_EXISTS_EXCEPTION EXCEPTION;
  77. PRAGMA EXCEPTION_INIT (INDEX_EXISTS_EXCEPTION, -955);
  78. BEGIN
  79. EXECUTE IMMEDIATE 'CREATE INDEX IDX_MOB_REP_ID ON MOB_RESOURCES(IDENTIFIER)';
  80. EXCEPTION
  81. WHEN INDEX_EXISTS_EXCEPTION THEN
  82. NULL;
  83. END;
  84. /
  85. DECLARE
  86. SEQUENCE_EXISTS_EXCEPTION EXCEPTION;
  87. PRAGMA EXCEPTION_INIT (SEQUENCE_EXISTS_EXCEPTION, -955);
  88. BEGIN
  89. EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_MOB_RESOURCES START WITH 1 INCREMENT BY 1 NOMAXVALUE';
  90. EXCEPTION
  91. WHEN SEQUENCE_EXISTS_EXCEPTION THEN
  92. NULL;
  93. END;
  94. /
  95. CREATE OR REPLACE TRIGGER "TRIGGER_MOB_RESOURCES" BEFORE INSERT ON "MOB_RESOURCES" FOR EACH ROW
  96. BEGIN
  97. SELECT SEQ_MOB_RESOURCES.nextval INTO :new.RESOURCE_ID FROM DUAL;
  98. END;
  99. /
  100. DECLARE
  101. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  102. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  103. BEGIN
  104. EXECUTE IMMEDIATE 'DROP TABLE MOB_RENDERS';
  105. EXCEPTION
  106. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  107. NULL;
  108. END;
  109. /
  110. DECLARE
  111. TABLE_EXISTS_EXCEPTION EXCEPTION;
  112. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  113. BEGIN
  114. EXECUTE IMMEDIATE 'CREATE TABLE MOB_RENDERS (
  115. RENDER_ID int PRIMARY KEY NOT NULL, -- identity
  116. RENDER_TIME timestamp NOT NULL,
  117. RENDER_SIZE int NOT NULL,
  118. STATUS_CODE int NOT NULL,
  119. SOURCE_CODE smallint NULL,
  120. DRILL_PARAMS varchar (1000) NULL,
  121. RESOURCE_ID int NOT NULL,
  122. CONSTRAINT FK_MOB_R_RSID FOREIGN KEY(RESOURCE_ID) REFERENCES MOB_RESOURCES(RESOURCE_ID)
  123. )';
  124. EXCEPTION
  125. WHEN TABLE_EXISTS_EXCEPTION THEN
  126. NULL;
  127. END;
  128. /
  129. DECLARE
  130. SEQUENCE_EXISTS_EXCEPTION EXCEPTION;
  131. PRAGMA EXCEPTION_INIT (SEQUENCE_EXISTS_EXCEPTION, -955);
  132. BEGIN
  133. EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_MOB_RENDERS START WITH 1 INCREMENT BY 1 NOMAXVALUE';
  134. EXCEPTION
  135. WHEN SEQUENCE_EXISTS_EXCEPTION THEN
  136. NULL;
  137. END;
  138. /
  139. CREATE OR REPLACE TRIGGER "TRIGGER_MOB_RENDERS" BEFORE INSERT ON "MOB_RENDERS" FOR EACH ROW
  140. BEGIN
  141. SELECT SEQ_MOB_RENDERS.nextval INTO :new.RENDER_ID FROM DUAL;
  142. END;
  143. /
  144. -- 024-025
  145. DECLARE
  146. TABLE_EXISTS_EXCEPTION EXCEPTION;
  147. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  148. BEGIN
  149. EXECUTE IMMEDIATE 'CREATE TABLE MOB_HISTORY (
  150. HISTORY_ID int PRIMARY KEY NOT NULL, -- identity
  151. EVENT_TIME timestamp NULL,
  152. EVENT_CODE int NOT NULL,
  153. ARGUMENTS varchar (1000) NULL
  154. )';
  155. EXECUTE IMMEDIATE 'CREATE INDEX IDX_HISTORY_CODE ON MOB_HISTORY(EVENT_CODE)';
  156. EXECUTE IMMEDIATE 'CREATE INDEX IDX_HISTORY_TIME ON MOB_HISTORY(EVENT_TIME)';
  157. EXCEPTION
  158. WHEN TABLE_EXISTS_EXCEPTION THEN
  159. NULL;
  160. END;
  161. /
  162. DECLARE
  163. SEQUENCE_EXISTS_EXCEPTION EXCEPTION;
  164. PRAGMA EXCEPTION_INIT (SEQUENCE_EXISTS_EXCEPTION, -955);
  165. BEGIN
  166. EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_MOB_HISTORY START WITH 1 INCREMENT BY 1 NOMAXVALUE';
  167. EXCEPTION
  168. WHEN SEQUENCE_EXISTS_EXCEPTION THEN
  169. NULL;
  170. END;
  171. /
  172. CREATE OR REPLACE TRIGGER "TRIGGER_MOB_HISTORY" BEFORE INSERT ON "MOB_HISTORY" FOR EACH ROW
  173. BEGIN
  174. SELECT SEQ_MOB_HISTORY.nextval INTO :new.HISTORY_ID FROM DUAL;
  175. END;
  176. /
  177. -- MOB_USERS
  178. DECLARE
  179. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  180. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  181. BEGIN
  182. EXECUTE IMMEDIATE 'DROP TABLE MOB_USERS';
  183. EXCEPTION
  184. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  185. NULL;
  186. END;
  187. /
  188. DECLARE
  189. TABLE_EXISTS_EXCEPTION EXCEPTION;
  190. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  191. BEGIN
  192. EXECUTE IMMEDIATE 'CREATE TABLE MOB_USERS (
  193. USER_ID int PRIMARY KEY NOT NULL,
  194. DEVICE_ID varchar (100) NULL,
  195. DEVICE_PROFILE varchar (200) NULL,
  196. CREDENTIAL_PATH varchar (200) NULL,
  197. CAM_ID varchar (100) NULL,
  198. KEY_TYPE varchar (20) NULL,
  199. KEY_BYTES blob NULL,
  200. SYNC_METHOD varchar (20) NULL,
  201. LAST_LOGIN timestamp NULL
  202. )';
  203. EXECUTE IMMEDIATE 'CREATE INDEX IDX_CAM_ID ON MOB_USERS(CAM_ID)';
  204. EXCEPTION
  205. WHEN TABLE_EXISTS_EXCEPTION THEN
  206. NULL;
  207. END;
  208. /
  209. DECLARE
  210. SEQUENCE_EXISTS_EXCEPTION EXCEPTION;
  211. PRAGMA EXCEPTION_INIT (SEQUENCE_EXISTS_EXCEPTION, -955);
  212. BEGIN
  213. EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQ_MOB_USERS START WITH 1 INCREMENT BY 1 NOMAXVALUE';
  214. EXCEPTION
  215. WHEN SEQUENCE_EXISTS_EXCEPTION THEN
  216. NULL;
  217. END;
  218. /
  219. CREATE OR REPLACE TRIGGER "TRIGGER_MOB_USERS" BEFORE INSERT ON "MOB_USERS" FOR EACH ROW
  220. BEGIN
  221. SELECT SEQ_MOB_USERS.nextval INTO :new.USER_ID FROM DUAL;
  222. END;
  223. /
  224. -- MOB_USER_HISTORY
  225. DECLARE
  226. TABLE_EXISTS_EXCEPTION EXCEPTION;
  227. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  228. BEGIN
  229. EXECUTE IMMEDIATE 'CREATE TABLE MOB_USER_HISTORY (
  230. USER_ID int NOT NULL,
  231. HISTORY_ID int NOT NULL,
  232. CONSTRAINT FK_MOB_UH_UID FOREIGN KEY(USER_ID) REFERENCES MOB_USERS(USER_ID) ON DELETE CASCADE,
  233. CONSTRAINT FK_MOB_UH_HID FOREIGN KEY(HISTORY_ID) REFERENCES MOB_HISTORY(HISTORY_ID) ON DELETE CASCADE,
  234. CONSTRAINT PK_MOB_UH_UID PRIMARY KEY(USER_ID, HISTORY_ID)
  235. )';
  236. EXCEPTION
  237. WHEN TABLE_EXISTS_EXCEPTION THEN
  238. NULL;
  239. END;
  240. /
  241. DECLARE
  242. INDEX_EXISTS_EXCEPTION EXCEPTION;
  243. PRAGMA EXCEPTION_INIT (INDEX_EXISTS_EXCEPTION, -955);
  244. BEGIN
  245. EXECUTE IMMEDIATE 'CREATE INDEX IDX_HIST_USER_ID ON MOB_USER_HISTORY(USER_ID)';
  246. EXCEPTION
  247. WHEN INDEX_EXISTS_EXCEPTION THEN
  248. NULL;
  249. END;
  250. /
  251. -- MOB_RENDER_HISTORY
  252. DECLARE
  253. TABLE_EXISTS_EXCEPTION EXCEPTION;
  254. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  255. BEGIN
  256. EXECUTE IMMEDIATE 'CREATE TABLE MOB_RENDER_HISTORY (
  257. RENDER_ID int NOT NULL,
  258. HISTORY_ID int NOT NULL,
  259. CONSTRAINT FK_MOB_RH_RID FOREIGN KEY(RENDER_ID) REFERENCES MOB_RENDERS(RENDER_ID) ON DELETE CASCADE,
  260. CONSTRAINT FK_MOB_RH_HID FOREIGN KEY(HISTORY_ID) REFERENCES MOB_HISTORY(HISTORY_ID) ON DELETE CASCADE
  261. )';
  262. EXCEPTION
  263. WHEN TABLE_EXISTS_EXCEPTION THEN
  264. NULL;
  265. END;
  266. /
  267. DECLARE
  268. INDEX_EXISTS_EXCEPTION EXCEPTION;
  269. PRAGMA EXCEPTION_INIT (INDEX_EXISTS_EXCEPTION, -955);
  270. BEGIN
  271. EXECUTE IMMEDIATE 'CREATE INDEX IDX_MOB_RH_RID ON MOB_RENDER_HISTORY(RENDER_ID)';
  272. EXCEPTION
  273. WHEN INDEX_EXISTS_EXCEPTION THEN
  274. NULL;
  275. END;
  276. /
  277. -- MOB_USER_RENDER
  278. DECLARE
  279. TABLE_EXISTS_EXCEPTION EXCEPTION;
  280. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  281. BEGIN
  282. EXECUTE IMMEDIATE 'CREATE TABLE MOB_USER_RENDER (
  283. USER_ID int NOT NULL,
  284. RENDER_ID int NOT NULL,
  285. NAME varchar (100) NULL,
  286. LAST_VIEWED timestamp NULL,
  287. CONSTRAINT FK_MOB_UR_UID FOREIGN KEY(USER_ID) REFERENCES MOB_USERS(USER_ID) ON DELETE CASCADE,
  288. CONSTRAINT FK_MOB_UR_RID FOREIGN KEY(RENDER_ID) REFERENCES MOB_RENDERS(RENDER_ID) ON DELETE CASCADE,
  289. CONSTRAINT PK_MOB_USERRNDR PRIMARY KEY(USER_ID, RENDER_ID)
  290. )';
  291. EXCEPTION
  292. WHEN TABLE_EXISTS_EXCEPTION THEN
  293. NULL;
  294. END;
  295. /
  296. -- MOB_USER_RESOURCE
  297. DECLARE
  298. TABLE_EXISTS_EXCEPTION EXCEPTION;
  299. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  300. BEGIN
  301. EXECUTE IMMEDIATE 'CREATE TABLE MOB_USER_RESOURCE (
  302. USER_ID int NOT NULL,
  303. RESOURCE_ID int NOT NULL,
  304. USER_RESOURCE_TYPE int DEFAULT 0 NOT NULL,
  305. CONSTRAINT FK_MOB_URS_UID FOREIGN KEY(USER_ID) REFERENCES MOB_USERS(USER_ID) ON DELETE CASCADE,
  306. CONSTRAINT FK_MOB_URS_RSID FOREIGN KEY(RESOURCE_ID) REFERENCES MOB_RESOURCES(RESOURCE_ID) ON DELETE CASCADE,
  307. CONSTRAINT PK_MOB_USERRSRC PRIMARY KEY(USER_ID, RESOURCE_ID)
  308. )';
  309. EXCEPTION
  310. WHEN TABLE_EXISTS_EXCEPTION THEN
  311. NULL;
  312. END;
  313. /
  314. -- MOB_USER_RESOURCE_TYPES
  315. DECLARE
  316. TABLE_EXISTS_EXCEPTION EXCEPTION;
  317. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  318. BEGIN
  319. EXECUTE IMMEDIATE 'CREATE TABLE MOB_USER_RESOURCE_TYPES (
  320. TYPE smallint NOT NULL,
  321. DESCRIPTION varchar (100) NULL
  322. )';
  323. EXECUTE IMMEDIATE 'INSERT INTO MOB_USER_RESOURCE_TYPES VALUES (0, ''DASHBOARD'')';
  324. EXECUTE IMMEDIATE 'INSERT INTO MOB_USER_RESOURCE_TYPES VALUES (1, ''FAVORITE'')';
  325. EXCEPTION
  326. WHEN TABLE_EXISTS_EXCEPTION THEN
  327. NULL;
  328. END;
  329. /
  330. -- MOB_BLOBS
  331. DECLARE
  332. TABLE_EXISTS_EXCEPTION EXCEPTION;
  333. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  334. BEGIN
  335. EXECUTE IMMEDIATE 'CREATE TABLE MOB_BLOBS (
  336. BLOB_ID int NOT NULL,
  337. RENDER_ID int NULL,
  338. RESOURCE_ID int NULL,
  339. USER_ID int NULL,
  340. SEQUENCE int NOT NULL,
  341. BLOB_VALUE blob NOT NULL,
  342. FORMAT smallint NULL,
  343. OBJECT_INDEX int NULL,
  344. PAGE_INDEX int NULL,
  345. CONSTRAINT FK_MOB_BLOBS_RID FOREIGN KEY(RENDER_ID) REFERENCES MOB_RENDERS(RENDER_ID) ON DELETE CASCADE,
  346. CONSTRAINT FK_MOB_BLOBS_RSID FOREIGN KEY(RESOURCE_ID) REFERENCES MOB_RESOURCES(RESOURCE_ID) ON DELETE CASCADE,
  347. CONSTRAINT FK_MOB_BLOBS_UID FOREIGN KEY(USER_ID) REFERENCES MOB_USERS(USER_ID) ON DELETE CASCADE
  348. )';
  349. EXCEPTION
  350. WHEN TABLE_EXISTS_EXCEPTION THEN
  351. NULL;
  352. END;
  353. /
  354. DECLARE
  355. INDEX_EXISTS_EXCEPTION EXCEPTION;
  356. PRAGMA EXCEPTION_INIT (INDEX_EXISTS_EXCEPTION, -955);
  357. BEGIN
  358. EXECUTE IMMEDIATE 'CREATE INDEX IDX_MOB_BLOBS ON MOB_BLOBS(BLOB_ID, SEQUENCE)';
  359. EXCEPTION
  360. WHEN INDEX_EXISTS_EXCEPTION THEN
  361. NULL;
  362. END;
  363. /
  364. -- MOB_BLOB_FORMATS
  365. DECLARE
  366. TABLE_EXISTS_EXCEPTION EXCEPTION;
  367. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  368. BEGIN
  369. EXECUTE IMMEDIATE 'CREATE TABLE MOB_BLOB_FORMATS (
  370. FORMAT smallint NOT NULL,
  371. DESCRIPTION varchar (100) NULL
  372. )';
  373. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (0, ''USER COOKIE'')';
  374. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (1, ''REPORT INFO'')';
  375. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (2, ''REPORT OUTPUT'')';
  376. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (3, ''DB'')';
  377. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (4, ''PAGE HTML'')';
  378. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (5, ''IMAGE'')';
  379. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (6, ''RENDER THUMBNAIL SMALL'')';
  380. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (7, ''RENDER THUMBNAIL LARGE'')';
  381. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (8, ''iOS THUMBNAIL SMALL'')';
  382. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (9, ''iOS THUMBNAIL LARGE'')';
  383. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (10, ''SVG'')';
  384. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (11, ''TABLE HTML'')';
  385. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (12, ''ATTCH IMAGE'')';
  386. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (13, ''CONVERSATION STATE'')';
  387. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (14, ''DASHBOARD'')';
  388. EXECUTE IMMEDIATE 'INSERT INTO MOB_BLOB_FORMATS VALUES (15, ''BUX CONVERSATION STATE'')';
  389. EXCEPTION
  390. WHEN TABLE_EXISTS_EXCEPTION THEN
  391. NULL;
  392. END;
  393. /
  394. -- MOB_SOURCE_CODES
  395. DECLARE
  396. TABLE_EXISTS_EXCEPTION EXCEPTION;
  397. PRAGMA EXCEPTION_INIT (TABLE_EXISTS_EXCEPTION, -955);
  398. BEGIN
  399. EXECUTE IMMEDIATE 'CREATE TABLE MOB_SOURCE_CODES (
  400. SOURCE_CODE smallint NOT NULL,
  401. DESCRIPTION varchar (100) NULL
  402. )';
  403. EXCEPTION
  404. WHEN TABLE_EXISTS_EXCEPTION THEN
  405. NULL;
  406. END;
  407. /
  408. DECLARE
  409. INDEX_EXISTS_EXCEPTION EXCEPTION;
  410. PRAGMA EXCEPTION_INIT (INDEX_EXISTS_EXCEPTION, -955);
  411. BEGIN
  412. EXECUTE IMMEDIATE 'CREATE INDEX PK_MOB_SOURCE_CODES ON MOB_SOURCE_CODES(SOURCE_CODE)';
  413. EXECUTE IMMEDIATE 'INSERT INTO MOB_SOURCE_CODES VALUES (0, ''AD-HOC'')';
  414. EXECUTE IMMEDIATE 'INSERT INTO MOB_SOURCE_CODES VALUES (1, ''SCHEDULED/RUN-WITH-OPTIONS'')';
  415. EXECUTE IMMEDIATE 'INSERT INTO MOB_SOURCE_CODES VALUES (2, ''DRILL-THROUGH'')';
  416. EXECUTE IMMEDIATE 'INSERT INTO MOB_SOURCE_CODES VALUES (3, ''DRILL-UP/DOWN'')';
  417. EXCEPTION
  418. WHEN INDEX_EXISTS_EXCEPTION THEN
  419. NULL;
  420. END;
  421. /
  422. -- MOB_TEMPSTOREBLOBS
  423. DECLARE
  424. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  425. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  426. CONSTRAINT_EXISTS_EXCEPTION EXCEPTION;
  427. PRAGMA EXCEPTION_INIT (CONSTRAINT_EXISTS_EXCEPTION, -02275);
  428. BEGIN
  429. EXECUTE IMMEDIATE 'ALTER TABLE MOB_TEMPSTOREBLOBS ADD CONSTRAINT FK_MOB_TSB_TSID FOREIGN KEY(TS_ID) REFERENCES MOB_TEMPSTORAGE(TS_ID) ON DELETE CASCADE';
  430. EXCEPTION
  431. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  432. NULL;
  433. WHEN CONSTRAINT_EXISTS_EXCEPTION THEN
  434. NULL;
  435. END;
  436. /
  437. DECLARE
  438. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  439. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  440. BEGIN
  441. EXECUTE IMMEDIATE 'ALTER TABLE MOB_RENDER_STATUS_CODES RENAME TO MOB_STATUS_CODES';
  442. EXCEPTION
  443. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  444. NULL;
  445. END;
  446. /
  447. DECLARE
  448. TABLE_DOES_NOT_EXIST_EXCEPTION EXCEPTION;
  449. PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST_EXCEPTION, -942);
  450. BEGIN
  451. EXECUTE IMMEDIATE 'DROP TABLE MOB_RENDER_STATUS';
  452. EXCEPTION
  453. WHEN TABLE_DOES_NOT_EXIST_EXCEPTION THEN
  454. NULL;
  455. END;
  456. /
  457. DECLARE
  458. SEQUENCE_EXCEPTION EXCEPTION;
  459. PRAGMA EXCEPTION_INIT (SEQUENCE_EXCEPTION, -2289);
  460. BEGIN
  461. EXECUTE IMMEDIATE 'DROP SEQUENCE SEQ_MOB_RENDER_STATUS';
  462. EXCEPTION
  463. WHEN SEQUENCE_EXCEPTION THEN
  464. NULL;
  465. END;
  466. /