001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058 drop table TMP_PAR;
059 drop table TMP_COMP;
060 drop table TMP_FORCE_DLL;
061 drop table TMP_PROP;
062 drop table TMP_SOURCE;
063 drop table TMP_DLL;
064
065 create table TMP_PAR (
066 ID INTEGER not null,
067 constraint TMPPAR_ID_PK primary key (ID)
068 );
069
070 create table TMP_COMP (
071 ID INTEGER not null,
072 constraint TMPCOMP_ID_PK primary key (ID)
073 );
074
075 create table TMP_FORCE_DLL (
076 NAME VARCHAR2(50) not null,
077 constraint NAME_PK primary key (NAME)
078 );
079
080 create table TMP_PROP (
081 ID NUMBER(10) not null,
082 constraint TMPPROP_ID_PK primary key (ID)
083 );
084
085 create table TMP_SOURCE (
086 ID NUMBER(10) not null,
087 constraint TMPSOURCE_ID_PK primary key (ID)
088 );
089
090 create table TMP_DLL (
091 ID NUMBER(10) not null,
092 constraint TMPDLL_ID_PK primary key (ID)
093 );
094
095
096
097
098
099
100
101
102 create or replace procedure HLT_BOOT_SETUP
103 as
104 begin
105 execute immediate 'truncate table TMP_PAR';
106 execute immediate 'truncate table TMP_COMP';
107 execute immediate 'truncate table TMP_FORCE_DLL';
108 end;
109 /
110
111
112 create or replace procedure HLT_SHUTDOWN_SETUP
113 as
114 begin
115 execute immediate 'truncate table TMP_PAR';
116 execute immediate 'truncate table TMP_COMP';
117 execute immediate 'truncate table TMP_FORCE_DLL';
118 end;
119 /
120
121
122
123
124
125
126
127
128
129 create or replace function HLT_INSERT_PARAMETER
130 (NAME in VARCHAR2, OP in VARCHAR2, VALUE in VARCHAR2
131 )
132 return int
133 as
134 RETVAL int default NULL;
135 begin
136 select HPA_ID into RETVAL from HLT_PARAMETER where HPA_NAME = NAME and HPA_OP = OP and HPA_VALUE = VALUE;
137
138 if RETVAL is null then
139 insert into HLT_PARAMETER
140 (HPA_NAME, HPA_OP, HPA_VALUE) values (NAME, OP, VALUE);
141 select HPA_ID into RETVAL from HLT_PARAMETER where
142 HPA_NAME = NAME and HPA_OP = OP and HPA_VALUE = VALUE;
143 end if;
144 execute immediate 'insert into TMP_PAR (ID) values (RETVAL)';
145 return RETVAL;
146 end;
147 /
148
149
150 create or replace function HLT_INSERT_PARAMETER
151 (NAME in VARCHAR2, OP in VARCHAR2, VALUE in VARCHAR2
152 )
153 return INTEGER
154 is
155 RETVAL INTEGER default NULL;
156 begin
157 select HPA_ID into RETVAL from HLT_PARAMETER where HPA_NAME = NAME and HPA_OP = OP and HPA_VALUE = VALUE;
158
159 if RETVAL is null then
160 insert into HLT_PARAMETER
161 (HPA_NAME, HPA_OP, HPA_VALUE) values (NAME, OP, VALUE);
162 select HPA_ID into RETVAL from HLT_PARAMETER where
163 HPA_NAME = NAME and HPA_OP = OP and HPA_VALUE = VALUE;
164 end if;
165 execute immediate 'insert into TMP_PAR (ID) values (RETVAL)';
166 return(RETVAL);
167 end;
168 /
169
170
171
172 create or replace procedure HLT_RESET_PARAMETER
173 as
174 begin
175 execute immediate 'truncate table TMP_PAR';
176 end;
177 /
178
179
180
181
182
183
184 create or replace function HLT_SEEK_CP2PA (
185 COMP_ID in INTEGER,
186 PAR_ID in INTEGER
187 ) return INTEGER
188 as
189 TEST INTEGER(10);
190 begin
191 select max(HLT_CP_TO_PA.HCP2PA_ID) into TEST
192 from HLT_CP_TO_PA where COMP_ID = HLT_CP_TO_PA.HCP2PA_COMPONENT_ID and
193 HLT_CP_TO_PA.HCP2PA_PARAMETER_ID = PAR_ID;
194 if TEST is not null then
195 return(1);
196 end if;
197 return(0);
198 end;
199 /
200
201
202 create or replace function HLT_COUNT_CP2PA (COMP_ID INTEGER)
203 return INTEGER
204 as
205 TEST INTEGER(10);
206 begin
207 select count(HLT_CP_TO_PA.HCP2PA_ID) into TEST
208 from HLT_CP_TO_PA where COMP_ID = HLT_CP_TO_PA.HCP2PA_COMPONENT_ID;
209 return(TEST);
210 end;
211 /
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232 create or replace function HLT_INSERT_COMPONENT (NAME VARCHAR2,
233 ALIAS VARCHAR2,
234 TOPALG INTEGER)
235 return INTEGER
236 as
237 TEST INTEGER(10) DEFAULT 0;
238 NPAR INTEGER(10);
239 COMP_ID INTEGER(10);
240 PAR_ID INTEGER(10);
241 VERSION decimal(11,5);
242 begin
243 execute immediate 'select count(TMP_PAR.ID) into NPAR from TMP_PAR';
244
245
246 select max(HLT_COMPONENT.HCP_ID) into COMP_ID from HLT_COMPONENT
247 where HLT_COMPONENT.HCP_NAME = NAME and
248 HLT_COMPONENT.HCP_ALIAS = ALIAS and
249 HLT_COMPONENT.HCP_TOPALG = TOPALG;
250 while COMP_ID is not null
251 loop
252
253 TEST := 0;
254 execute immediate 'select min(TMP_PAR.ID) into PAR_ID from TMP_PAR';
255 while PAR_ID is not null
256 loop
257 TEST := TEST + HLT_SEEK_CP2PA(COMP_ID,PAR_ID);
258 execute immediate 'select min(TMP_PAR.ID) into PAR_ID from TMP_PAR where TMP_PAR.ID > PAR_ID';
259 end loop;
260
261 if TEST = NPAR and HLT_COUNT_CP2PA(COMP_ID) = NPAR then
262 execute immediate 'delete from TMP_PAR';
263 execute immediate 'insert into TMP_COMP (ID) values (COMP_ID)';
264 return COMP_ID;
265 end if;
266
267 select max(HLT_COMPONENT.HCP_ID) into COMP_ID from HLT_COMPONENT
268 where HLT_COMPONENT.HCP_NAME = NAME and
269 HLT_COMPONENT.HCP_ALIAS = ALIAS and
270 HLT_COMPONENT.HCP_TOPALG = TOPALG and
271 HLT_COMPONENT.HCP_ID < COMP_ID;
272 end loop;
273
274
275
276
277
278 select max(HLT_COMPONENT.HCP_VERSION) into VERSION from HLT_COMPONENT
279 where HLT_COMPONENT.HCP_NAME = NAME and
280 HLT_COMPONENT.HCP_ALIAS = ALIAS;
281 if VERSION is null then
282 VERSION := 1.0;
283 else
284 VERSION := floor(VERSION) + 1.0;
285 end if;
286 execute immediate 'insert into HLT_COMPONENT (HCP_NAME, HCP_VERSION, HCP_ALIAS, HCP_TOPALG) values
287 (NAME, VERSION, ALIAS, TOPALG)';
288 select max(HCP_ID) into COMP_ID from HLT_COMPONENT where
289 HCP_VERSION = VERSION and HCP_ALIAS = ALIAS;
290
291
292 execute immediate 'select min(TMP_PAR.ID) into PAR_ID from TMP_PAR';
293 while PAR_ID is not null
294 loop
295 insert into HLT_CP_TO_PA (HCP2PA_COMPONENT_ID, HCP2PA_PARAMETER_ID) values (COMP_ID, PAR_ID);
296 execute immediate 'select min(TMP_PAR.ID) into PAR_ID from TMP_PAR where TMP_PAR.ID > PAR_ID';
297 end loop;
298
299
300 execute immediate 'delete from TMP_PAR';
301 execute immediate 'insert into TMP_COMP (ID) values (COMP_ID)';
302 return(COMP_ID);
303 end;
304 /
305
306
307
308 create or replace procedure HLT_RESET_COMPONENT
309 is
310 begin
311 delete from TMP_COMP;
312 end;
313 /
314
315
316
317 create or replace procedure HLT_NEW_FORCE_DLL (NAME in VARCHAR2)
318 as
319 RETVAL INTEGER(10);
320 begin
321 insert into TMP_FORCE_DLL (NAME) values (NAME);
322 end;
323 /
324
325
326
327 create or replace procedure HLT_RESET_FORCE_DLL
328 as
329 begin
330 delete from TMP_FORCE_DLL;
331 end;
332 /
333
334
335
336 create or replace function HLT_SEEK_ST2CP (
337 SETUP_ID INTEGER,
338 COMP_ID INTEGER)
339 return INTEGER
340 as
341 TEST INTEGER(10);
342 begin
343 select max(HLT_ST_TO_CP.HST2CP_ID) into TEST
344 from HLT_ST_TO_CP where COMP_ID = HLT_ST_TO_CP.HST2CP_COMPONENT_ID and
345 HLT_ST_TO_CP.HST2CP_SETUP_ID = SETUP_ID;
346 if TEST is not null then
347 return(1);
348 end if;
349 return(0);
350 end;
351 /
352
353
354 create or replace function HLT_COUNT_ST2CP (SETUP_ID int)
355 return int
356 as
357 TEST int(10);
358 begin
359 select count(HLT_ST_TO_CP.HST2CP_ID) into TEST
360 from HLT_ST_TO_CP where HLT_ST_TO_CP.HST2CP_SETUP_ID = SETUP_ID;
361 return(TEST);
362 end;
363 /
364
365
366
367 create or replace function HLT_SEEK_ST2FD (
368 SETUP_ID INTEGER,
369 FDLL VARCHAR2)
370 return INTEGER
371 as
372 TEST int(10);
373 begin
374 select max(HLT_FORCE_DLL.HFD_ID) into TEST
375 from HLT_FORCE_DLL where FDLL = HLT_FORCE_DLL.HFD_DLL_NAME and
376 SETUP_ID = HLT_FORCE_DLL.HFD_SETUP_ID;
377 if TEST is not null then
378 return(1);
379 end if;
380 return(0);
381 end;
382 /
383
384
385 create or replace function HLT_COUNT_ST2FD (SETUP_ID INTEGER)
386 return INTEGER
387 as
388 TEST int(10);
389 begin
390 select count(HLT_FORCE_DLL.HFD_ID) into TEST
391 from HLT_FORCE_DLL where SETUP_ID = HLT_FORCE_DLL.HFD_SETUP_ID;
392 return(TEST);
393 end;
394 /
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426 create or replace function HLT_INSERT_SETUP (NAME VARCHAR2)
427 return int
428 as
429 TEST_COMP int(20) DEFAULT 0;
430 TEST_FDLL int(20) DEFAULT 0;
431 NCOMP int(10);
432 NFDLL int(10);
433 SETUP_ID int(10);
434 COMP_ID int(10);
435 FDLL VARCHAR2(50);
436 VERSION decimal(11,5);
437 begin
438 select count(TMP_COMP.ID) into NCOMP from TMP_COMP;
439 select count(TMP_FORCE_DLL.NAME) into NFDLL from TMP_FORCE_DLL;
440
441
442
443 select max(HLT_SETUP.HST_ID) into SETUP_ID from HLT_SETUP
444 where HLT_SETUP.HST_NAME = NAME;
445 while SETUP_ID is not null
446 loop
447
448 TEST_COMP := 0;
449 select min(TMP_COMP.ID) into COMP_ID from TMP_COMP;
450 while COMP_ID is not null
451 loop
452 TEST_COMP := TEST_COMP + HLT_SEEK_ST2CP(SETUP_ID,COMP_ID);
453 select min(TMP_COMP.ID) into COMP_ID from TMP_COMP
454 where TMP_COMP.ID > COMP_ID;
455 end loop;
456
457 TEST_FDLL := 0;
458 select min(TMP_FORCE_DLL.NAME) into FDLL from TMP_FORCE_DLL;
459 while FDLL is not null
460 loop
461 TEST_FDLL := TEST_FDLL + HLT_SEEK_ST2FD(SETUP_ID,FDLL);
462 select min(TMP_FORCE_DLL.NAME) into FDLL from TMP_FORCE_DLL
463 where TMP_FORCE_DLL.NAME > FDLL;
464 end loop;
465
466
467
468 if NCOMP = TEST_COMP and
469 NFDLL = TEST_FDLL and
470 NCOMP = HLT_COUNT_ST2CP(SETUP_ID) and
471 NFDLL = HLT_COUNT_ST2FD(SETUP_ID) then
472 delete from TMP_COMP;
473 delete from TMP_FORCE_DLL;
474 return SETUP_ID;
475 end if;
476
477
478 select max(HLT_SETUP.HST_ID) into SETUP_ID from HLT_SETUP
479 where HLT_SETUP.HST_NAME = NAME and
480 HLT_SETUP.HST_ID < SETUP_ID;
481 end loop;
482
483
484
485
486
487 select max(HLT_SETUP.HST_VERSION) into VERSION from HLT_SETUP
488 where HLT_SETUP.HST_NAME = NAME;
489
490 if VERSION is null then
491 VERSION := 1.0;
492 else
493 VERSION := floor(VERSION) + 1.0;
494 end if;
495 insert into HLT_SETUP (HST_NAME, HST_VERSION) values (NAME, VERSION);
496 select max(HST_ID) into SETUP_ID from HLT_SETUP where
497 HST_VERSION = VERSION and HST_NAME = NAME;
498
499
500 select min(TMP_COMP.ID) into COMP_ID from TMP_COMP;
501 while COMP_ID is not null
502 loop
503 insert into HLT_ST_TO_CP (HST2CP_SETUP_ID, HST2CP_COMPONENT_ID)
504 values (SETUP_ID, COMP_ID);
505 select min(TMP_COMP.ID) into COMP_ID from TMP_COMP
506 where TMP_COMP.ID > COMP_ID;
507 end loop;
508
509
510
511 select min(TMP_FORCE_DLL.NAME) into FDLL from TMP_FORCE_DLL;
512 while FDLL is not null
513 loop
514 insert into HLT_FORCE_DLL (HFD_DLL_NAME, HFD_SETUP_ID) values
515 (FDLL, SETUP_ID);
516 select min(TMP_FORCE_DLL.NAME) into FDLL from TMP_FORCE_DLL
517 where TMP_FORCE_DLL.NAME > FDLL;
518 end loop;
519
520
521
522
523 delete from TMP_COMP;
524 delete from TMP_FORCE_DLL;
525 return(SETUP_ID);
526 end;
527 /
528
529
530
531
532
533
534 create or replace procedure HLT_BOOT_RELEASE
535 as
536 begin
537 execute immediate 'truncate table TMP_PROP';
538 execute immediate 'truncate table TMP_SOURCE';
539 execute immediate 'truncate table TMP_DLL';
540
541 end;
542 /
543
544
545 create or replace procedure HLT_SHUTDOWN_RELEASE
546 as
547 begin
548 execute immediate 'truncate table TMP_PROP';
549 execute immediate 'truncate table TMP_SOURCE';
550 execute immediate 'truncate table TMP_DLL';
551 end;
552 /
553
554
555
556
557
558
559
560
561
562 create or replace function HLT_INSERT_PROPERTY (
563 NAME IN VARCHAR2,
564 PROP_TYPE IN VARCHAR2,
565 VALUE IN VARCHAR2)
566 return INTEGER
567 as
568 RETVAL int(10) default NULL;
569 VERSION decimal(11,5);
570 begin
571 select HPY_ID into RETVAL from HLT_PROPERTY where
572 HPY_NAME = NAME and HPY_TYPE = PROP_TYPE and HPY_VALUE = VALUE;
573
574 if RETVAL is null then
575 insert into HLT_PROPERTY
576 (HPY_NAME, HPY_TYPE, HPY_VALUE) values (NAME, PROP_TYPE, VALUE);
577 select max(HPY_ID) into RETVAL from HLT_PROPERTY where
578 HPY_NAME = NAME and HPY_TYPE = PROP_TYPE and HPY_VALUE = VALUE;
579 end if;
580 insert into TMP_PROP (ID) values (RETVAL);
581 return(RETVAL);
582 end;
583 /
584
585
586 create or replace procedure HLT_RESET_PROPERTY
587 as
588 begin
589 execute immediate 'truncate table TMP_PROP';
590 end;
591 /
592
593
594
595 create or replace function HLT_SEEK_SO2PY (
596 SOURCE_ID IN INTEGER,
597 PROPERTY_ID IN INTEGER)
598 return int
599 as
600 TEST int(10);
601 begin
602 select max(HLT_SO_TO_PY.HSO2PY_ID) into TEST
603 from HLT_SO_TO_PY where SOURCE_ID = HLT_SO_TO_PY.HSO2PY_SOURCE_ID and
604 HLT_SO_TO_PY.HSO2PY_PROPERTY_ID = PROPERTY_ID;
605 if TEST is not null then
606 return(1);
607 end if;
608 return(0);
609 end;
610 /
611
612
613 create or replace function HLT_COUNT_SO2PY (SOURCE_ID IN INTEGER)
614 return INTEGER
615 as
616 TEST int(10);
617 begin
618 select count(HLT_SO_TO_PY.HSO2PY_ID) into TEST
619 from HLT_SO_TO_PY where SOURCE_ID = HLT_SO_TO_PY.HSO2PY_SOURCE_ID;
620 return(TEST);
621 end;
622 /
623
624
625
626
627
628
629 create or replace function HLT_INSERT_SOURCE (
630 NAME VARCHAR2,
631 GAUDI_TYPE VARCHAR2)
632 return INTEGER
633 as
634 TEST int(10) DEFAULT 0;
635 NPROP int(10);
636 SOURCE_ID int(10);
637 PROP_ID int(10);
638 begin
639
640 execute immediate 'select count(TMP_PROP.ID) into NPROP from TMP_PROP';
641
642
643 select max(HLT_SOURCE.HSO_ID) into SOURCE_ID from HLT_SOURCE
644 where HLT_SOURCE.HSO_NAME = NAME and
645 HLT_SOURCE.HSO_GAUDI_TYPE = GAUDI_TYPE;
646 while SOURCE_ID is not null
647 loop
648
649 TEST := 0;
650 execute immediate 'select min(TMP_PROP.ID) into PROP_ID from TMP_PROP';
651 while PROP_ID is not null
652 loop
653 TEST := TEST + HLT_SEEK_SO2PY(SOURCE_ID,PROP_ID);
654 select min(TMP_PROP.ID) into PROP_ID from TMP_PROP
655 where TMP_PROP.ID > PROP_ID;
656 end loop;
657
658 if TEST = NPROP and HLT_COUNT_SO2PY(SOURCE_ID) = NPROP then
659 delete from TMP_PROP;
660 insert into TMP_SOURCE (ID) values (SOURCE_ID);
661 return SOURCE_ID;
662 end if;
663
664 select max(HLT_SOURCE.HSO_ID) into SOURCE_ID from HLT_SOURCE
665 where HLT_SOURCE.HSO_NAME = NAME and
666 HLT_SOURCE.HSO_GAUDI_TYPE = GAUDI_TYPE and
667 HLT_SOURCE.HSO_ID < SOURCE_ID;
668 end loop;
669
670
671
672
673
674 insert into HLT_SOURCE (HSO_NAME, HSO_GAUDI_TYPE) values (NAME, GAUDI_TYPE);
675 select max(HSO_ID) into SOURCE_ID from HLT_SOURCE where
676 HSO_NAME = NAME and HSO_GAUDI_TYPE = GAUDI_TYPE;
677
678
679 select min(TMP_PROP.ID) into PROP_ID from TMP_PROP;
680 while PROP_ID is not null
681 loop
682 insert into HLT_SO_TO_PY (HSO2PY_SOURCE_ID, HSO2PY_PROPERTY_ID)
683 values (SOURCE_ID, PROP_ID);
684 select min(TMP_PROP.ID) into PROP_ID from TMP_PROP
685 where TMP_PROP.ID > PROP_ID;
686 end loop;
687
688
689 delete from TMP_PROP;
690 insert into TMP_SOURCE (ID) values (SOURCE_ID);
691 return(SOURCE_ID);
692 end;
693 /
694
695
696 create or replace procedure HLT_RESET_SOURCE
697 as
698 begin
699 delete from TMP_SOURCE;
700 end;
701 /
702
703
704
705 create or replace function HLT_SEEK_SO2DL (
706 DLL_ID IN INTEGER,
707 SOURCE_ID IN INTEGER)
708 return INTEGER
709 as
710 TEST int(10);
711 begin
712 select max(HLT_SO_TO_DL.HSO2DL_ID) into TEST
713 from HLT_SO_TO_DL where DLL_ID = HLT_SO_TO_DL.HSO2DL_DLL_ID and
714 HLT_SO_TO_DL.HSO2DL_SOURCE_ID = SOURCE_ID;
715 if TEST is not null then
716 return(1);
717 end if;
718 return(0);
719 end;
720 /
721
722
723 create or replace function HLT_COUNT_SO2DL (
724 DLL_ID INTEGER)
725 return INTEGER
726 as
727 TEST int(10);
728 begin
729 select count(HLT_SO_TO_DL.HSO2DL_ID) into TEST
730 from HLT_SO_TO_DL where DLL_ID = HLT_SO_TO_DL.HSO2DL_DLL_ID;
731 return(TEST);
732 end;
733 /
734
735
736
737
738
739
740 create or replace function HLT_INSERT_DLL (
741 NAME VARCHAR2,
742 PACKAGE VARCHAR2,
743 CMT_VERSION VARCHAR2)
744 return INTEGER
745 as
746 TEST int(10) DEFAULT 0;
747 NSOURCE int(10);
748 DLL_ID int(10);
749 SOURCE_ID int(10);
750 begin
751 select count(TMP_SOURCE.ID) into NSOURCE from TMP_SOURCE;
752
753
754 select HLT_DLL.HDL_ID into DLL_ID from HLT_DLL where
755 HDL_NAME = NAME and HDL_PACKAGE = PACKAGE and HDL_CMT_VERSION = CMT_VERSION;
756 if DLL_ID is not null then
757
758 TEST := 0;
759 select min(TMP_SOURCE.ID) into SOURCE_ID from TMP_SOURCE;
760 while SOURCE_ID is not null
761 loop
762 TEST := TEST + HLT_SEEK_SO2DL(DLL_ID,SOURCE_ID);
763 select min(TMP_SOURCE.ID) into SOURCE_ID from TMP_SOURCE
764 where TMP_SOURCE.ID > SOURCE_ID;
765 end loop;
766
767 if TEST = NSOURCE and HLT_COUNT_SO2DL(DLL_ID) = NSOURCE then
768 delete from TMP_SOURCE;
769 insert into TMP_DLL (ID) values (DLL_ID);
770 return DLL_ID;
771 end if;
772 end if;
773
774
775
776
777
778 insert into HLT_DLL (HDL_NAME, HDL_PACKAGE, HDL_CMT_VERSION)
779 values (NAME, PACKAGE, CMT_VERSION);
780 select HDL_ID into DLL_ID from HLT_DLL where
781 HDL_NAME = NAME and HDL_PACKAGE = PACKAGE and HDL_CMT_VERSION = CMT_VERSION;
782
783
784 select min(TMP_SOURCE.ID) into SOURCE_ID from TMP_SOURCE;
785 while SOURCE_ID is not null
786 loop
787 insert into HLT_SO_TO_DL (HSO2DL_DLL_ID, HSO2DL_SOURCE_ID)
788 values (DLL_ID, SOURCE_ID);
789 select min(TMP_SOURCE.ID) into SOURCE_ID from TMP_SOURCE
790 where TMP_SOURCE.ID > SOURCE_ID;
791 end loop;
792
793
794 delete from TMP_SOURCE;
795 insert into TMP_DLL (ID) values (DLL_ID);
796 return(DLL_ID);
797 end;
798 /
799
800
801 create or replace procedure HLT_RESET_DLL
802 as
803 begin
804 delete from TMP_DLL;
805 end;
806 /
807
808
809
810 create or replace function HLT_SEEK_RE2DL (
811 RELEASE_ID INTEGER,
812 DLL_ID INTEGER)
813 return INTEGER
814 as
815 TEST int(10);
816 begin
817 select max(HLT_RE_TO_DL.HRE2DL_ID) into TEST
818 from HLT_RE_TO_DL where RELEASE_ID = HLT_RE_TO_DL.HRE2DL_RELEASE_ID and
819 HLT_RE_TO_DL.HRE2DL_DLL_ID = DLL_ID;
820 if TEST is not null then
821 return(1);
822 end if;
823 return(0);
824 end;
825 /
826
827
828 create or replace function HLT_COUNT_RE2DL (RELEASE_ID IN INTEGER)
829 return INTEGER
830 as
831 TEST int(10);
832 begin
833 select count(HLT_RE_TO_DL.HRE2DL_ID) into TEST
834 from HLT_RE_TO_DL where RELEASE_ID = HLT_RE_TO_DL.HRE2DL_RELEASE_ID;
835 return(TEST);
836 end;
837 /
838
839
840
841
842
843
844 create or replace function HLT_INSERT_RELEASE (
845 NAME IN VARCHAR2,
846 VERSION IN VARCHAR2)
847 return INTEGER
848 as
849 TEST int(10) DEFAULT 0;
850 NDLL int(10);
851 RELEASE_ID int(10);
852 DLL_ID int(10);
853 begin
854 select count(TMP_DLL.ID) into NDLL from TMP_DLL;
855
856
857 select HLT_RELEASE.HRE_ID into RELEASE_ID from HLT_RELEASE
858 where HLT_RELEASE.HRE_NAME = NAME and HLT_RELEASE.HRE_VERSION = VERSION;
859
860 if RELEASE_ID is not null then
861
862 TEST := 0;
863 select min(TMP_DLL.ID) into DLL_ID from TMP_DLL;
864 while DLL_ID is not null
865 loop
866 TEST := TEST + HLT_SEEK_RE2DL(RELEASE_ID,DLL_ID);
867 select min(TMP_DLL.ID) into DLL_ID from TMP_DLL
868 where TMP_DLL.ID > DLL_ID;
869 end loop;
870
871 if TEST = NDLL and HLT_COUNT_RE2DL(RELEASE_ID) = NDLL then
872 delete from TMP_DLL;
873 return RELEASE_ID;
874 end if;
875 end if;
876
877
878
879
880
881 insert into HLT_RELEASE (HRE_NAME, HRE_VERSION) values (NAME, VERSION);
882 select HRE_ID into RELEASE_ID from HLT_RELEASE where
883 HRE_NAME = NAME and HRE_VERSION = VERSION;
884
885
886 select min(TMP_DLL.ID) into DLL_ID from TMP_DLL;
887 while DLL_ID is not null
888 loop
889 insert into HLT_RE_TO_DL (HRE2DL_RELEASE_ID, HRE2DL_DLL_ID)
890 values (RELEASE_ID, DLL_ID);
891 select min(TMP_DLL.ID) into DLL_ID from TMP_DLL
892 where TMP_DLL.ID > DLL_ID;
893 end loop;
894
895
896 delete from TMP_DLL;
897 return(RELEASE_ID);
898 end;
899 /
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949 create or replace view HLT_CP_TO_PA_VIEW (
950 HCP_ID,
951 HPA_ID,
952 HPA_NAME,
953 HPA_VALUE,
954 HPA_OP)
955 as
956 select HLT_CP_TO_PA.HCP2PA_COMPONENT_ID,
957 HLT_PARAMETER.HPA_ID,
958 HLT_PARAMETER.HPA_NAME,
959 HLT_PARAMETER.HPA_VALUE,
960 HLT_PARAMETER.HPA_OP
961 from HLT_CP_TO_PA, HLT_PARAMETER
962 where HLT_CP_TO_PA.HCP2PA_PARAMETER_ID = HLT_PARAMETER.HPA_ID;
963
964
965
966
967 create or replace view HLT_SO_TO_PY_VIEW (
968 HSO_ID,
969 HPY_ID,
970 HPY_NAME,
971 HPY_VALUE,
972 HPY_TYPE)
973 as
974 select HLT_SO_TO_PY.HSO2PY_SOURCE_ID,
975 HLT_PROPERTY.HPY_ID,
976 HLT_PROPERTY.HPY_NAME,
977 HLT_PROPERTY.HPY_VALUE,
978 HLT_PROPERTY.HPY_TYPE
979 from HLT_SO_TO_PY, HLT_PROPERTY
980 where HLT_SO_TO_PY.HSO2PY_PROPERTY_ID = HLT_PROPERTY.HPY_ID;
981
982
983
984
985
986 create or replace view HLT_MK_TO_SETUP_VIEW (
987 HMT_ID,
988 HST_ID)
989 as
990 select HLT_MASTER_TABLE.HMT_ID, HLT_SETUP.HST_ID
991 from HLT_MASTER_TABLE,
992 HLT_TRIGGER_MENU,
993 HLT_TM_TO_TC,
994 HLT_TRIGGER_CHAIN,
995 HLT_TC_TO_TS,
996 HLT_TRIGGER_SIGNATURE,
997 HLT_TS_TO_TE,
998 HLT_TE_TO_CP,
999 HLT_SETUP
1000 where HLT_MASTER_TABLE.HMT_TRIGGER_MENU_ID is not null and
1001 HLT_MASTER_TABLE.HMT_TRIGGER_MENU_ID = HLT_TRIGGER_MENU.HTM_ID and
1002 HLT_TRIGGER_MENU.HTM_ID = HLT_TM_TO_TC.HTM2TC_TRIGGER_MENU_ID and
1003 HLT_TM_TO_TC.HTM2TC_TRIGGER_CHAIN_ID = HLT_TRIGGER_CHAIN.HTC_ID and
1004 HLT_TRIGGER_CHAIN.HTC_SETUP_ID = HLT_SETUP.HST_ID;
Due to the LXR bug, the updates fail sometimes to remove references to deleted files. The Saturday's full rebuilds fix these problems |
This page was automatically generated by the
LXR engine.
|
|