Report problems to ATLAS LXR Team (with time and IP address indicated)

The LXR Cross Referencer

source navigation ]
diff markup ]
identifier search ]
general search ]
 
 
Architecture: linux ]
Version: head ] [ nightly ] [ GaudiDev ]
  Links to LXR source navigation pages for stable releases [ 12.*.* ]   [ 13.*.* ]   [ 14.*.* ] 

001 -- $Id: combined_schema.sql,v 1.81 2009/01/22 10:03:54 pbell Exp $
002 -- $Revision: 1.81 $
003 ---------------------------------------------------------
004 -- SQL script for the schema generation of the TriggerDB
005 --
006 -- This script simply combines scripts that have been
007 -- developed before (see comments below)
008 -- In this combination the names of tables and attributes 
009 -- have been changed in order to follow a consistent naming 
010 -- convention throughout the entire DB.
011 ------------------------------------
012 -----------------------------
013 --                         --
014 -- delete old stuff        --
015 --                         -- 
016 -----------------------------
017 
018 -- In ORACLE tables can only be dropped 
019 -- if no foreign key points to them.
020 -- Hence we start droping the master tables
021 -- from the top, next we remove the M:N 
022 -- tables, next we remove all other tables
023 -- that hold a foreign key, and finally the
024 -- tables the have no foreign key.
025 
026 -- Note that for the creation the reverse order
027 -- must be obeyed
028 
029 -- We should use PURGE when on Oracle to make sure
030 -- that the database will get replicated without
031 -- problems
032 
033 DROP TABLE trigger_log PURGE;
034 DROP TABLE trigger_schema PURGE;
035 DROP TABLE tt_users PURGE;
036 
037 DROP TABLE l1_random_rates PURGE;
038 
039 -- drop HLT Prescale alias
040 DROP TABLE hlt_prescale_set_alias PURGE;
041 
042 -- drop L1 Prescale alias
043 DROP TABLE l1_prescale_set_alias PURGE;
044 
045 -- drop trigger alias table
046 DROP TABLE trigger_alias PURGE;
047 
048 -- drop next run table
049 DROP TABLE trigger_next_run PURGE;
050 
051 -- specific order:
052 DROP TABLE HLT_SMT_TO_HRE PURGE;
053 
054 -- drop master table first
055 DROP TABLE super_master_table PURGE;
056 
057 ---------------------------
058 -- drop the LVL1 tables
059 
060 -- drop the master table first
061 DROP TABLE l1_master_table PURGE;
062 
063 -- drop N-N tables
064 DROP TABLE l1_tm_to_ps PURGE;
065 DROP TABLE l1_tm_to_ti PURGE;
066 DROP TABLE l1_ti_to_tt PURGE;
067 DROP TABLE l1_tt_to_ttv PURGE;
068 DROP TABLE l1_pits PURGE;
069 DROP TABLE l1_tm_to_tt_mon PURGE;
070 DROP TABLE l1_tm_to_tt PURGE;
071 DROP TABLE l1_tm_to_tt_forced PURGE;
072 DROP TABLE l1_bgs_to_bg PURGE;
073 DROP TABLE l1_bg_to_b PURGE;
074 DROP TABLE l1_ci_to_csc PURGE;
075 
076 -- drop tables with FK
077 DROP TABLE l1_prescale_set PURGE;
078 DROP TABLE l1_trigger_menu PURGE;
079 
080 -- drop the rest
081 DROP TABLE l1_bunch_group_set PURGE;
082 DROP TABLE l1_bunch_group PURGE;
083 DROP TABLE l1_muctpi_info PURGE;
084 DROP TABLE l1_dead_time PURGE;
085 DROP TABLE l1_random PURGE;
086 DROP TABLE l1_prescaled_clock PURGE;
087 DROP TABLE l1_jet_input PURGE;
088 DROP TABLE l1_calo_sin_cos PURGE; 
089 DROP TABLE l1_ctp_files PURGE;
090 DROP TABLE l1_ctp_smx PURGE;
091 DROP TABLE l1_trigger_item PURGE;
092 DROP TABLE l1_trigger_threshold PURGE;
093 DROP TABLE l1_trigger_threshold_value PURGE;
094 DROP TABLE l1_calo_info PURGE;
095 DROP TABLE l1_muon_threshold_set PURGE;
096 
097 ------------------------------
098 -- drop the HLT tables
099 
100 -- drop the master table first
101 DROP TABLE hlt_master_table PURGE;
102 
103 -- drop the M-N tables
104 DROP TABLE hlt_cp_to_pa PURGE;
105 DROP TABLE hlt_cp_to_cp PURGE;
106 DROP TABLE hlt_st_to_cp PURGE;
107 DROP TABLE hlt_tm_to_tc PURGE;
108 DROP TABLE hlt_ts_to_te PURGE;
109 DROP TABLE hlt_te_to_te PURGE;
110 DROP TABLE hlt_tc_to_ts PURGE;
111 DROP TABLE hlt_te_to_cp PURGE;
112 DROP TABLE hlt_tc_to_tr PURGE;
113 DROP TABLE hlt_tm_to_ps PURGE;
114 
115 -- drop M-N rule tables
116 DROP TABLE HLT_HRE_TO_HRS PURGE;
117 DROP TABLE HLT_HRS_TO_HRU PURGE;
118 DROP TABLE HLT_HRU_TO_HRC PURGE;
119 DROP TABLE HLT_HRC_TO_HRP PURGE;
120 
121 -- drop the tables with FK
122 --DROP TABLE hlt_force_dll PURGE;
123 DROP TABLE hlt_prescale PURGE;
124 DROP TABLE hlt_prescale_set PURGE;
125 DROP TABLE hlt_trigger_group PURGE;
126 DROP TABLE hlt_trigger_type PURGE;
127 DROP TABLE hlt_trigger_signature PURGE;
128 DROP TABLE hlt_trigger_menu PURGE;
129 DROP TABLE hlt_trigger_chain PURGE;
130 
131 -- drop the rest
132 DROP TABLE hlt_release PURGE;
133 DROP TABLE hlt_parameter PURGE;
134 DROP TABLE hlt_trigger_element PURGE;
135 DROP TABLE hlt_setup PURGE;
136 DROP TABLE hlt_component PURGE;
137 DROP TABLE hlt_trigger_stream PURGE;
138 
139 -- drop rule tables
140 DROP TABLE HLT_RULE_SET PURGE;
141 DROP TABLE HLT_RULE PURGE;
142 DROP TABLE HLT_RULE_COMPONENT PURGE;
143 DROP TABLE HLT_RULE_PARAMETER PURGE;
144 
145 -- drop table DBCOPY_SOURCE_DATABASE
146 DROP TABLE DBCOPY_SOURCE_DATABASE PURGE;
147 
148 -----------------------------
149 --                         --
150 -- CREATE TABLEs           --
151 --                         -- 
152 -----------------------------
153 
154 --------------------------------------------------
155 -- start with the LVL1 part
156 
157 -------------------------------------------------
158 -- SQL script for the LVL1 trigger database
159 -- date  : 04.07.05
160 -- author: Johannes Haller (CERN)
161 -------------------------------------------------
162 ------------------------------------------------
163 -- modifications by Nabil Iqbal: 5.7.05
164 -- added used, user, and modification time flags to ttv, tt, ti, tm fields
165 -- and to l1_tm_to_ti, l1_ti_to_tt, l1_tt_to_ttv, l1_tm_to_tt tables
166 -- added the same to various bunch group types, ttype, deadtime, muctpi, etc.
167 -- adding priority field to threshold value
168 -- note no Boolean datatype in Oracle SQL: using char instead.
169 -----------------------------------------------
170 -- more modifications by Nabil Iqbal 5.8.05
171 -- added uniqueness constraint on name and version for all applicable tables
172 -- made version into a real instead of a string (for programmatic adjustment
173 -- of version numbers)
174 -----------------------------
175 
176 ----------------------------
177 -- first the datatables
178 ----------------------------
179 
180 CREATE TABLE DBCOPY_SOURCE_DATABASE (
181    NAME_OF_DB        VARCHAR2(200) 
182 );
183 
184 -- Special table that describes the schema version
185 CREATE TABLE trigger_schema (
186         ts_id                           NUMBER(10),
187         ts_trigdb_tag                   VARCHAR2(50),
188         ts_trigtool_tag                 VARCHAR2(50),
189         CONSTRAINT                      ts_id_NN                CHECK ( ts_id IS NOT NULL),
190         CONSTRAINT                      ts_trigdb_tag_NN        CHECK ( ts_trigdb_tag IS NOT NULL),
191         CONSTRAINT                      ts_trigtool_tag_NN      CHECK ( ts_trigtool_tag IS NOT NULL),
192         CONSTRAINT                      ts_pk                   PRIMARY KEY(ts_id)
193 );
194 INSERT INTO trigger_schema VALUES (1,"TrigDB-00-00-21","TriggerTool-01-01-17");
195 INSERT INTO trigger_schema VALUES (2,"NA","NA");
196 INSERT INTO trigger_schema VALUES (3,"NA","NA");
197 INSERT INTO trigger_schema VALUES (4,"NA","NA");
198 INSERT INTO trigger_schema VALUES (5,"NA","NA");
199 INSERT INTO trigger_schema VALUES (6,"TrigDB-00-00-39","TriggerTool-01-01-39-XX");
200 INSERT INTO trigger_schema VALUES (7,"TrigDB-00-01-04","TriggerTool-01-02-XX");
201 INSERT INTO trigger_schema VALUES (8,"TrigDB-01-01-08","TriggerTool-01-20-03");
202 
203 -- The users and their access rights
204 CREATE TABLE tt_users (
205         tt_level VARCHAR2(50),
206         tt_user  VARCHAR2(50),
207         tt_password VARCHAR2(50),
208         CONSTRAINT                      tt_level_NN             CHECK ( tt_level IS NOT NULL),
209         CONSTRAINT                      tt_user_NN              CHECK ( tt_user IS NOT NULL),
210         CONSTRAINT                      tt_password_NN          CHECK ( tt_password IS NOT NULL)
211 );
212 insert into tt_users values("Trigger Meister", "simon", "KIIU7Tj2jKjONao70QwQew+IHAw=");
213 
214 -- A list of valid rates for the drop down box on the edit-rate tab.  The actual
215 -- rate is stored into the l1_random table
216 CREATE TABLE l1_random_rates (
217         l1rr_id                         NUMBER(10), 
218         l1rr_rate                       VARCHAR2(30),
219         l1rr_active_from                TIMESTAMP,      
220         CONSTRAINT                      l1rr_rate_NN            CHECK ( l1rr_rate IS NOT NULL),
221         CONSTRAINT                      l1rr_active_from_NN     CHECK ( l1rr_active_from IS NOT NULL)
222 );
223 
224 -- l1 prescale set alias presented to the shift user
225 CREATE TABLE l1_prescale_set_alias (
226         l1pa_id                         NUMBER(10),
227         l1pa_prescale_set_id            NUMBER(10),
228         l1pa_alias                      VARCHAR2(50),
229         l1pa_default                    NUMBER(1)               default 0,
230         l1pa_username                   VARCHAR2(50),
231         l1pa_modified_time              TIMESTAMP,
232         l1pa_used                       CHAR                    default 0,       
233         CONSTRAINT                      l1pa_pk                 PRIMARY KEY(l1pa_id),
234         CONSTRAINT                      l1pa_id_NN              CHECK ( l1pa_id IS NOT NULL),
235         CONSTRAINT                      l1pa_prescale_set_id_NN CHECK ( l1pa_prescale_set_id IS NOT NULL),
236         CONSTRAINT                      l1pa_alias_NN           CHECK ( l1pa_alias IS NOT NULL),
237         CONSTRAINT                      l1pa_default_NN         CHECK ( l1pa_default IS NOT NULL),
238         CONSTRAINT                      l1pa_used_NN            CHECK ( l1pa_used IS NOT NULL)
239 );
240 
241 -- hlt prescale set alias presented to the shift user
242 CREATE TABLE hlt_prescale_set_alias (
243         hpsa_id                         NUMBER(10),
244         hpsa_prescale_set_id            NUMBER(10),
245         hpsa_alias                      VARCHAR2(50),
246         hpsa_default                    NUMBER(1)               default 0,
247         hpsa_username                   VARCHAR2(50),
248         hpsa_modified_time              TIMESTAMP,
249         hpsa_used                       CHAR                    default 0,       
250         CONSTRAINT                      hpsa_pk                 PRIMARY KEY(hpsa_id),
251         CONSTRAINT                      hpsa_id_NN              CHECK ( hpsa_id IS NOT NULL),
252         CONSTRAINT                      hpsa_prescale_set_id_NN CHECK ( hpsa_prescale_set_id IS NOT NULL),
253         CONSTRAINT                      hpsa_alias_NN           CHECK ( hpsa_alias IS NOT NULL),
254         CONSTRAINT                      hpsa_default_NN         CHECK ( hpsa_default IS NOT NULL),
255         CONSTRAINT                      hpsa_used_NN            CHECK ( hpsa_used IS NOT NULL)
256 );
257 
258 -- trigger alias presented to the shift user
259 CREATE TABLE trigger_alias (
260         tal_id                          NUMBER(10),
261         tal_super_master_table_id       NUMBER(10),
262         tal_trigger_alias               VARCHAR2(50),
263         tal_default                     NUMBER(1)               default 0,
264         tal_username                    VARCHAR2(50),
265         tal_modified_time               TIMESTAMP,
266         tal_used                        CHAR                    default 0,       
267         CONSTRAINT                      tal_pk                  PRIMARY KEY(tal_id),
268         CONSTRAINT                      tal_id_NN               CHECK ( tal_id IS NOT NULL),
269         CONSTRAINT                      tal_smt_id_NN           CHECK ( tal_super_master_table_id IS NOT NULL),
270         CONSTRAINT                      tal_trigger_alias_NN    CHECK ( tal_trigger_alias IS NOT NULL),
271         CONSTRAINT                      tal_default_NN          CHECK ( tal_default IS NOT NULL),
272         CONSTRAINT                      tal_used_NN             CHECK ( tal_used IS NOT NULL)
273 );
274 
275 -- Here the MUCPTI object is stored.
276 -- Please note that these are actually LVL2 cuts
277 CREATE TABLE l1_muctpi_info (
278         l1mi_id                         NUMBER(10),
279         l1mi_name                       VARCHAR2(50),
280         l1mi_version                    NUMBER(11),
281         l1mi_low_pt                     NUMBER(10),
282         l1mi_high_pt                    NUMBER(10),
283         l1mi_max_cand                   NUMBER(10),
284         l1mi_username                   VARCHAR2(50),
285         l1mi_modified_time              TIMESTAMP,
286         l1mi_used                       CHAR                    default 0,       
287         CONSTRAINT                      muctpi_pk               PRIMARY KEY (l1mi_id),
288         CONSTRAINT                      muctpi_nmver            UNIQUE (l1mi_name, l1mi_version),
289         CONSTRAINT                      l1mi_id_NN              CHECK ( l1mi_id IS NOT NULL),
290         CONSTRAINT                      l1mi_name_NN            CHECK ( l1mi_name IS NOT NULL),
291         CONSTRAINT                      l1mi_version_NN         CHECK ( l1mi_version IS NOT NULL),
292         CONSTRAINT                      l1mi_low_pt_NN          CHECK ( l1mi_low_pt IS NOT NULL),
293         CONSTRAINT                      l1mi_high_pt_NN         CHECK ( l1mi_high_pt IS NOT NULL),
294         CONSTRAINT                      l1mi_max_cand_NN        CHECK ( l1mi_max_cand IS NOT NULL),
295         CONSTRAINT                      l1mi_used_NN            CHECK ( l1mi_used IS NOT NULL)
296 );
297 
298 -- Here the deadtime information is stored
299 CREATE TABLE l1_dead_time ( 
300         l1dt_id                         NUMBER(10),
301         l1dt_name                       VARCHAR2(50),
302         l1dt_version                    NUMBER(11),
303         l1dt_simple                     NUMBER(10),
304         l1dt_complex1_rate              NUMBER(10),
305         l1dt_complex1_level             NUMBER(10),
306         l1dt_complex2_rate              NUMBER(10),
307         l1dt_complex2_level             NUMBER(10),
308         l1dt_username                   VARCHAR2(50),
309         l1dt_modified_time              TIMESTAMP,
310         l1dt_used                       CHAR                    default 0,                      
311         CONSTRAINT                      l1dt_pk                 PRIMARY KEY (l1dt_id),
312         CONSTRAINT                      l1dt_nmver              UNIQUE (l1dt_name, l1dt_version),
313         CONSTRAINT                      l1dt_id_NN              CHECK ( l1dt_id IS NOT NULL),
314         CONSTRAINT                      l1dt_name_NN            CHECK ( l1dt_name IS NOT NULL),
315         CONSTRAINT                      l1dt_version_NN         CHECK ( l1dt_version IS NOT NULL),
316         CONSTRAINT                      l1dt_simple_NN          CHECK ( l1dt_simple IS NOT NULL),
317         CONSTRAINT                      l1dt_complex1_rate_NN   CHECK ( l1dt_complex1_rate IS NOT NULL),
318         CONSTRAINT                      l1dt_complex1_level_NN  CHECK ( l1dt_complex1_level IS NOT NULL),
319         CONSTRAINT                      l1dt_complex2_rate_NN   CHECK ( l1dt_complex2_rate IS NOT NULL),
320         CONSTRAINT                      l1dt_complex2_level_NN  CHECK ( l1dt_complex2_level IS NOT NULL),
321         CONSTRAINT                      l1dt_used_NN            CHECK ( l1dt_used IS NOT NULL)
322 );
323 
324 -- Here the RND trigger rates are stored
325 -- Note that these trigger rates could also be
326 -- treated as trigger threshold values.
327 -- Now we give a direct link from the trigger menu.
328 -- This allows to change the RND trigger rates without
329 -- changing the trigger items
330 CREATE TABLE l1_random (
331         l1r_id                          NUMBER(10),
332         l1r_name                        VARCHAR2(50),
333         l1r_version                     NUMBER(11),
334         l1r_rate1                       NUMBER(10),
335         l1r_rate2                       NUMBER(10),
336         l1r_autoseed1                   NUMBER(1),
337         l1r_autoseed2                   NUMBER(1),
338         l1r_seed1                       NUMBER(10),
339         l1r_seed2                       NUMBER(10),
340         l1r_username                    VARCHAR2(50),
341         l1r_modified_time               TIMESTAMP,
342         l1r_used                        CHAR                    default 0,       
343         CONSTRAINT                      l1r_pk                  PRIMARY KEY (l1r_id),
344         CONSTRAINT                      l1r_nmver               UNIQUE (l1r_name, l1r_version),
345         CONSTRAINT                      l1r_id_NN               CHECK ( l1r_id IS NOT NULL),
346         CONSTRAINT                      l1r_name_NN             CHECK ( l1r_name IS NOT NULL),
347         CONSTRAINT                      l1r_version_NN          CHECK ( l1r_version IS NOT NULL),
348         CONSTRAINT                      l1r_rate1_NN            CHECK ( l1r_rate1 IS NOT NULL),
349         CONSTRAINT                      l1r_rate2_NN            CHECK ( l1r_rate2 IS NOT NULL),
350         CONSTRAINT                      l1r_autoseed1_NN        CHECK ( l1r_autoseed1 IS NOT NULL),
351         CONSTRAINT                      l1r_autoseed2_NN        CHECK ( l1r_autoseed2 IS NOT NULL),
352         CONSTRAINT                      l1r_seed1_NN            CHECK ( l1r_seed1 IS NOT NULL),
353         CONSTRAINT                      l1r_seed2_NN            CHECK ( l1r_seed2 IS NOT NULL),
354         CONSTRAINT                      l1r_used_NN             CHECK ( l1r_used IS NOT NULL)
355 );
356 
357 -- Here the two prescaled clocks of the CTP are stored.
358 -- Please note the additional remarks on the random triggers
359 -- which also apply here.
360 CREATE TABLE l1_prescaled_clock (
361         l1pc_id                         NUMBER(10),
362         l1pc_name                       VARCHAR2(50),
363         l1pc_version                    NUMBER(11),
364         l1pc_clock1                     NUMBER(10),
365         l1pc_clock2                     NUMBER(10),
366         l1pc_username                   VARCHAR2(50),
367         l1pc_modified_time              TIMESTAMP,
368         l1pc_used                       CHAR                    default 0,       
369         CONSTRAINT                      psc_pk                  PRIMARY KEY (l1pc_id),
370         CONSTRAINT                      psc_nmver               UNIQUE (l1pc_name, l1pc_version),
371         CONSTRAINT                      l1pc_id_NN              CHECK ( l1pc_id IS NOT NULL),
372         CONSTRAINT                      l1pc_name_NN            CHECK ( l1pc_name IS NOT NULL),
373         CONSTRAINT                      l1pc_version_NN         CHECK ( l1pc_version IS NOT NULL),
374         CONSTRAINT                      l1pc_clock1_NN          CHECK ( l1pc_clock1 IS NOT NULL),
375         CONSTRAINT                      l1pc_clock2_NN          CHECK ( l1pc_clock2 IS NOT NULL),
376         CONSTRAINT                      l1pc_used_NN            CHECK ( l1pc_used IS NOT NULL)
377 );
378 
379 -- two additional tables requested by L1Calo
380 CREATE TABLE l1_jet_input (
381         l1ji_id                         NUMBER(10),
382         l1ji_name                       VARCHAR2(50),
383         l1ji_version                    NUMBER(11),
384         l1ji_type                       VARCHAR2(6),
385         l1ji_value                      NUMBER(10),
386         l1ji_eta_min                    NUMBER(10),
387         l1ji_eta_max                    NUMBER(10),
388         l1ji_phi_min                    NUMBER(10),
389         l1ji_phi_max                    NUMBER(10),
390         l1ji_username                   VARCHAR2(50),
391         l1ji_modified_time              TIMESTAMP,
392         l1ji_used                       CHAR                    default 0,       
393         CONSTRAINT                      l1ji_pk                 PRIMARY KEY (l1ji_id),
394         CONSTRAINT                      l1ji_nmver              UNIQUE (l1ji_name, l1ji_version),
395         CONSTRAINT                      l1ji_id_NN              CHECK ( l1ji_id IS NOT NULL),
396         CONSTRAINT                      l1ji_name_NN            CHECK ( l1ji_name IS NOT NULL),
397         CONSTRAINT                      l1ji_version_NN         CHECK ( l1ji_version IS NOT NULL),
398         CONSTRAINT                      l1ji_type_NN            CHECK ( l1ji_type IS NOT NULL),
399         CONSTRAINT                      l1ji_value_NN           CHECK ( l1ji_value IS NOT NULL),
400         CONSTRAINT                      l1ji_eta_min_NN         CHECK ( l1ji_eta_min IS NOT NULL),
401         CONSTRAINT                      l1ji_eta_max_NN         CHECK ( l1ji_eta_max IS NOT NULL),
402         CONSTRAINT                      l1ji_phi_min_NN         CHECK ( l1ji_phi_min IS NOT NULL),
403         CONSTRAINT                      l1ji_phi_max_NN         CHECK ( l1ji_phi_max IS NOT NULL),
404         CONSTRAINT                      l1ji_used_NN            CHECK ( l1ji_used IS NOT NULL)
405 );
406 
407 -- note the values for val1 to val8 should eb 8-bit integer
408 CREATE TABLE l1_calo_sin_cos (
409         l1csc_id                        NUMBER(10),
410         l1csc_name                      VARCHAR2(50),
411         l1csc_version                   NUMBER(11),
412         l1csc_val1                      NUMBER(10),
413         l1csc_val2                      NUMBER(10),
414         l1csc_val3                      NUMBER(10),
415         l1csc_val4                      NUMBER(10),
416         l1csc_val5                      NUMBER(10),
417         l1csc_val6                      NUMBER(10),
418         l1csc_val7                      NUMBER(10),
419         l1csc_val8                      NUMBER(10),
420         l1csc_eta_min                   NUMBER(10),
421         l1csc_eta_max                   NUMBER(10),
422         l1csc_phi_min                   NUMBER(10),
423         l1csc_phi_max                   NUMBER(10),
424         l1csc_username                  VARCHAR2(50),
425         l1csc_modified_time             TIMESTAMP,
426         l1csc_used                      CHAR                    default 0,       
427         CONSTRAINT                      l1csc_pk                PRIMARY KEY (l1csc_id),
428         CONSTRAINT                      l1csc_nmver             UNIQUE (l1csc_name, l1csc_version),
429         CONSTRAINT                      l1csc_id_NN             CHECK ( l1csc_id IS NOT NULL),
430         CONSTRAINT                      l1csc_name_NN           CHECK ( l1csc_name IS NOT NULL),
431         CONSTRAINT                      l1csc_version_NN        CHECK ( l1csc_version IS NOT NULL),
432         CONSTRAINT                      l1csc_val1_NN           CHECK ( l1csc_val1 IS NOT NULL),
433         CONSTRAINT                      l1csc_val2_NN           CHECK ( l1csc_val2 IS NOT NULL),
434         CONSTRAINT                      l1csc_val3_NN           CHECK ( l1csc_val3 IS NOT NULL),
435         CONSTRAINT                      l1csc_val4_NN           CHECK ( l1csc_val4 IS NOT NULL),
436         CONSTRAINT                      l1csc_val5_NN           CHECK ( l1csc_val5 IS NOT NULL),
437         CONSTRAINT                      l1csc_val6_NN           CHECK ( l1csc_val6 IS NOT NULL),
438         CONSTRAINT                      l1csc_val7_NN           CHECK ( l1csc_val7 IS NOT NULL),
439         CONSTRAINT                      l1csc_val8_NN           CHECK ( l1csc_val8 IS NOT NULL),
440         CONSTRAINT                      l1csc_eta_min_NN        CHECK ( l1csc_eta_min IS NOT NULL),
441         CONSTRAINT                      l1csc_eta_max_NN        CHECK ( l1csc_eta_max IS NOT NULL),
442         CONSTRAINT                      l1csc_phi_min_NN        CHECK ( l1csc_phi_min IS NOT NULL),
443         CONSTRAINT                      l1csc_phi_max_NN        CHECK ( l1csc_phi_max IS NOT NULL),
444         CONSTRAINT                      l1csc_used_NN           CHECK ( l1csc_used IS NOT NULL)
445 );
446 
447 -- Here the bunchgroup sets are defined. These sets are
448 -- maximum 8 bunch groups. Here again we give a direct link
449 -- from the trigger menu in order to change the definition
450 -- of bunchgroups without changing the definition of the
451 -- trigger items. In their definition only the BG is specified
452 -- from the set of BGs associated to the trigger menu.
453 CREATE TABLE l1_bunch_group_set (
454         l1bgs_id                        NUMBER(10),
455         l1bgs_name                      VARCHAR2(50),
456         l1bgs_version                   NUMBER(11),
457         l1bgs_comment                   VARCHAR2(200),
458         l1bgs_username                  VARCHAR2(50),
459         l1bgs_modified_time             TIMESTAMP,
460         l1bgs_used                      CHAR                    default 0,       
461         CONSTRAINT                      l1bgs_pk                PRIMARY KEY (l1bgs_id),
462         CONSTRAINT                      l1bgs_nmver             UNIQUE (l1bgs_name, l1bgs_version),
463         CONSTRAINT                      l1bgs_id_NN             CHECK ( l1bgs_id IS NOT NULL),
464         CONSTRAINT                      l1bgs_name_NN           CHECK ( l1bgs_name IS NOT NULL),
465         CONSTRAINT                      l1bgs_version_NN        CHECK ( l1bgs_version IS NOT NULL),
466         CONSTRAINT                      l1bgs_used_NN           CHECK ( l1bgs_used IS NOT NULL)
467 );              
468 
469 -- defines the bunch groups used in the bunch group sets above
470 CREATE TABLE l1_bunch_group (
471         l1bg_id                         NUMBER(10),
472         l1bg_name                       VARCHAR2(50),
473         l1bg_version                    NUMBER(11),
474         l1bg_comment                    VARCHAR2(200),
475         l1bg_username                   VARCHAR2(50),
476         l1bg_modified_time              TIMESTAMP,
477         l1bg_used                       CHAR                    default 0,       
478         CONSTRAINT                      l1bg_pk                 PRIMARY KEY (l1bg_id),
479         CONSTRAINT                      l1bg_nmver              UNIQUE (l1bg_name, l1bg_version),
480         CONSTRAINT                      l1bg_id_NN              CHECK ( l1bg_id IS NOT NULL),
481         CONSTRAINT                      l1bg_name_NN            CHECK ( l1bg_name IS NOT NULL),
482         CONSTRAINT                      l1bg_version_NN         CHECK ( l1bg_version IS NOT NULL),
483         CONSTRAINT                      l1bg_used_NN            CHECK ( l1bg_used IS NOT NULL)
484 );
485 
486 -- In this table the CTP HW files are stored. THis table is referenced
487 -- by the trigger_menu. There is one entry of ctp_hw_files for each L1_menu;
488 CREATE TABLE l1_ctp_files ( 
489         l1cf_id                         NUMBER(10),
490         l1cf_name                       VARCHAR2(50),
491         l1cf_version                    NUMBER(11),
492         l1cf_lut                        CLOB,
493         l1cf_cam                        CLOB,   
494         l1cf_mon_sel_slot7              CLOB,
495         l1cf_mon_sel_slot8              CLOB,
496         l1cf_mon_sel_slot9              CLOB,
497         l1cf_mon_sel_ctpmon             CLOB,
498         l1cf_mon_dec_slot7              CLOB,
499         l1cf_mon_dec_slot8              CLOB,
500         l1cf_mon_dec_slot9              CLOB,
501         l1cf_mon_dec_ctpmon             CLOB,
502         l1cf_username                   VARCHAR2(50),
503         l1cf_modified_time              TIMESTAMP,
504         l1cf_used                       CHAR                    default 0,       
505         CONSTRAINT                      l1cf_pk                 PRIMARY KEY (l1cf_id),
506         CONSTRAINT                      l1cf_nmver              UNIQUE (l1cf_name, l1cf_version),
507         CONSTRAINT                      l1cf_id_NN              CHECK ( l1cf_id IS NOT NULL),
508         CONSTRAINT                      l1cf_name_NN            CHECK ( l1cf_name IS NOT NULL),
509         CONSTRAINT                      l1cf_version_NN         CHECK ( l1cf_version IS NOT NULL),
510         CONSTRAINT                      l1cf_used_NN            CHECK ( l1cf_used IS NOT NULL)
511 );
512 
513 -- In this table the switch matrix input files are stored, as well as their 
514 -- associated vhdl and binary files. This table is referenced by the trigger_menu.
515 CREATE TABLE l1_ctp_smx (
516         l1smx_id                        NUMBER(10),
517         l1smx_name                      VARCHAR2(50),
518         l1smx_version                   NUMBER(11),
519         l1smx_output                    CLOB,
520         l1smx_vhdl_slot7                CLOB,
521         l1smx_vhdl_slot8                CLOB,
522         l1smx_vhdl_slot9                CLOB,
523         l1smx_svfi_slot7                CLOB,
524         l1smx_svfi_slot8                CLOB,
525         l1smx_svfi_slot9                CLOB,           
526         l1smx_username                  VARCHAR2(50),
527         l1smx_modified_time             TIMESTAMP,
528         l1smx_used                      CHAR                    default 0,       
529         CONSTRAINT                      l1smx_pk                PRIMARY KEY (l1smx_id),
530         CONSTRAINT                      l1smx_nmver             UNIQUE (l1smx_name, l1smx_version),
531         CONSTRAINT                      l1smx_id_NN             CHECK ( l1smx_id IS NOT NULL),
532         CONSTRAINT                      l1smx_name_NN           CHECK ( l1smx_name IS NOT NULL),
533         CONSTRAINT                      l1smx_version_NN        CHECK ( l1smx_version IS NOT NULL),
534         CONSTRAINT                      l1smx_used_NN           CHECK ( l1smx_used IS NOT NULL)
535 ); 
536 
537 -- The trigger menu. There are refrences to information stored
538 -- in other tables. Each change of this information requires a 
539 -- version update of the trigger menu. Please note that the 
540 -- random trigger rates, the prescaled clocks, and the bunch group
541 -- sets are defined here.       
542 -- Note that the reference to the prescale set only gives the default
543 -- prescale of this trigger menu. The actual used prescales are stored
544 -- in the master table
545 -- There is a foreign key to the ctp_hw_files attributed to this menu.
546 -- There is a foreign key to the ctp_smx_files attributed to this menu.
547 CREATE TABLE l1_trigger_menu (
548         l1tm_id                         NUMBER(10),
549         l1tm_name                       VARCHAR2(50),
550         l1tm_version                    NUMBER(11),
551         l1tm_phase                      VARCHAR2(50),
552         l1tm_ctp_safe                   NUMBER(1),
553         l1tm_ctp_files_id               NUMBER(10),
554         l1tm_ctp_smx_id                 NUMBER(10),
555         l1tm_username                   VARCHAR2(50),
556         l1tm_modified_time              TIMESTAMP,
557         l1tm_used                       CHAR                    default 0,       
558         CONSTRAINT                      l1tm_fk_cf              FOREIGN KEY (l1tm_ctp_files_id)
559                                                                 REFERENCES l1_ctp_files(l1cf_id),
560         CONSTRAINT                      l1tm_fk_smx             FOREIGN KEY (l1tm_ctp_smx_id)
561                                                                 REFERENCES l1_ctp_smx(l1smx_id),
562         CONSTRAINT                      l1tm_pk                 PRIMARY KEY (l1tm_id),
563         CONSTRAINT                      l1tm_nmver              UNIQUE (l1tm_name, l1tm_version),
564         CONSTRAINT                      l1tm_id_NN              CHECK ( l1tm_id IS NOT NULL),
565         CONSTRAINT                      l1tm_name_NN            CHECK ( l1tm_name IS NOT NULL),
566         CONSTRAINT                      l1tm_version_NN         CHECK ( l1tm_version IS NOT NULL),
567         CONSTRAINT                      l1tm_phase_NN           CHECK ( l1tm_phase IS NOT NULL),
568         CONSTRAINT                      l1tm_ctp_safe_NN        CHECK ( l1tm_ctp_safe IS NOT NULL),
569         CONSTRAINT                      l1tm_used_NN            CHECK ( l1tm_used IS NOT NULL)
570 );
571 CREATE INDEX l1tm_ctp_files_id_ind ON l1_trigger_menu(l1tm_ctp_files_id);
572 CREATE INDEX l1tm_ctp_smx_id_ind   ON l1_trigger_menu(l1tm_ctp_smx_id);
573 
574 
575 -- This is a list of trigger items. The ti_definiton is a encoded
576 -- logical expression. The amount of logical expression in LVL1 trigger
577 -- menus will be limited. 95 percents of the cases are simple AND
578 -- connections. No need to install something more sophisticated. Can
579 -- be changed easily. ti_group is just a variable to bring an 
580 -- overview into the many trigger-items.
581 CREATE TABLE l1_trigger_item (
582         l1ti_id                         NUMBER(10),     
583         l1ti_name                       VARCHAR2(50),   
584         l1ti_version                    NUMBER(11),     
585         l1ti_comment                    VARCHAR2(50),   
586         l1ti_ctp_id                     NUMBER(10),     
587         l1ti_priority                   VARCHAR2(6),    
588         l1ti_definition                 VARCHAR2(64),   
589         l1ti_group                      NUMBER(10),     
590         l1ti_trigger_type               NUMBER(4),      
591         l1ti_username                   VARCHAR2(50),
592         l1ti_modified_time              TIMESTAMP,
593         l1ti_used                       CHAR                    default 0,
594         CONSTRAINT                      l1ti_pk                 PRIMARY KEY (l1ti_id),
595         CONSTRAINT                      l1ti_nmver              UNIQUE (l1ti_name, l1ti_version),
596         CONSTRAINT                      l1ti_id_NN              CHECK ( l1ti_id IS NOT NULL),
597         CONSTRAINT                      l1ti_name_NN            CHECK ( l1ti_name IS NOT NULL),
598         CONSTRAINT                      l1ti_version_NN         CHECK ( l1ti_version IS NOT NULL),
599         CONSTRAINT                      l1ti_ctp_id_NN          CHECK ( l1ti_ctp_id IS NOT NULL),
600         CONSTRAINT                      l1ti_priority_NN        CHECK ( l1ti_priority IS NOT NULL),
601         CONSTRAINT                      l1ti_definition_NN      CHECK ( l1ti_definition IS NOT NULL),
602         CONSTRAINT                      l1ti_group_NN           CHECK ( l1ti_group IS NOT NULL),
603         CONSTRAINT                      l1ti_used_NN            CHECK ( l1ti_used IS NOT NULL)
604 );
605 
606 -- This table gives a list a trigger thresholds. Please note that
607 -- also the RNDs, PSC and BG are listed here.  
608 CREATE TABLE l1_trigger_threshold (
609         l1tt_id                         NUMBER(10),
610         l1tt_name                       VARCHAR2(50),
611         l1tt_version                    NUMBER(11),
612         l1tt_type                       VARCHAR2(6),
613         l1tt_bitnum                     NUMBER(10),
614         l1tt_active                     NUMBER(1),
615         l1tt_mapping                    NUMBER(10),
616         l1tt_username                   VARCHAR2(50),
617         l1tt_modified_time              TIMESTAMP,
618         l1tt_used                       CHAR                    default 0,
619         CONSTRAINT                      l1tt_pk                 PRIMARY KEY (l1tt_id),
620         CONSTRAINT                      l1tt_nmver              UNIQUE (l1tt_name, l1tt_version),
621         CONSTRAINT                      l1tt_id_NN              CHECK ( l1tt_id IS NOT NULL),
622         CONSTRAINT                      l1tt_name_NN            CHECK ( l1tt_name IS NOT NULL),
623         CONSTRAINT                      l1tt_version_NN         CHECK ( l1tt_version IS NOT NULL),
624         CONSTRAINT                      l1tt_type_NN            CHECK ( l1tt_type IS NOT NULL),
625         CONSTRAINT                      l1tt_bitnum_NN          CHECK ( l1tt_bitnum IS NOT NULL),
626         CONSTRAINT                      l1tt_mapping_NN         CHECK ( l1tt_mapping IS NOT NULL),
627         CONSTRAINT                      l1tt_used_NN            CHECK ( l1tt_used IS NOT NULL)
628 );
629 
630 -- This table holds a list of all trigger threshold values. This
631 -- is relevant for all calo thresholds which could be angular dependent.
632 -- For muon thresholds we re-use the same table because of simplicity.
633 -- Aslo the RND, PSC and BG are listed here. The pt_cut value of thes
634 -- thresholds are the reference to the list attched to the trigger menu.
635 -- e.g. a BG with ptcut=4, means the BG that is attached to the trigger
636 -- menu via the BG set and has an internal number of 4.
637 CREATE TABLE l1_trigger_threshold_value (
638         l1ttv_id                        NUMBER(10),
639         l1ttv_name                      VARCHAR2(50),
640         l1ttv_version                   NUMBER(11),
641         l1ttv_type                      VARCHAR2(10),
642         l1ttv_pt_cut                    VARCHAR2(10),
643         l1ttv_eta_min                   NUMBER(10),
644         l1ttv_eta_max                   NUMBER(10),
645         l1ttv_phi_min                   NUMBER(10),
646         l1ttv_phi_max                   NUMBER(10),
647         l1ttv_em_isolation              VARCHAR2(10),
648         l1ttv_had_isolation             VARCHAR2(10),
649         l1ttv_had_veto                  VARCHAR2(10),
650         l1ttv_window                    NUMBER(10),
651         l1ttv_priority                  VARCHAR2(10),
652         l1ttv_username                  VARCHAR2(50),
653         l1ttv_modified_time             TIMESTAMP,
654         l1ttv_used                      CHAR                    default 0,
655         CONSTRAINT                      l1ttv_pk                PRIMARY KEY (l1ttv_id),
656         CONSTRAINT                      l1ttv_nmver             UNIQUE (l1ttv_name, l1ttv_version),
657         CONSTRAINT                      l1ttv_id_NN             CHECK ( l1ttv_id IS NOT NULL),
658         CONSTRAINT                      l1ttv_name_NN           CHECK ( l1ttv_name IS NOT NULL),
659         CONSTRAINT                      l1ttv_version_NN        CHECK ( l1ttv_version IS NOT NULL),
660         CONSTRAINT                      l1ttv_type_NN           CHECK ( l1ttv_type IS NOT NULL),
661         CONSTRAINT                      l1ttv_pt_cut_NN         CHECK ( l1ttv_pt_cut IS NOT NULL),
662         CONSTRAINT                      l1ttv_used_NN           CHECK ( l1ttv_used IS NOT NULL)
663 );
664 
665 
666 CREATE TABLE l1_calo_info (
667         l1ci_id                         NUMBER(10),  
668         l1ci_name                       VARCHAR2(50),
669         l1ci_version                    NUMBER(11),  
670         l1ci_global_scale               VARCHAR2(10),
671         l1ci_jet_weight1                NUMBER(10),
672         l1ci_jet_weight2                NUMBER(10),
673         l1ci_jet_weight3                NUMBER(10),
674         l1ci_jet_weight4                NUMBER(10),
675         l1ci_jet_weight5                NUMBER(10),
676         l1ci_jet_weight6                NUMBER(10),
677         l1ci_jet_weight7                NUMBER(10),
678         l1ci_jet_weight8                NUMBER(10),
679         l1ci_jet_weight9                NUMBER(10),
680         l1ci_jet_weight10               NUMBER(10),
681         l1ci_jet_weight11               NUMBER(10),
682         l1ci_jet_weight12               NUMBER(10),
683         l1ci_username                   VARCHAR2(50) ,
684         l1ci_modified_time              TIMESTAMP,
685         l1ci_used                       CHAR                    default 0,
686         CONSTRAINT                      l1ci_pk                 PRIMARY KEY (l1ci_id),
687         CONSTRAINT                      l1ci_id_NN              CHECK ( l1ci_id IS NOT NULL),
688         CONSTRAINT                      l1ci_name_NN            CHECK ( l1ci_name IS NOT NULL),
689         CONSTRAINT                      l1civ_version_NN        CHECK ( l1ci_version IS NOT NULL),
690         CONSTRAINT                      l1ci_global_scale_NN    CHECK ( l1ci_global_scale IS NOT NULL),
691         CONSTRAINT                      l1ci_jet_weight1_NN     CHECK ( l1ci_jet_weight1 IS NOT NULL),
692         CONSTRAINT                      l1ci_jet_weight2_NN     CHECK ( l1ci_jet_weight2 IS NOT NULL),
693         CONSTRAINT                      l1ci_jet_weight3_NN     CHECK ( l1ci_jet_weight3 IS NOT NULL),
694         CONSTRAINT                      l1ci_jet_weight4_NN     CHECK ( l1ci_jet_weight4 IS NOT NULL),
695         CONSTRAINT                      l1ci_jet_weight5_NN     CHECK ( l1ci_jet_weight5 IS NOT NULL),
696         CONSTRAINT                      l1ci_jet_weight6_NN     CHECK ( l1ci_jet_weight6 IS NOT NULL),
697         CONSTRAINT                      l1ci_jet_weight7_NN     CHECK ( l1ci_jet_weight7 IS NOT NULL),
698         CONSTRAINT                      l1ci_jet_weight8_NN     CHECK ( l1ci_jet_weight8 IS NOT NULL),
699         CONSTRAINT                      l1ci_jet_weight9_NN     CHECK ( l1ci_jet_weight9 IS NOT NULL),
700         CONSTRAINT                      l1ci_jet_weight10_NN    CHECK ( l1ci_jet_weight10 IS NOT NULL),
701         CONSTRAINT                      l1ci_jet_weight11_NN    CHECK ( l1ci_jet_weight11 IS NOT NULL),
702         CONSTRAINT                      l1ci_jet_weight12_NN    CHECK ( l1ci_jet_weight12 IS NOT NULL),
703         CONSTRAINT                      l1ci_used_NN            CHECK ( l1ci_used IS NOT NULL)
704 );      
705 
706 -- This table holds the list of available threshold sets for the
707 -- Lvl1 muon trigger. The configured thresholds must map on to the 
708 -- the values and the position of one of the available threshold sets
709 -- or the corresponding configuration is not viable. This table
710 -- should not be referenced directly, as it may move to the muon trigger
711 -- world. It is used by the trigger tool to verify configurations.
712 
713 CREATE TABLE l1_muon_threshold_set (
714         l1mts_id                        NUMBER(10), 
715         l1mts_name                      VARCHAR2(200),
716         l1mts_version                   NUMBER(11),     
717         l1mts_rpc_available             NUMBER(1),      
718         l1mts_rpc_available_online      NUMBER(1),      
719         l1mts_rpc_set_ext_id            NUMBER(10),     
720         l1mts_rpc_set_name              VARCHAR2(200),  
721         l1mts_rpc_pt1_ext_id            NUMBER(10),     
722         l1mts_rpc_pt2_ext_id            NUMBER(10),     
723         l1mts_rpc_pt3_ext_id            NUMBER(10),     
724         l1mts_rpc_pt4_ext_id            NUMBER(10),     
725         l1mts_rpc_pt5_ext_id            NUMBER(10),     
726         l1mts_rpc_pt6_ext_id            NUMBER(10),     
727         l1mts_tgc_available             NUMBER(1),      
728         l1mts_tgc_available_online      NUMBER(1),      
729         l1mts_tgc_set_ext_id            NUMBER(10),     
730         l1mts_tgc_set_name              VARCHAR2(200),  
731         l1mts_username                  VARCHAR2(50),
732         l1mts_modified_time             TIMESTAMP,
733         l1mts_used                      CHAR                    default 0,
734         CONSTRAINT                      l1mts_pk                PRIMARY KEY (l1mts_id),
735         CONSTRAINT                      l1mts_nmver             UNIQUE (l1mts_name, l1mts_version),
736         CONSTRAINT                      l1mts_id_NN             CHECK ( l1mts_id IS NOT NULL),
737         CONSTRAINT                      l1mts_name_NN           CHECK ( l1mts_name IS NOT NULL),
738         CONSTRAINT                      l1mts_version_NN        CHECK ( l1mts_version IS NOT NULL),
739         CONSTRAINT                      l1mts_rpc_avail_NN      CHECK ( l1mts_rpc_available IS NOT NULL),
740         CONSTRAINT                      l1mts_rpc_avail_onl_NN  CHECK ( l1mts_rpc_available_online IS NOT NULL),
741         CONSTRAINT                      l1mts_rpc_set_ext_id_NN CHECK ( l1mts_rpc_set_ext_id IS NOT NULL),
742         CONSTRAINT                      l1mts_rpc_set_name_NN   CHECK ( l1mts_rpc_set_name IS NOT NULL),
743         CONSTRAINT                      l1mts_rpc_pt1_ext_id_NN CHECK ( l1mts_rpc_pt1_ext_id IS NOT NULL),
744         CONSTRAINT                      l1mts_rpc_pt2_ext_id_NN CHECK ( l1mts_rpc_pt2_ext_id IS NOT NULL),
745         CONSTRAINT                      l1mts_rpc_pt3_ext_id_NN CHECK ( l1mts_rpc_pt3_ext_id IS NOT NULL),
746         CONSTRAINT                      l1mts_rpc_pt4_ext_id_NN CHECK ( l1mts_rpc_pt4_ext_id IS NOT NULL),
747         CONSTRAINT                      l1mts_rpc_pt5_ext_id_NN CHECK ( l1mts_rpc_pt5_ext_id IS NOT NULL),
748         CONSTRAINT                      l1mts_rpc_pt6_ext_id_NN CHECK ( l1mts_rpc_pt6_ext_id IS NOT NULL),
749         CONSTRAINT                      l1mts_tgc_avail_NN      CHECK ( l1mts_tgc_available IS NOT NULL),
750         CONSTRAINT                      l1mts_tgc_avail_onl_NN  CHECK ( l1mts_tgc_available_online IS NOT NULL),
751         CONSTRAINT                      l1mts_tgc_set_ext_id_NN CHECK ( l1mts_tgc_set_ext_id IS NOT NULL),
752         CONSTRAINT                      l1mts_tgc_set_name_NN   CHECK ( l1mts_tgc_set_name IS NOT NULL),
753         CONSTRAINT                      l1mts_used_NN           CHECK ( l1mts_used IS NOT NULL)
754 );
755 
756 
757 -- In this table the prescale factors for the
758 -- trigger items are stored
759 CREATE TABLE l1_prescale_set (
760         l1ps_id                         NUMBER(10),
761         l1ps_name                       VARCHAR2(65),
762         l1ps_version                    NUMBER(11),
763         l1ps_comment                    VARCHAR2(200),
764         l1ps_lumi                       VARCHAR2(10),
765         l1ps_shift_safe                 NUMBER(1),
766         l1ps_default                    NUMBER(1),
767         l1ps_val1                       NUMBER(10),
768         l1ps_val2                       NUMBER(10),
769         l1ps_val3                       NUMBER(10),
770         l1ps_val4                       NUMBER(10),
771         l1ps_val5                       NUMBER(10),
772         l1ps_val6                       NUMBER(10),
773         l1ps_val7                       NUMBER(10),
774         l1ps_val8                       NUMBER(10),
775         l1ps_val9                       NUMBER(10),
776         l1ps_val10                      NUMBER(10),
777         l1ps_val11                      NUMBER(10),
778         l1ps_val12                      NUMBER(10),
779         l1ps_val13                      NUMBER(10),
780         l1ps_val14                      NUMBER(10),
781         l1ps_val15                      NUMBER(10),
782         l1ps_val16                      NUMBER(10),
783         l1ps_val17                      NUMBER(10),
784         l1ps_val18                      NUMBER(10),
785         l1ps_val19                      NUMBER(10),
786         l1ps_val20                      NUMBER(10),
787         l1ps_val21                      NUMBER(10),
788         l1ps_val22                      NUMBER(10),
789         l1ps_val23                      NUMBER(10),
790         l1ps_val24                      NUMBER(10),
791         l1ps_val25                      NUMBER(10),
792         l1ps_val26                      NUMBER(10),
793         l1ps_val27                      NUMBER(10),
794         l1ps_val28                      NUMBER(10),
795         l1ps_val29                      NUMBER(10),
796         l1ps_val30                      NUMBER(10),
797         l1ps_val31                      NUMBER(10),
798         l1ps_val32                      NUMBER(10),
799         l1ps_val33                      NUMBER(10),
800         l1ps_val34                      NUMBER(10),
801         l1ps_val35                      NUMBER(10),
802         l1ps_val36                      NUMBER(10),
803         l1ps_val37                      NUMBER(10),
804         l1ps_val38                      NUMBER(10),
805         l1ps_val39                      NUMBER(10),
806         l1ps_val40                      NUMBER(10),
807         l1ps_val41                      NUMBER(10),
808         l1ps_val42                      NUMBER(10),
809         l1ps_val43                      NUMBER(10),
810         l1ps_val44                      NUMBER(10),
811         l1ps_val45                      NUMBER(10),
812         l1ps_val46                      NUMBER(10),
813         l1ps_val47                      NUMBER(10),
814         l1ps_val48                      NUMBER(10),
815         l1ps_val49                      NUMBER(10),
816         l1ps_val50                      NUMBER(10),
817         l1ps_val51                      NUMBER(10),
818         l1ps_val52                      NUMBER(10),
819         l1ps_val53                      NUMBER(10),
820         l1ps_val54                      NUMBER(10),
821         l1ps_val55                      NUMBER(10),
822         l1ps_val56                      NUMBER(10),
823         l1ps_val57                      NUMBER(10),
824         l1ps_val58                      NUMBER(10),
825         l1ps_val59                      NUMBER(10),
826         l1ps_val60                      NUMBER(10),
827         l1ps_val61                      NUMBER(10),
828         l1ps_val62                      NUMBER(10),
829         l1ps_val63                      NUMBER(10),
830         l1ps_val64                      NUMBER(10),
831         l1ps_val65                      NUMBER(10),
832         l1ps_val66                      NUMBER(10),
833         l1ps_val67                      NUMBER(10),
834         l1ps_val68                      NUMBER(10),
835         l1ps_val69                      NUMBER(10),
836         l1ps_val70                      NUMBER(10),
837         l1ps_val71                      NUMBER(10),
838         l1ps_val72                      NUMBER(10),
839         l1ps_val73                      NUMBER(10),
840         l1ps_val74                      NUMBER(10),
841         l1ps_val75                      NUMBER(10),
842         l1ps_val76                      NUMBER(10),
843         l1ps_val77                      NUMBER(10),
844         l1ps_val78                      NUMBER(10),
845         l1ps_val79                      NUMBER(10),
846         l1ps_val80                      NUMBER(10),
847         l1ps_val81                      NUMBER(10),
848         l1ps_val82                      NUMBER(10),
849         l1ps_val83                      NUMBER(10),
850         l1ps_val84                      NUMBER(10),
851         l1ps_val85                      NUMBER(10),
852         l1ps_val86                      NUMBER(10),
853         l1ps_val87                      NUMBER(10),
854         l1ps_val88                      NUMBER(10),
855         l1ps_val89                      NUMBER(10),
856         l1ps_val90                      NUMBER(10),
857         l1ps_val91                      NUMBER(10),
858         l1ps_val92                      NUMBER(10),
859         l1ps_val93                      NUMBER(10),
860         l1ps_val94                      NUMBER(10),
861         l1ps_val95                      NUMBER(10),
862         l1ps_val96                      NUMBER(10),
863         l1ps_val97                      NUMBER(10),
864         l1ps_val98                      NUMBER(10),
865         l1ps_val99                      NUMBER(10),
866         l1ps_val100                     NUMBER(10),
867         l1ps_val101                     NUMBER(10),
868         l1ps_val102                     NUMBER(10),
869         l1ps_val103                     NUMBER(10),
870         l1ps_val104                     NUMBER(10),
871         l1ps_val105                     NUMBER(10),
872         l1ps_val106                     NUMBER(10),
873         l1ps_val107                     NUMBER(10),
874         l1ps_val108                     NUMBER(10),
875         l1ps_val109                     NUMBER(10),
876         l1ps_val110                     NUMBER(10),
877         l1ps_val111                     NUMBER(10),
878         l1ps_val112                     NUMBER(10),
879         l1ps_val113                     NUMBER(10),
880         l1ps_val114                     NUMBER(10),
881         l1ps_val115                     NUMBER(10),
882         l1ps_val116                     NUMBER(10),
883         l1ps_val117                     NUMBER(10),
884         l1ps_val118                     NUMBER(10),
885         l1ps_val119                     NUMBER(10),
886         l1ps_val120                     NUMBER(10),
887         l1ps_val121                     NUMBER(10),
888         l1ps_val122                     NUMBER(10),
889         l1ps_val123                     NUMBER(10),
890         l1ps_val124                     NUMBER(10),
891         l1ps_val125                     NUMBER(10),
892         l1ps_val126                     NUMBER(10),
893         l1ps_val127                     NUMBER(10),
894         l1ps_val128                     NUMBER(10),
895         l1ps_val129                     NUMBER(10),
896         l1ps_val130                     NUMBER(10),
897         l1ps_val131                     NUMBER(10),
898         l1ps_val132                     NUMBER(10),
899         l1ps_val133                     NUMBER(10),
900         l1ps_val134                     NUMBER(10),
901         l1ps_val135                     NUMBER(10),
902         l1ps_val136                     NUMBER(10),
903         l1ps_val137                     NUMBER(10),
904         l1ps_val138                     NUMBER(10),
905         l1ps_val139                     NUMBER(10),
906         l1ps_val140                     NUMBER(10),
907         l1ps_val141                     NUMBER(10),
908         l1ps_val142                     NUMBER(10),
909         l1ps_val143                     NUMBER(10),
910         l1ps_val144                     NUMBER(10),
911         l1ps_val145                     NUMBER(10),
912         l1ps_val146                     NUMBER(10),
913         l1ps_val147                     NUMBER(10),
914         l1ps_val148                     NUMBER(10),
915         l1ps_val149                     NUMBER(10),
916         l1ps_val150                     NUMBER(10),     
917         l1ps_val151                     NUMBER(10),
918         l1ps_val152                     NUMBER(10),     
919         l1ps_val153                     NUMBER(10),     
920         l1ps_val154                     NUMBER(10),     
921         l1ps_val155                     NUMBER(10),     
922         l1ps_val156                     NUMBER(10),     
923         l1ps_val157                     NUMBER(10),     
924         l1ps_val158                     NUMBER(10),     
925         l1ps_val159                     NUMBER(10),     
926         l1ps_val160                     NUMBER(10),     
927         l1ps_val161                     NUMBER(10),     
928         l1ps_val162                     NUMBER(10),     
929         l1ps_val163                     NUMBER(10),     
930         l1ps_val164                     NUMBER(10),     
931         l1ps_val165                     NUMBER(10),     
932         l1ps_val166                     NUMBER(10),     
933         l1ps_val167                     NUMBER(10),     
934         l1ps_val168                     NUMBER(10),     
935         l1ps_val169                     NUMBER(10),     
936         l1ps_val170                     NUMBER(10),     
937         l1ps_val171                     NUMBER(10),     
938         l1ps_val172                     NUMBER(10),     
939         l1ps_val173                     NUMBER(10),     
940         l1ps_val174                     NUMBER(10),     
941         l1ps_val175                     NUMBER(10),     
942         l1ps_val176                     NUMBER(10),     
943         l1ps_val177                     NUMBER(10),     
944         l1ps_val178                     NUMBER(10),     
945         l1ps_val179                     NUMBER(10),     
946         l1ps_val180                     NUMBER(10),     
947         l1ps_val181                     NUMBER(10),     
948         l1ps_val182                     NUMBER(10),     
949         l1ps_val183                     NUMBER(10),     
950         l1ps_val184                     NUMBER(10),     
951         l1ps_val185                     NUMBER(10),     
952         l1ps_val186                     NUMBER(10),     
953         l1ps_val187                     NUMBER(10),     
954         l1ps_val188                     NUMBER(10),     
955         l1ps_val189                     NUMBER(10),     
956         l1ps_val190                     NUMBER(10),     
957         l1ps_val191                     NUMBER(10),     
958         l1ps_val192                     NUMBER(10),     
959         l1ps_val193                     NUMBER(10),     
960         l1ps_val194                     NUMBER(10),     
961         l1ps_val195                     NUMBER(10),     
962         l1ps_val196                     NUMBER(10),     
963         l1ps_val197                     NUMBER(10),     
964         l1ps_val198                     NUMBER(10),     
965         l1ps_val199                     NUMBER(10),
966         l1ps_val200                     NUMBER(10),
967         l1ps_val201                     NUMBER(10),
968         l1ps_val202                     NUMBER(10),
969         l1ps_val203                     NUMBER(10),
970         l1ps_val204                     NUMBER(10),
971         l1ps_val205                     NUMBER(10),
972         l1ps_val206                     NUMBER(10),
973         l1ps_val207                     NUMBER(10),
974         l1ps_val208                     NUMBER(10),
975         l1ps_val209                     NUMBER(10),
976         l1ps_val210                     NUMBER(10),
977         l1ps_val211                     NUMBER(10),
978         l1ps_val212                     NUMBER(10),
979         l1ps_val213                     NUMBER(10),
980         l1ps_val214                     NUMBER(10),
981         l1ps_val215                     NUMBER(10),
982         l1ps_val216                     NUMBER(10),
983         l1ps_val217                     NUMBER(10),
984         l1ps_val218                     NUMBER(10),
985         l1ps_val219                     NUMBER(10),
986         l1ps_val220                     NUMBER(10),
987         l1ps_val221                     NUMBER(10),
988         l1ps_val222                     NUMBER(10),
989         l1ps_val223                     NUMBER(10),
990         l1ps_val224                     NUMBER(10),
991         l1ps_val225                     NUMBER(10),
992         l1ps_val226                     NUMBER(10),
993         l1ps_val227                     NUMBER(10),
994         l1ps_val228                     NUMBER(10),
995         l1ps_val229                     NUMBER(10),
996         l1ps_val230                     NUMBER(10),     
997         l1ps_val231                     NUMBER(10),     
998         l1ps_val232                     NUMBER(10),     
999         l1ps_val233                     NUMBER(10),     
1000         l1ps_val234                     NUMBER(10),     
1001         l1ps_val235                     NUMBER(10),     
1002         l1ps_val236                     NUMBER(10),     
1003         l1ps_val237                     NUMBER(10),     
1004         l1ps_val238                     NUMBER(10),     
1005         l1ps_val239                     NUMBER(10),     
1006         l1ps_val240                     NUMBER(10),     
1007         l1ps_val241                     NUMBER(10),     
1008         l1ps_val242                     NUMBER(10),     
1009         l1ps_val243                     NUMBER(10),     
1010         l1ps_val244                     NUMBER(10),     
1011         l1ps_val245                     NUMBER(10),     
1012         l1ps_val246                     NUMBER(10),     
1013         l1ps_val247                     NUMBER(10),     
1014         l1ps_val248                     NUMBER(10),     
1015         l1ps_val249                     NUMBER(10),     
1016         l1ps_val250                     NUMBER(10),     
1017         l1ps_val251                     NUMBER(10),     
1018         l1ps_val252                     NUMBER(10),     
1019         l1ps_val253                     NUMBER(10),     
1020         l1ps_val254                     NUMBER(10),     
1021         l1ps_val255                     NUMBER(10),     
1022         l1ps_val256                     NUMBER(10),     
1023         l1ps_username                   VARCHAR2(50),
1024         l1ps_modified_time              TIMESTAMP,
1025         l1ps_used                       CHAR                    default 0,
1026         CONSTRAINT                      l1ps_pk                 PRIMARY KEY (l1ps_id),
1027         CONSTRAINT                      l1ps_nmver              UNIQUE (l1ps_name, l1ps_version),
1028         CONSTRAINT                      l1ps_id_NN              CHECK ( l1ps_id IS NOT NULL),
1029         CONSTRAINT                      l1ps_name_NN            CHECK ( l1ps_name IS NOT NULL),
1030         CONSTRAINT                      l1ps_version_NN         CHECK ( l1ps_version IS NOT NULL),
1031         CONSTRAINT                      l1ps_lumi_NN            CHECK ( l1ps_lumi IS NOT NULL),
1032         CONSTRAINT                      l1ps_shift_safe_NN      CHECK ( l1ps_shift_safe IS NOT NULL),
1033         CONSTRAINT                      l1ps_default_NN         CHECK ( l1ps_default IS NOT NULL),
1034         CONSTRAINT                      l1ps_val1_NN            CHECK ( l1ps_val1 IS NOT NULL),
1035         CONSTRAINT                      l1ps_val2_NN            CHECK ( l1ps_val2 IS NOT NULL),
1036         CONSTRAINT                      l1ps_val3_NN            CHECK ( l1ps_val3 IS NOT NULL),
1037         CONSTRAINT                      l1ps_val4_NN            CHECK ( l1ps_val4 IS NOT NULL),
1038         CONSTRAINT                      l1ps_val5_NN            CHECK ( l1ps_val5 IS NOT NULL),
1039         CONSTRAINT                      l1ps_val6_NN            CHECK ( l1ps_val6 IS NOT NULL),
1040         CONSTRAINT                      l1ps_val7_NN            CHECK ( l1ps_val7 IS NOT NULL),
1041         CONSTRAINT                      l1ps_val8_NN            CHECK ( l1ps_val8 IS NOT NULL),
1042         CONSTRAINT                      l1ps_val9_NN            CHECK ( l1ps_val9 IS NOT NULL),
1043         CONSTRAINT                      l1ps_val10_NN           CHECK ( l1ps_val10 IS NOT NULL),
1044         CONSTRAINT                      l1ps_val11_NN           CHECK ( l1ps_val11 IS NOT NULL),
1045         CONSTRAINT                      l1ps_val12_NN           CHECK ( l1ps_val12 IS NOT NULL),
1046         CONSTRAINT                      l1ps_val13_NN           CHECK ( l1ps_val13 IS NOT NULL),
1047         CONSTRAINT                      l1ps_val14_NN           CHECK ( l1ps_val14 IS NOT NULL),
1048         CONSTRAINT                      l1ps_val15_NN           CHECK ( l1ps_val15 IS NOT NULL),
1049         CONSTRAINT                      l1ps_val16_NN           CHECK ( l1ps_val16 IS NOT NULL),
1050         CONSTRAINT                      l1ps_val17_NN           CHECK ( l1ps_val17 IS NOT NULL),
1051         CONSTRAINT                      l1ps_val18_NN           CHECK ( l1ps_val18 IS NOT NULL),
1052         CONSTRAINT                      l1ps_val19_NN           CHECK ( l1ps_val19 IS NOT NULL),
1053         CONSTRAINT                      l1ps_val20_NN           CHECK ( l1ps_val20 IS NOT NULL),
1054         CONSTRAINT                      l1ps_val21_NN           CHECK ( l1ps_val21 IS NOT NULL),
1055         CONSTRAINT                      l1ps_val22_NN           CHECK ( l1ps_val22 IS NOT NULL),
1056         CONSTRAINT                      l1ps_val23_NN           CHECK ( l1ps_val23 IS NOT NULL),
1057         CONSTRAINT                      l1ps_val24_NN           CHECK ( l1ps_val24 IS NOT NULL),
1058         CONSTRAINT                      l1ps_val25_NN           CHECK ( l1ps_val25 IS NOT NULL),
1059         CONSTRAINT                      l1ps_val26_NN           CHECK ( l1ps_val26 IS NOT NULL),
1060         CONSTRAINT                      l1ps_val27_NN           CHECK ( l1ps_val27 IS NOT NULL),
1061         CONSTRAINT                      l1ps_val28_NN           CHECK ( l1ps_val28 IS NOT NULL),
1062         CONSTRAINT                      l1ps_val29_NN           CHECK ( l1ps_val29 IS NOT NULL),
1063         CONSTRAINT                      l1ps_val30_NN           CHECK ( l1ps_val30 IS NOT NULL),
1064         CONSTRAINT                      l1ps_val31_NN           CHECK ( l1ps_val31 IS NOT NULL),
1065         CONSTRAINT                      l1ps_val32_NN           CHECK ( l1ps_val32 IS NOT NULL),
1066         CONSTRAINT                      l1ps_val33_NN           CHECK ( l1ps_val33 IS NOT NULL),
1067         CONSTRAINT                      l1ps_val34_NN           CHECK ( l1ps_val34 IS NOT NULL),
1068         CONSTRAINT                      l1ps_val35_NN           CHECK ( l1ps_val35 IS NOT NULL),
1069         CONSTRAINT                      l1ps_val36_NN           CHECK ( l1ps_val36 IS NOT NULL),
1070         CONSTRAINT                      l1ps_val37_NN           CHECK ( l1ps_val37 IS NOT NULL),
1071         CONSTRAINT                      l1ps_val38_NN           CHECK ( l1ps_val38 IS NOT NULL),
1072         CONSTRAINT                      l1ps_val39_NN           CHECK ( l1ps_val39 IS NOT NULL),
1073         CONSTRAINT                      l1ps_val40_NN           CHECK ( l1ps_val40 IS NOT NULL),
1074         CONSTRAINT                      l1ps_val41_NN           CHECK ( l1ps_val14 IS NOT NULL),
1075         CONSTRAINT                      l1ps_val42_NN           CHECK ( l1ps_val42 IS NOT NULL),
1076         CONSTRAINT                      l1ps_val43_NN           CHECK ( l1ps_val43 IS NOT NULL),
1077         CONSTRAINT                      l1ps_val44_NN           CHECK ( l1ps_val44 IS NOT NULL),
1078         CONSTRAINT                      l1ps_val45_NN           CHECK ( l1ps_val45 IS NOT NULL),
1079         CONSTRAINT                      l1ps_val46_NN           CHECK ( l1ps_val46 IS NOT NULL),
1080         CONSTRAINT                      l1ps_val47_NN           CHECK ( l1ps_val47 IS NOT NULL),
1081         CONSTRAINT                      l1ps_val48_NN           CHECK ( l1ps_val48 IS NOT NULL),
1082         CONSTRAINT                      l1ps_val49_NN           CHECK ( l1ps_val49 IS NOT NULL),
1083         CONSTRAINT                      l1ps_val50_NN           CHECK ( l1ps_val50 IS NOT NULL),
1084         CONSTRAINT                      l1ps_val51_NN           CHECK ( l1ps_val51 IS NOT NULL),
1085         CONSTRAINT                      l1ps_val52_NN           CHECK ( l1ps_val52 IS NOT NULL),
1086         CONSTRAINT                      l1ps_val53_NN           CHECK ( l1ps_val53 IS NOT NULL),
1087         CONSTRAINT                      l1ps_val54_NN           CHECK ( l1ps_val54 IS NOT NULL),
1088         CONSTRAINT                      l1ps_val55_NN           CHECK ( l1ps_val55 IS NOT NULL),
1089         CONSTRAINT                      l1ps_val56_NN           CHECK ( l1ps_val56 IS NOT NULL),
1090         CONSTRAINT                      l1ps_val57_NN           CHECK ( l1ps_val57 IS NOT NULL),
1091         CONSTRAINT                      l1ps_val58_NN           CHECK ( l1ps_val58 IS NOT NULL),
1092         CONSTRAINT                      l1ps_val59_NN           CHECK ( l1ps_val59 IS NOT NULL),
1093         CONSTRAINT                      l1ps_val60_NN           CHECK ( l1ps_val60 IS NOT NULL),
1094         CONSTRAINT                      l1ps_val61_NN           CHECK ( l1ps_val61 IS NOT NULL),
1095         CONSTRAINT                      l1ps_val62_NN           CHECK ( l1ps_val62 IS NOT NULL),
1096         CONSTRAINT                      l1ps_val63_NN           CHECK ( l1ps_val63 IS NOT NULL),
1097         CONSTRAINT                      l1ps_val64_NN           CHECK ( l1ps_val64 IS NOT NULL),
1098         CONSTRAINT                      l1ps_val65_NN           CHECK ( l1ps_val65 IS NOT NULL),
1099         CONSTRAINT                      l1ps_val66_NN           CHECK ( l1ps_val66 IS NOT NULL),
1100         CONSTRAINT                      l1ps_val67_NN           CHECK ( l1ps_val67 IS NOT NULL),
1101         CONSTRAINT                      l1ps_val68_NN           CHECK ( l1ps_val68 IS NOT NULL),
1102         CONSTRAINT                      l1ps_val69_NN           CHECK ( l1ps_val69 IS NOT NULL),
1103         CONSTRAINT                      l1ps_val70_NN           CHECK ( l1ps_val70 IS NOT NULL),
1104         CONSTRAINT                      l1ps_val71_NN           CHECK ( l1ps_val71 IS NOT NULL),
1105         CONSTRAINT                      l1ps_val72_NN           CHECK ( l1ps_val72 IS NOT NULL),
1106         CONSTRAINT                      l1ps_val73_NN           CHECK ( l1ps_val73 IS NOT NULL),
1107         CONSTRAINT                      l1ps_val74_NN           CHECK ( l1ps_val74 IS NOT NULL),
1108         CONSTRAINT                      l1ps_val75_NN           CHECK ( l1ps_val75 IS NOT NULL),
1109         CONSTRAINT                      l1ps_val76_NN           CHECK ( l1ps_val76 IS NOT NULL),
1110         CONSTRAINT                      l1ps_val77_NN           CHECK ( l1ps_val77 IS NOT NULL),
1111         CONSTRAINT                      l1ps_val78_NN           CHECK ( l1ps_val78 IS NOT NULL),
1112         CONSTRAINT                      l1ps_val79_NN           CHECK ( l1ps_val79 IS NOT NULL),
1113         CONSTRAINT                      l1ps_val80_NN           CHECK ( l1ps_val80 IS NOT NULL),
1114         CONSTRAINT                      l1ps_val81_NN           CHECK ( l1ps_val81 IS NOT NULL),
1115         CONSTRAINT                      l1ps_val82_NN           CHECK ( l1ps_val82 IS NOT NULL),
1116         CONSTRAINT                      l1ps_val83_NN           CHECK ( l1ps_val83 IS NOT NULL),
1117         CONSTRAINT                      l1ps_val84_NN           CHECK ( l1ps_val84 IS NOT NULL),
1118         CONSTRAINT                      l1ps_val85_NN           CHECK ( l1ps_val85 IS NOT NULL),
1119         CONSTRAINT                      l1ps_val86_NN           CHECK ( l1ps_val86 IS NOT NULL),
1120         CONSTRAINT                      l1ps_val87_NN           CHECK ( l1ps_val87 IS NOT NULL),
1121         CONSTRAINT                      l1ps_val88_NN           CHECK ( l1ps_val88 IS NOT NULL),
1122         CONSTRAINT                      l1ps_val89_NN           CHECK ( l1ps_val89 IS NOT NULL),
1123         CONSTRAINT                      l1ps_val90_NN           CHECK ( l1ps_val90 IS NOT NULL),
1124         CONSTRAINT                      l1ps_val91_NN           CHECK ( l1ps_val91 IS NOT NULL),
1125         CONSTRAINT                      l1ps_val92_NN           CHECK ( l1ps_val92 IS NOT NULL),
1126         CONSTRAINT                      l1ps_val93_NN           CHECK ( l1ps_val93 IS NOT NULL),
1127         CONSTRAINT                      l1ps_val94_NN           CHECK ( l1ps_val94 IS NOT NULL),
1128         CONSTRAINT                      l1ps_val95_NN           CHECK ( l1ps_val95 IS NOT NULL),
1129         CONSTRAINT                      l1ps_val96_NN           CHECK ( l1ps_val96 IS NOT NULL),
1130         CONSTRAINT                      l1ps_val97_NN           CHECK ( l1ps_val97 IS NOT NULL),
1131         CONSTRAINT                      l1ps_val98_NN           CHECK ( l1ps_val98 IS NOT NULL),
1132         CONSTRAINT                      l1ps_val99_NN           CHECK ( l1ps_val99 IS NOT NULL),
1133         CONSTRAINT                      l1ps_val100_NN          CHECK ( l1ps_val100 IS NOT NULL),
1134         CONSTRAINT                      l1ps_val101_NN          CHECK ( l1ps_val101 IS NOT NULL),
1135         CONSTRAINT                      l1ps_val102_NN          CHECK ( l1ps_val102 IS NOT NULL),
1136         CONSTRAINT                      l1ps_val103_NN          CHECK ( l1ps_val103 IS NOT NULL),
1137         CONSTRAINT                      l1ps_val104_NN          CHECK ( l1ps_val104 IS NOT NULL),
1138         CONSTRAINT                      l1ps_val105_NN          CHECK ( l1ps_val105 IS NOT NULL),
1139         CONSTRAINT                      l1ps_val106_NN          CHECK ( l1ps_val106 IS NOT NULL),
1140         CONSTRAINT                      l1ps_val107_NN          CHECK ( l1ps_val107 IS NOT NULL),
1141         CONSTRAINT                      l1ps_val108_NN          CHECK ( l1ps_val108 IS NOT NULL),
1142         CONSTRAINT                      l1ps_val109_NN          CHECK ( l1ps_val109 IS NOT NULL),
1143         CONSTRAINT                      l1ps_val110_NN          CHECK ( l1ps_val110 IS NOT NULL),
1144         CONSTRAINT                      l1ps_val111_NN          CHECK ( l1ps_val111 IS NOT NULL),
1145         CONSTRAINT                      l1ps_val112_NN          CHECK ( l1ps_val112 IS NOT NULL),
1146         CONSTRAINT                      l1ps_val113_NN          CHECK ( l1ps_val113 IS NOT NULL),
1147         CONSTRAINT                      l1ps_val114_NN          CHECK ( l1ps_val114 IS NOT NULL),
1148         CONSTRAINT                      l1ps_val115_NN          CHECK ( l1ps_val115 IS NOT NULL),
1149         CONSTRAINT                      l1ps_val116_NN          CHECK ( l1ps_val116 IS NOT NULL),
1150         CONSTRAINT                      l1ps_val117_NN          CHECK ( l1ps_val117 IS NOT NULL),
1151         CONSTRAINT                      l1ps_val118_NN          CHECK ( l1ps_val118 IS NOT NULL),
1152         CONSTRAINT                      l1ps_val119_NN          CHECK ( l1ps_val119 IS NOT NULL),
1153         CONSTRAINT                      l1ps_val120_NN          CHECK ( l1ps_val120 IS NOT NULL),
1154         CONSTRAINT                      l1ps_val121_NN          CHECK ( l1ps_val121 IS NOT NULL),
1155         CONSTRAINT                      l1ps_val122_NN          CHECK ( l1ps_val122 IS NOT NULL),
1156         CONSTRAINT                      l1ps_val123_NN          CHECK ( l1ps_val123 IS NOT NULL),
1157         CONSTRAINT                      l1ps_val124_NN          CHECK ( l1ps_val124 IS NOT NULL),
1158         CONSTRAINT                      l1ps_val125_NN          CHECK ( l1ps_val125 IS NOT NULL),
1159         CONSTRAINT                      l1ps_val126_NN          CHECK ( l1ps_val126 IS NOT NULL),
1160         CONSTRAINT                      l1ps_val127_NN          CHECK ( l1ps_val127 IS NOT NULL),
1161         CONSTRAINT                      l1ps_val128_NN          CHECK ( l1ps_val128 IS NOT NULL),
1162         CONSTRAINT                      l1ps_val129_NN          CHECK ( l1ps_val129 IS NOT NULL),
1163         CONSTRAINT                      l1ps_val130_NN          CHECK ( l1ps_val130 IS NOT NULL),
1164         CONSTRAINT                      l1ps_val131_NN          CHECK ( l1ps_val131 IS NOT NULL),
1165         CONSTRAINT                      l1ps_val132_NN          CHECK ( l1ps_val132 IS NOT NULL),
1166         CONSTRAINT                      l1ps_val133_NN          CHECK ( l1ps_val133 IS NOT NULL),
1167         CONSTRAINT                      l1ps_val134_NN          CHECK ( l1ps_val134 IS NOT NULL),
1168         CONSTRAINT                      l1ps_val135_NN          CHECK ( l1ps_val135 IS NOT NULL),
1169         CONSTRAINT                      l1ps_val136_NN          CHECK ( l1ps_val136 IS NOT NULL),
1170         CONSTRAINT                      l1ps_val137_NN          CHECK ( l1ps_val137 IS NOT NULL),
1171         CONSTRAINT                      l1ps_val138_NN          CHECK ( l1ps_val138 IS NOT NULL),
1172         CONSTRAINT                      l1ps_val139_NN          CHECK ( l1ps_val139 IS NOT NULL),
1173         CONSTRAINT                      l1ps_val140_NN          CHECK ( l1ps_val140 IS NOT NULL),
1174         CONSTRAINT                      l1ps_val141_NN          CHECK ( l1ps_val114 IS NOT NULL),
1175         CONSTRAINT                      l1ps_val142_NN          CHECK ( l1ps_val142 IS NOT NULL),
1176         CONSTRAINT                      l1ps_val143_NN          CHECK ( l1ps_val143 IS NOT NULL),
1177         CONSTRAINT                      l1ps_val144_NN          CHECK ( l1ps_val144 IS NOT NULL),
1178         CONSTRAINT                      l1ps_val145_NN          CHECK ( l1ps_val145 IS NOT NULL),
1179         CONSTRAINT                      l1ps_val146_NN          CHECK ( l1ps_val146 IS NOT NULL),
1180         CONSTRAINT                      l1ps_val147_NN          CHECK ( l1ps_val147 IS NOT NULL),
1181         CONSTRAINT                      l1ps_val148_NN          CHECK ( l1ps_val148 IS NOT NULL),
1182         CONSTRAINT                      l1ps_val149_NN          CHECK ( l1ps_val149 IS NOT NULL),
1183         CONSTRAINT                      l1ps_val150_NN          CHECK ( l1ps_val150 IS NOT NULL),
1184         CONSTRAINT                      l1ps_val151_NN          CHECK ( l1ps_val151 IS NOT NULL),
1185         CONSTRAINT                      l1ps_val152_NN          CHECK ( l1ps_val152 IS NOT NULL),
1186         CONSTRAINT                      l1ps_val153_NN          CHECK ( l1ps_val153 IS NOT NULL),
1187         CONSTRAINT                      l1ps_val154_NN          CHECK ( l1ps_val154 IS NOT NULL),
1188         CONSTRAINT                      l1ps_val155_NN          CHECK ( l1ps_val155 IS NOT NULL),
1189         CONSTRAINT                      l1ps_val156_NN          CHECK ( l1ps_val156 IS NOT NULL),
1190         CONSTRAINT                      l1ps_val157_NN          CHECK ( l1ps_val157 IS NOT NULL),
1191         CONSTRAINT                      l1ps_val158_NN          CHECK ( l1ps_val158 IS NOT NULL),
1192         CONSTRAINT                      l1ps_val159_NN          CHECK ( l1ps_val159 IS NOT NULL),
1193         CONSTRAINT                      l1ps_val160_NN          CHECK ( l1ps_val160 IS NOT NULL),
1194         CONSTRAINT                      l1ps_val161_NN          CHECK ( l1ps_val161 IS NOT NULL),
1195         CONSTRAINT                      l1ps_val162_NN          CHECK ( l1ps_val162 IS NOT NULL),
1196         CONSTRAINT                      l1ps_val163_NN          CHECK ( l1ps_val163 IS NOT NULL),
1197         CONSTRAINT                      l1ps_val164_NN          CHECK ( l1ps_val164 IS NOT NULL),
1198         CONSTRAINT                      l1ps_val165_NN          CHECK ( l1ps_val165 IS NOT NULL),
1199         CONSTRAINT                      l1ps_val166_NN          CHECK ( l1ps_val166 IS NOT NULL),
1200         CONSTRAINT                      l1ps_val167_NN          CHECK ( l1ps_val167 IS NOT NULL),
1201         CONSTRAINT                      l1ps_val168_NN          CHECK ( l1ps_val168 IS NOT NULL),
1202         CONSTRAINT                      l1ps_val169_NN          CHECK ( l1ps_val169 IS NOT NULL),
1203         CONSTRAINT                      l1ps_val170_NN          CHECK ( l1ps_val170 IS NOT NULL),
1204         CONSTRAINT                      l1ps_val171_NN          CHECK ( l1ps_val171 IS NOT NULL),
1205         CONSTRAINT                      l1ps_val172_NN          CHECK ( l1ps_val172 IS NOT NULL),
1206         CONSTRAINT                      l1ps_val173_NN          CHECK ( l1ps_val173 IS NOT NULL),
1207         CONSTRAINT                      l1ps_val174_NN          CHECK ( l1ps_val174 IS NOT NULL),
1208         CONSTRAINT                      l1ps_val175_NN          CHECK ( l1ps_val175 IS NOT NULL),
1209         CONSTRAINT                      l1ps_val176_NN          CHECK ( l1ps_val176 IS NOT NULL),
1210         CONSTRAINT                      l1ps_val177_NN          CHECK ( l1ps_val177 IS NOT NULL),
1211         CONSTRAINT                      l1ps_val178_NN          CHECK ( l1ps_val178 IS NOT NULL),
1212         CONSTRAINT                      l1ps_val179_NN          CHECK ( l1ps_val179 IS NOT NULL),
1213         CONSTRAINT                      l1ps_val180_NN          CHECK ( l1ps_val180 IS NOT NULL),
1214         CONSTRAINT                      l1ps_val181_NN          CHECK ( l1ps_val181 IS NOT NULL),
1215         CONSTRAINT                      l1ps_val182_NN          CHECK ( l1ps_val182 IS NOT NULL),
1216         CONSTRAINT                      l1ps_val183_NN          CHECK ( l1ps_val183 IS NOT NULL),
1217         CONSTRAINT                      l1ps_val184_NN          CHECK ( l1ps_val184 IS NOT NULL),
1218         CONSTRAINT                      l1ps_val185_NN          CHECK ( l1ps_val185 IS NOT NULL),
1219         CONSTRAINT                      l1ps_val186_NN          CHECK ( l1ps_val186 IS NOT NULL),
1220         CONSTRAINT                      l1ps_val187_NN          CHECK ( l1ps_val187 IS NOT NULL),
1221         CONSTRAINT                      l1ps_val188_NN          CHECK ( l1ps_val188 IS NOT NULL),
1222         CONSTRAINT                      l1ps_val189_NN          CHECK ( l1ps_val189 IS NOT NULL),
1223         CONSTRAINT                      l1ps_val190_NN          CHECK ( l1ps_val190 IS NOT NULL),
1224         CONSTRAINT                      l1ps_val191_NN          CHECK ( l1ps_val191 IS NOT NULL),
1225         CONSTRAINT                      l1ps_val192_NN          CHECK ( l1ps_val192 IS NOT NULL),
1226         CONSTRAINT                      l1ps_val193_NN          CHECK ( l1ps_val193 IS NOT NULL),
1227         CONSTRAINT                      l1ps_val194_NN          CHECK ( l1ps_val194 IS NOT NULL),
1228         CONSTRAINT                      l1ps_val195_NN          CHECK ( l1ps_val195 IS NOT NULL),
1229         CONSTRAINT                      l1ps_val196_NN          CHECK ( l1ps_val196 IS NOT NULL),
1230         CONSTRAINT                      l1ps_val197_NN          CHECK ( l1ps_val197 IS NOT NULL),
1231         CONSTRAINT                      l1ps_val198_NN          CHECK ( l1ps_val198 IS NOT NULL),
1232         CONSTRAINT                      l1ps_val199_NN          CHECK ( l1ps_val199 IS NOT NULL),
1233         CONSTRAINT                      l1ps_val200_NN          CHECK ( l1ps_val200 IS NOT NULL),
1234         CONSTRAINT                      l1ps_val201_NN          CHECK ( l1ps_val201 IS NOT NULL),
1235         CONSTRAINT                      l1ps_val202_NN          CHECK ( l1ps_val202 IS NOT NULL),
1236         CONSTRAINT                      l1ps_val203_NN          CHECK ( l1ps_val203 IS NOT NULL),
1237         CONSTRAINT                      l1ps_val204_NN          CHECK ( l1ps_val204 IS NOT NULL),
1238         CONSTRAINT                      l1ps_val205_NN          CHECK ( l1ps_val205 IS NOT NULL),
1239         CONSTRAINT                      l1ps_val206_NN          CHECK ( l1ps_val206 IS NOT NULL),
1240         CONSTRAINT                      l1ps_val207_NN          CHECK ( l1ps_val207 IS NOT NULL),
1241         CONSTRAINT                      l1ps_val208_NN          CHECK ( l1ps_val208 IS NOT NULL),
1242         CONSTRAINT                      l1ps_val209_NN          CHECK ( l1ps_val209 IS NOT NULL),
1243         CONSTRAINT                      l1ps_val210_NN          CHECK ( l1ps_val210 IS NOT NULL),
1244         CONSTRAINT                      l1ps_val211_NN          CHECK ( l1ps_val211 IS NOT NULL),
1245         CONSTRAINT                      l1ps_val212_NN          CHECK ( l1ps_val212 IS NOT NULL),
1246         CONSTRAINT                      l1ps_val213_NN          CHECK ( l1ps_val213 IS NOT NULL),
1247         CONSTRAINT                      l1ps_val214_NN          CHECK ( l1ps_val214 IS NOT NULL),
1248         CONSTRAINT                      l1ps_val215_NN          CHECK ( l1ps_val215 IS NOT NULL),
1249         CONSTRAINT                      l1ps_val216_NN          CHECK ( l1ps_val216 IS NOT NULL),
1250         CONSTRAINT                      l1ps_val217_NN          CHECK ( l1ps_val217 IS NOT NULL),
1251         CONSTRAINT                      l1ps_val218_NN          CHECK ( l1ps_val218 IS NOT NULL),
1252         CONSTRAINT                      l1ps_val219_NN          CHECK ( l1ps_val219 IS NOT NULL),
1253         CONSTRAINT                      l1ps_val220_NN          CHECK ( l1ps_val220 IS NOT NULL),
1254         CONSTRAINT                      l1ps_val221_NN          CHECK ( l1ps_val221 IS NOT NULL),
1255         CONSTRAINT                      l1ps_val222_NN          CHECK ( l1ps_val222 IS NOT NULL),
1256         CONSTRAINT                      l1ps_val223_NN          CHECK ( l1ps_val223 IS NOT NULL),
1257         CONSTRAINT                      l1ps_val224_NN          CHECK ( l1ps_val224 IS NOT NULL),
1258         CONSTRAINT                      l1ps_val225_NN          CHECK ( l1ps_val225 IS NOT NULL),
1259         CONSTRAINT                      l1ps_val226_NN          CHECK ( l1ps_val226 IS NOT NULL),
1260         CONSTRAINT                      l1ps_val227_NN          CHECK ( l1ps_val227 IS NOT NULL),
1261         CONSTRAINT                      l1ps_val228_NN          CHECK ( l1ps_val228 IS NOT NULL),
1262         CONSTRAINT                      l1ps_val229_NN          CHECK ( l1ps_val229 IS NOT NULL),
1263         CONSTRAINT                      l1ps_val230_NN          CHECK ( l1ps_val230 IS NOT NULL),
1264         CONSTRAINT                      l1ps_val231_NN          CHECK ( l1ps_val231 IS NOT NULL),
1265         CONSTRAINT                      l1ps_val232_NN          CHECK ( l1ps_val232 IS NOT NULL),
1266         CONSTRAINT                      l1ps_val233_NN          CHECK ( l1ps_val233 IS NOT NULL),
1267         CONSTRAINT                      l1ps_val234_NN          CHECK ( l1ps_val234 IS NOT NULL),
1268         CONSTRAINT                      l1ps_val235_NN          CHECK ( l1ps_val235 IS NOT NULL),
1269         CONSTRAINT                      l1ps_val236_NN          CHECK ( l1ps_val236 IS NOT NULL),
1270         CONSTRAINT                      l1ps_val237_NN          CHECK ( l1ps_val237 IS NOT NULL),
1271         CONSTRAINT                      l1ps_val238_NN          CHECK ( l1ps_val238 IS NOT NULL),
1272         CONSTRAINT                      l1ps_val239_NN          CHECK ( l1ps_val239 IS NOT NULL),
1273         CONSTRAINT                      l1ps_val240_NN          CHECK ( l1ps_val240 IS NOT NULL),
1274         CONSTRAINT                      l1ps_val241_NN          CHECK ( l1ps_val241 IS NOT NULL),
1275         CONSTRAINT                      l1ps_val242_NN          CHECK ( l1ps_val242 IS NOT NULL),
1276         CONSTRAINT                      l1ps_val243_NN          CHECK ( l1ps_val243 IS NOT NULL),
1277         CONSTRAINT                      l1ps_val244_NN          CHECK ( l1ps_val244 IS NOT NULL),
1278         CONSTRAINT                      l1ps_val245_NN          CHECK ( l1ps_val245 IS NOT NULL),
1279         CONSTRAINT                      l1ps_val246_NN          CHECK ( l1ps_val246 IS NOT NULL),
1280         CONSTRAINT                      l1ps_val247_NN          CHECK ( l1ps_val247 IS NOT NULL),
1281         CONSTRAINT                      l1ps_val248_NN          CHECK ( l1ps_val248 IS NOT NULL),
1282         CONSTRAINT                      l1ps_val249_NN          CHECK ( l1ps_val249 IS NOT NULL),
1283         CONSTRAINT                      l1ps_val250_NN          CHECK ( l1ps_val250 IS NOT NULL),
1284         CONSTRAINT                      l1ps_val251_NN          CHECK ( l1ps_val251 IS NOT NULL),
1285         CONSTRAINT                      l1ps_val252_NN          CHECK ( l1ps_val252 IS NOT NULL),
1286         CONSTRAINT                      l1ps_val253_NN          CHECK ( l1ps_val253 IS NOT NULL),
1287         CONSTRAINT                      l1ps_val254_NN          CHECK ( l1ps_val254 IS NOT NULL),
1288         CONSTRAINT                      l1ps_val255_NN          CHECK ( l1ps_val255 IS NOT NULL),
1289         CONSTRAINT                      l1ps_val256_NN          CHECK ( l1ps_val256 IS NOT NULL),
1290         CONSTRAINT                      l1ps_used_NN            CHECK ( l1ps_used IS NOT NULL)
1291 );
1292 
1293 
1294 ---------------------------
1295 -- N to N relationships --
1296 --------------------------
1297 
1298 -- Menu and prescale relation
1299 CREATE TABLE l1_tm_to_ps ( 
1300         l1tm2ps_id                      NUMBER(10),     
1301         l1tm2ps_trigger_menu_id         NUMBER(10),     
1302         l1tm2ps_prescale_set_id         NUMBER(10),     
1303         l1tm2ps_username                VARCHAR2(50),
1304         l1tm2ps_modified_time           TIMESTAMP,      
1305         l1tm2ps_used                    CHAR                    default 0,
1306         CONSTRAINT                      l1tm2ps_pk              PRIMARY KEY (l1tm2ps_id),
1307         CONSTRAINT                      l1tm2ps_fk_tm           FOREIGN KEY (l1tm2ps_trigger_menu_id)
1308                                                                 REFERENCES l1_trigger_menu(l1tm_id),
1309         CONSTRAINT                      l1tm2ps_fk_ps           FOREIGN KEY (l1tm2ps_prescale_set_id)
1310                                                                 REFERENCES l1_prescale_set(l1ps_id),
1311         CONSTRAINT                      l1tm2ps_id_NN           CHECK ( l1tm2ps_id IS NOT NULL),
1312         CONSTRAINT                      l1tm2ps_menu_id_NN      CHECK ( l1tm2ps_trigger_menu_id IS NOT NULL),
1313         CONSTRAINT                      l1tm2ps_pss_id_NN       CHECK ( l1tm2ps_prescale_set_id IS NOT NULL),
1314         CONSTRAINT                      l1tm2ps_used_NN         CHECK ( l1tm2ps_used IS NOT NULL)
1315 );
1316 CREATE INDEX l1tm2ps_trigger_menu_id_ind ON l1_tm_to_ps(l1tm2ps_trigger_menu_id);
1317 CREATE INDEX l1tm2ps_prescale_set_id_ind ON l1_tm_to_ps(l1tm2ps_prescale_set_id);
1318 
1319 -- this table encodes the n-n relationship between trigger
1320 -- menu and trigger items. The ti_ctp_id is needed to associate
1321 -- the correct prescale factor from the presclae factor set with the trigger
1322 -- item.
1323 CREATE TABLE l1_tm_to_ti ( 
1324         l1tm2ti_id                      NUMBER(10),
1325         l1tm2ti_trigger_menu_id         NUMBER(10),
1326         l1tm2ti_trigger_item_id         NUMBER(10),
1327         l1tm2ti_username                VARCHAR2(50),
1328         l1tm2ti_modified_time           TIMESTAMP,
1329         l1tm2ti_used                    CHAR                    default 0,
1330         CONSTRAINT                      l1tm2ti_pk              PRIMARY KEY (l1tm2ti_id),
1331         CONSTRAINT                      l1tm2ti_fk_tm           FOREIGN KEY (l1tm2ti_trigger_menu_id) 
1332                                                                 REFERENCES l1_trigger_menu(l1tm_id),
1333         CONSTRAINT                      l1tm2ti_fk_ti           FOREIGN KEY (l1tm2ti_trigger_item_id) 
1334                                                                 REFERENCES l1_trigger_item(l1ti_id),
1335         CONSTRAINT                      l1tm2ti_id_NN           CHECK ( l1tm2ti_id IS NOT NULL),
1336         CONSTRAINT                      l1tm2ti_trigger_menu_id_NN              CHECK ( l1tm2ti_trigger_menu_id IS NOT NULL),
1337         CONSTRAINT                      l1tm2ti_trigger_item_id_NN              CHECK ( l1tm2ti_trigger_item_id IS NOT NULL),
1338         CONSTRAINT                      l1tm2ti_used_NN         CHECK ( l1tm2ti_used IS NOT NULL)
1339 );
1340 CREATE INDEX l1tm2ti_trigger_menu_id_ind ON l1_tm_to_ti(l1tm2ti_trigger_menu_id);
1341 CREATE INDEX l1tm2ti_trigger_item_id_ind ON l1_tm_to_ti(l1tm2ti_trigger_item_id);
1342 
1343 -- here the n-n relationship between trigger item and trigger threshold is
1344 -- encoded. the ti_tt_position and ti_tt_multiplicity are needed for
1345 -- complicated logic structures. ti_tt_position gives the position of the
1346 -- threshold inside of the logical expression defined in the ti_definition
1347 -- of the references trigger item. ti_tt_multiplicity is just the requied 
1348 -- multiplicity.
1349 CREATE TABLE l1_ti_to_tt ( 
1350         l1ti2tt_id                      NUMBER(10),
1351         l1ti2tt_trigger_item_id         NUMBER(10),
1352         l1ti2tt_trigger_threshold_id    NUMBER(10),
1353         l1ti2tt_position                NUMBER(10),
1354         l1ti2tt_multiplicity            NUMBER(10),
1355         l1ti2tt_username                VARCHAR2(50),
1356         l1ti2tt_modified_time           TIMESTAMP,
1357         l1ti2tt_used                    CHAR                    default 0,
1358         CONSTRAINT                      l1ti2tt_pk              PRIMARY KEY (l1ti2tt_id),
1359         CONSTRAINT                      l1ti2tt_fk_ti           FOREIGN KEY (l1ti2tt_trigger_item_id) 
1360                                                                 REFERENCES l1_trigger_item(l1ti_id),
1361         CONSTRAINT                      l1ti2tt_fk_tt           FOREIGN KEY (l1ti2tt_trigger_threshold_id)
1362                                                                 REFERENCES l1_trigger_threshold(l1tt_id),
1363         CONSTRAINT                      l1ti2tt_id_NN           CHECK ( l1ti2tt_id IS NOT NULL),
1364         CONSTRAINT                      l1ti2tt_item_id_NN      CHECK ( l1ti2tt_trigger_item_id IS NOT NULL),
1365         CONSTRAINT                      l1ti2tt_thres_id_NN     CHECK ( l1ti2tt_trigger_threshold_id IS NOT NULL),
1366         CONSTRAINT                      l1ti2tt_position_NN     CHECK ( l1ti2tt_position IS NOT NULL),
1367         CONSTRAINT                      l1ti2tt_multiplicity_NN CHECK ( l1ti2tt_multiplicity IS NOT NULL),
1368         CONSTRAINT                      l1ti2tt_used_NN         CHECK ( l1ti2tt_used IS NOT NULL)
1369 );
1370 CREATE INDEX l1ti2tt_trigger_item_id_ind  ON l1_ti_to_tt(l1ti2tt_trigger_item_id);
1371 CREATE INDEX l1ti2tt_trigger_thres_id_ind ON l1_ti_to_tt(l1ti2tt_trigger_threshold_id);
1372 
1373 -- n-n relationship between trigger threshold and trigger threshold value.
1374 CREATE TABLE l1_tt_to_ttv (
1375         l1tt2ttv_id                     NUMBER(10),     
1376         l1tt2ttv_trigger_threshold_id   NUMBER(10),     
1377         l1tt2ttv_trig_thres_value_id    NUMBER(10),     
1378         l1tt2ttv_username               VARCHAR2(50),   
1379         l1tt2ttv_modified_time          TIMESTAMP,      
1380         l1tt2ttv_used                   CHAR                    default 0,
1381         CONSTRAINT                      l1tt2ttv_pk             PRIMARY KEY (l1tt2ttv_id),
1382         CONSTRAINT                      l1tt2ttv_fk_tt          FOREIGN KEY (l1tt2ttv_trigger_threshold_id)
1383                                                                 REFERENCES l1_trigger_threshold(l1tt_id),
1384         CONSTRAINT                      l1tt2ttv_fk_ttv         FOREIGN KEY (l1tt2ttv_trig_thres_value_id)
1385                                                                 REFERENCES l1_trigger_threshold_value(l1ttv_id),
1386         CONSTRAINT                      l1tt2ttv_id_NN          CHECK ( l1tt2ttv_id IS NOT NULL),
1387         CONSTRAINT                      l1tt2ttv_thres_id_NN    CHECK ( l1tt2ttv_trigger_threshold_id IS NOT NULL),
1388         CONSTRAINT                      l1tt2ttv_thres_va_id_NN CHECK ( l1tt2ttv_trig_thres_value_id IS NOT NULL),
1389         CONSTRAINT                      l1tt2ttv_used_NN        CHECK ( l1tt2ttv_used IS NOT NULL)
1390 );
1391 CREATE INDEX l1tt2ttv_trigger_thres_id_ind  ON l1_tt_to_ttv(l1tt2ttv_trigger_threshold_id);
1392 CREATE INDEX l1tt2ttv_trig_thres_val_id_ind ON l1_tt_to_ttv(l1tt2ttv_trig_thres_value_id);
1393 
1394 -- This table list all thresholds of a menu that is included in the menu
1395 -- by hand, ie. which are not part of the menu via items. 
1396 CREATE TABLE l1_tm_to_tt_forced ( 
1397         l1tm2ttf_id                     NUMBER(10), 
1398         l1tm2ttf_trigger_menu_id        NUMBER(10), 
1399         l1tm2ttf_trigger_threshold_id   NUMBER(10), 
1400         l1tm2ttf_username               VARCHAR2(50),
1401         l1tm2ttf_modified_time          TIMESTAMP,
1402         l1tm2ttf_used                   CHAR                    default 0,
1403         CONSTRAINT                      l1tm2ttf_pk             PRIMARY KEY (l1tm2ttf_id),
1404         CONSTRAINT                      l1tm2ttf_fk_tm          FOREIGN KEY (l1tm2ttf_trigger_menu_id) 
1405                                                                 REFERENCES l1_trigger_menu(l1tm_id),
1406         CONSTRAINT                      l1tm2ttf_fk_tt          FOREIGN KEY (l1tm2ttf_trigger_threshold_id)
1407                                                                 REFERENCES l1_trigger_threshold(l1tt_id),
1408         CONSTRAINT                      l1tm2ttf_id_NN          CHECK ( l1tm2ttf_id IS NOT NULL),
1409         CONSTRAINT                      l1tm2ttf_menu_id_NN     CHECK ( l1tm2ttf_trigger_menu_id IS NOT NULL),
1410         CONSTRAINT                      l1tm2ttf_thres_id_NN    CHECK ( l1tm2ttf_trigger_threshold_id IS NOT NULL),
1411         CONSTRAINT                      l1tm2ttf_used_NN        CHECK ( l1tm2ttf_used IS NOT NULL)
1412 );
1413 CREATE INDEX l1tm2ttf_trigger_menu_id_ind ON l1_tm_to_tt_forced(l1tm2ttf_trigger_menu_id);
1414 CREATE INDEX l1tm2ttf_trigger_thresid_ind ON l1_tm_to_tt_forced(l1tm2ttf_trigger_threshold_id);
1415 
1416 -- This table is needed to store the information on which cable
1417 -- the thresholds are delivered to the CTP. This information depends
1418 -- on the thresholds and on the trigger menu (i.e. which other thresholds
1419 -- are present in that trigger menu). The thresholds of a menu can be found via the
1420 -- l1_tm_to_ti and via the l1_tm_to_tt_forced tables. Therefore the information in this table 
1421 -- (i.e. l1_tm_to_tt) must be compiled from l1_tm_to_ti and from the
1422 -- l1_tm_to_tt_forced table. It introduces some data redundancy. 
1423 CREATE TABLE l1_tm_to_tt ( 
1424         l1tm2tt_id                      NUMBER(10),     
1425         l1tm2tt_trigger_menu_id         NUMBER(10),     
1426         l1tm2tt_trigger_threshold_id    NUMBER(10),     
1427         l1tm2tt_cable_name              VARCHAR2(5),    
1428         l1tm2tt_cable_ctpin             VARCHAR2(5),    
1429         l1tm2tt_cable_connector         VARCHAR2(5),    
1430         l1tm2tt_cable_start             NUMBER(10),     
1431         l1tm2tt_cable_end               NUMBER(10),     
1432         l1tm2tt_username                VARCHAR2(50),
1433         l1tm2tt_modified_time           TIMESTAMP,
1434         l1tm2tt_used                    CHAR                    default 0,
1435         CONSTRAINT                      l1tm2tt_pk              PRIMARY KEY (l1tm2tt_id),
1436         CONSTRAINT                      l1tm2tt_fk_tm           FOREIGN KEY (l1tm2tt_trigger_menu_id) 
1437                                                                 REFERENCES l1_trigger_menu(l1tm_id),
1438         CONSTRAINT                      l1tm2tt_fk_tt           FOREIGN KEY (l1tm2tt_trigger_threshold_id)
1439                                                                 REFERENCES l1_trigger_threshold(l1tt_id),
1440         CONSTRAINT                      l1tm2tt_id_NN           CHECK ( l1tm2tt_id IS NOT NULL),
1441         CONSTRAINT                      l1tm2tt_menu_id_NN      CHECK ( l1tm2tt_trigger_menu_id IS NOT NULL),
1442         CONSTRAINT                      l1tm2tt_thres_id_NN     CHECK ( l1tm2tt_trigger_threshold_id IS NOT NULL),
1443         CONSTRAINT                      l1tm2tt_cable_name_NN   CHECK ( l1tm2tt_cable_name IS NOT NULL),
1444         CONSTRAINT                      l1tm2tt_cable_ctpin_NN  CHECK ( l1tm2tt_trigger_threshold_id IS NOT NULL),
1445         CONSTRAINT                      l1tm2tt_cable_conn_NN   CHECK ( l1tm2tt_cable_connector IS NOT NULL),
1446         CONSTRAINT                      l1tm2tt_cable_start_NN  CHECK ( l1tm2tt_cable_start IS NOT NULL),
1447         CONSTRAINT                      l1tm2tt_cable_end_NN    CHECK ( l1tm2tt_cable_end IS NOT NULL),
1448         CONSTRAINT                      l1tm2tt_used_NN         CHECK ( l1tm2tt_used IS NOT NULL)
1449 );
1450 CREATE INDEX l1tm2tt_trigger_menu_id_ind  ON l1_tm_to_tt(l1tm2tt_trigger_menu_id);
1451 CREATE INDEX l1tm2tt_trigger_thres_id_ind ON l1_tm_to_tt(l1tm2tt_trigger_threshold_id);
1452 
1453 -- hold the l1 pit information
1454 CREATE TABLE l1_pits (
1455         l1pit_id                        NUMBER(10),     
1456         l1pit_tm_to_tt_id               NUMBER(10), 
1457         l1pit_pit_number                NUMBER(10), 
1458         l1pit_threshold_bit             NUMBER(2),  
1459         l1pit_username                  VARCHAR2(50),
1460         l1pit_modified_time             TIMESTAMP,
1461         l1pit_used                      CHAR                    default 0,
1462         CONSTRAINT                      l1pit_pk                PRIMARY KEY (l1pit_id),
1463         CONSTRAINT                      l1pit_tm_to_tt_id_fk    FOREIGN KEY (l1pit_tm_to_tt_id)
1464                                                                 REFERENCES  l1_tm_to_tt(l1tm2tt_id),
1465         CONSTRAINT                      l1pit_id_NN             CHECK ( l1pit_id IS NOT NULL),
1466         CONSTRAINT                      l1pit_tm_to_tt_id_NN    CHECK ( l1pit_tm_to_tt_id IS NOT NULL),
1467         CONSTRAINT                      l1pit_pit_number_NN     CHECK ( l1pit_pit_number IS NOT NULL),
1468         CONSTRAINT                      l1pit_threshold_bit_NN  CHECK ( l1pit_threshold_bit IS NOT NULL),
1469         CONSTRAINT                      l1pit_used_NN           CHECK ( l1pit_used IS NOT NULL)
1470 );
1471 CREATE INDEX l1pit_tm_to_tt_id_ind ON l1_pits(l1pit_tm_to_tt_id);
1472 
1473 --Monitoring
1474 CREATE TABLE l1_tm_to_tt_mon (
1475         l1tm2ttm_id                     NUMBER(10),
1476         l1tm2ttm_trigger_menu_id        NUMBER(10),
1477         l1tm2ttm_trigger_threshold_id   NUMBER(10),
1478         l1tm2ttm_name                   VARCHAR2(50),
1479         l1tm2ttm_internal_counter       NUMBER(3),
1480         l1tm2ttm_bunch_group_id         NUMBER(10),
1481         l1tm2ttm_counter_type           VARCHAR2(10),
1482         l1tm2ttm_multiplicity           NUMBER(3),
1483         l1tm2ttm_username               VARCHAR2(50),
1484         l1tm2ttm_modified_time          TIMESTAMP,
1485         l1tm2ttm_used                   CHAR                    default 0,
1486         CONSTRAINT                      l1tm2ttm_pk             PRIMARY KEY (l1tm2ttm_id),
1487         CONSTRAINT                      l1tm2ttm_fk_tm          FOREIGN KEY (l1tm2ttm_trigger_menu_id) 
1488                                                                 REFERENCES l1_trigger_menu(l1tm_id),
1489         CONSTRAINT                      l1tm2ttm_fk_tt          FOREIGN KEY (l1tm2ttm_trigger_threshold_id)
1490                                                                 REFERENCES l1_trigger_threshold(l1tt_id),
1491         CONSTRAINT                      l1tm2ttm_id_NN          CHECK ( l1tm2ttm_id IS NOT NULL),
1492         CONSTRAINT                      l1tm2ttm_menu_id_NN     CHECK ( l1tm2ttm_trigger_menu_id IS NOT NULL),
1493         CONSTRAINT                      l1tm2ttm_thres_id_NN    CHECK ( l1tm2ttm_trigger_threshold_id IS NOT NULL),
1494         CONSTRAINT                      l1tm2ttm_name_NN        CHECK ( l1tm2ttm_name IS NOT NULL),
1495         CONSTRAINT                      l1tm2ttm_int_counter_NN CHECK ( l1tm2ttm_internal_counter IS NOT NULL),
1496         CONSTRAINT                      l1tm2ttm_bch_grp_id_NN  CHECK ( l1tm2ttm_bunch_group_id IS NOT NULL),
1497         CONSTRAINT                      l1tm2ttm_cter_type_NN   CHECK ( l1tm2ttm_counter_type IS NOT NULL),
1498         CONSTRAINT                      l1tm2ttm_mplicity_NN    CHECK ( l1tm2ttm_multiplicity IS NOT NULL),
1499         CONSTRAINT                      l1tm2ttm_used_NN        CHECK ( l1tm2ttm_used IS NOT NULL)
1500 );
1501 CREATE INDEX l1tm2ttm_trigger_menu_id_ind  ON l1_tm_to_tt_mon(l1tm2ttm_trigger_menu_id);
1502 CREATE INDEX l1tm2ttm_trigger_thres_id_ind ON l1_tm_to_tt_mon(l1tm2ttm_trigger_threshold_id);
1503 
1504 -- n-n relationship between the bunch group set and the bunch groups. The
1505 -- l1_bgs_bg_internal_number is needed to label the bunch group within the 
1506 -- bunch group set that is associated to a trigger menu. Inside the trigger
1507 -- threshold defintion these internal numbers are referenced.
1508 CREATE TABLE l1_bgs_to_bg (
1509         l1bgs2bg_id                     NUMBER(10),
1510         l1bgs2bg_bunch_group_set_id     NUMBER(10),
1511         l1bgs2bg_bunch_group_id         NUMBER(10),
1512         l1bgs2bg_internal_number        NUMBER(2),
1513         l1bgs2bg_username               VARCHAR2(50),
1514         l1bgs2bg_modified_time          TIMESTAMP,
1515         l1bgs2bg_used                   CHAR                    default 0,
1516         CONSTRAINT                      l1bgs2bg_pk             PRIMARY KEY (l1bgs2bg_id),
1517         CONSTRAINT                      l1bgs2bg_fk_bgs         FOREIGN KEY (l1bgs2bg_bunch_group_set_id)
1518                                                                 REFERENCES l1_bunch_group_set(l1bgs_id),
1519         CONSTRAINT                      l1bgs2bg_fk_bg          FOREIGN KEY (l1bgs2bg_bunch_group_id)
1520                                                                 REFERENCES l1_bunch_group(l1bg_id),
1521         CONSTRAINT                      l1bgs2bg_id_NN          CHECK ( l1bgs2bg_id IS NOT NULL),
1522         CONSTRAINT                      l1bgs2bg_bgrp_set_id_NN CHECK ( l1bgs2bg_bunch_group_set_id IS NOT NULL),
1523         CONSTRAINT                      l1bgs2bg_bgrp_id_NN     CHECK ( l1bgs2bg_bunch_group_id IS NOT NULL),
1524         CONSTRAINT                      l1bgs2bg_int_number_NN  CHECK ( l1bgs2bg_internal_number IS NOT NULL),
1525         CONSTRAINT                      l1bgs2bg_used_NN        CHECK ( l1bgs2bg_used IS NOT NULL)
1526 );
1527 CREATE INDEX l1bgs2bg_bgroup_set_id_ind ON l1_bgs_to_bg(l1bgs2bg_bunch_group_set_id);
1528 CREATE INDEX l1bgs2bg_bgroup_id_ind     ON l1_bgs_to_bg(l1bgs2bg_bunch_group_id);
1529 
1530 -- this tables associates the various bunches to the bunch groups
1531 CREATE TABLE l1_bg_to_b (
1532         l1bg2b_id                       NUMBER(10),     
1533         l1bg2b_bunch_group_id           NUMBER(10),     
1534         l1bg2b_bunch_number             NUMBER(10),     
1535         l1bg2b_username                 VARCHAR2(50),
1536         l1bg2b_modified_time            TIMESTAMP,
1537         l1bg2b_used                     CHAR                    default 0,
1538         CONSTRAINT                      l1bg2b_pk               PRIMARY KEY (l1bg2b_id),
1539         CONSTRAINT                      l1bg2b_fk_bg            FOREIGN KEY (l1bg2b_bunch_group_id)
1540                                                                 REFERENCES l1_bunch_group(l1bg_id),
1541         CONSTRAINT                      l1bg2b_id_NN            CHECK ( l1bg2b_id IS NOT NULL),
1542         CONSTRAINT                      l1bg2b_bch_group_id_NN  CHECK ( l1bg2b_bunch_group_id IS NOT NULL),
1543         CONSTRAINT                      l1bg2b_bch_number_NN    CHECK ( l1bg2b_bunch_number IS NOT NULL),
1544         CONSTRAINT                      l1bg2b_used_NN          CHECK ( l1bg2b_used IS NOT NULL)
1545 );
1546 CREATE INDEX l1bg2b_bunch_group_id_ind ON l1_bg_to_b(l1bg2b_bunch_group_id);
1547 
1548 CREATE TABLE l1_ci_to_csc (
1549         l1ci2csc_id                     NUMBER(10), 
1550         l1ci2csc_calo_info_id           NUMBER(10), 
1551         l1ci2csc_calo_sin_cos_id        NUMBER(10), 
1552         l1ci2csc_username               VARCHAR2(50),
1553         l1ci2csc_modified_time          TIMESTAMP,
1554         l1ci2csc_used                   CHAR                    default 0,
1555         CONSTRAINT                      l1ci2csc_pk             PRIMARY KEY (l1ci2csc_id),
1556         CONSTRAINT                      l1ci2csc_fk_ci          FOREIGN KEY (l1ci2csc_calo_info_id)
1557                                                                 REFERENCES l1_calo_info(l1ci_id),
1558         CONSTRAINT                      l1ci2csc_fk_csc         FOREIGN KEY (l1ci2csc_calo_sin_cos_id)
1559                                                                 REFERENCES l1_calo_sin_cos(l1csc_id),
1560         CONSTRAINT                      l1ci2csc_id_NN          CHECK ( l1ci2csc_id IS NOT NULL),
1561         CONSTRAINT                      l1ci2csc_calo_info_NN   CHECK ( l1ci2csc_calo_info_id IS NOT NULL),
1562         CONSTRAINT                      l1ci2csc_calo_sincos_NN CHECK ( l1ci2csc_calo_sin_cos_id IS NOT NULL),
1563         CONSTRAINT                      l1ci2csc_used_NN        CHECK ( l1ci2csc_used IS NOT NULL)
1564 );
1565 CREATE INDEX l1ci2csc_calo_info_id_ind    ON l1_ci_to_csc(l1ci2csc_calo_info_id);
1566 CREATE INDEX l1ci2csc_calo_sin_cos_id_ind ON l1_ci_to_csc(l1ci2csc_calo_sin_cos_id);
1567 
1568 -- This table binds together all parts of the LVL1 configuration. This
1569 -- mechanism allows to separately change the various parts separately.
1570 -- E.g. prescale sets can be changed more often than menus.
1571 
1572 CREATE TABLE l1_master_table (
1573         l1mt_id                         NUMBER(10),
1574         l1mt_name                       VARCHAR2(50),
1575         l1mt_version                    NUMBER(11),
1576         l1mt_comment                    VARCHAR2(200),
1577         l1mt_trigger_menu_id            NUMBER(10),
1578         l1mt_dead_time_id               NUMBER(10),
1579         l1mt_muctpi_info_id             NUMBER(10),
1580         l1mt_random_id                  NUMBER(10),
1581         l1mt_prescaled_clock_id         NUMBER(10),
1582         l1mt_calo_info_id               NUMBER(10),
1583         l1mt_muon_threshold_set_id      NUMBER(10),
1584         l1mt_username                   VARCHAR2(50),
1585         l1mt_modified_time              TIMESTAMP,
1586         l1mt_status                     NUMBER(2),
1587         l1mt_used                       CHAR                    default 0,
1588         CONSTRAINT                      l1mt_pk                 PRIMARY KEY (l1mt_id),
1589         CONSTRAINT                      l1mt_fk_tm              FOREIGN KEY (l1mt_trigger_menu_id)
1590                                                                 REFERENCES l1_trigger_menu(l1tm_id),
1591         CONSTRAINT                      l1mt__fk_dt             FOREIGN KEY (l1mt_dead_time_id)
1592                                                                 REFERENCES l1_dead_time(l1dt_id),
1593         CONSTRAINT                      l1mt_fk_mi              FOREIGN KEY (l1mt_muctpi_info_id)
1594                                                                 REFERENCES l1_muctpi_info(l1mi_id),
1595         CONSTRAINT                      l1mt_fk_r               FOREIGN KEY (l1mt_random_id)
1596                                                                 REFERENCES l1_random(l1r_id),
1597         CONSTRAINT                      l1mt_fk_psc             FOREIGN KEY (l1mt_prescaled_clock_id)
1598                                                                 REFERENCES l1_prescaled_clock(l1pc_id),
1599         CONSTRAINT                      l1mt_fk_ci              FOREIGN KEY (l1mt_calo_info_id)
1600                                                                 REFERENCES l1_calo_info(l1ci_id),
1601         CONSTRAINT                      l1mt_fk_mt              FOREIGN KEY (l1mt_muon_threshold_set_id)
1602                                                                 REFERENCES l1_muon_threshold_set(l1mts_id),
1603         CONSTRAINT                      l1mt_nmver              UNIQUE (l1mt_name, l1mt_version),
1604         CONSTRAINT                      l1mt_id_NN              CHECK ( l1mt_id IS NOT NULL),
1605         CONSTRAINT                      l1mt_name_NN            CHECK ( l1mt_name IS NOT NULL),
1606         CONSTRAINT                      l1mt_version_NN         CHECK ( l1mt_version IS NOT NULL),
1607         CONSTRAINT                      l1mt_trigger_menu_id_NN CHECK ( l1mt_trigger_menu_id IS NOT NULL),
1608         CONSTRAINT                      l1mt_dead_time_id_NN    CHECK ( l1mt_dead_time_id IS NOT NULL),
1609         CONSTRAINT                      l1mt_muctpi_info_id_NN  CHECK ( l1mt_muctpi_info_id IS NOT NULL),
1610         CONSTRAINT                      l1mt_random_id_NN       CHECK ( l1mt_random_id IS NOT NULL),
1611         CONSTRAINT                      l1mt_pscale_clock_id_NN CHECK ( l1mt_prescaled_clock_id IS NOT NULL),
1612         CONSTRAINT                      l1mt_calo_info_id_NN    CHECK ( l1mt_calo_info_id IS NOT NULL),
1613         CONSTRAINT                      l1mt_muon_thres_set_NN  CHECK ( l1mt_muon_threshold_set_id IS NOT NULL),
1614         CONSTRAINT                      l1mt_status_NN          CHECK ( l1mt_status IS NOT NULL),
1615         CONSTRAINT                      l1mt_used_NN            CHECK ( l1mt_used IS NOT NULL)
1616 );
1617 CREATE INDEX l1mt_trigger_menu_id_ind       ON l1_master_table(l1mt_trigger_menu_id);
1618 CREATE INDEX l1mt_dead_time_id_ind          ON l1_master_table(l1mt_dead_time_id);
1619 CREATE INDEX l1mt_muctpi_info_id_ind        ON l1_master_table(l1mt_muctpi_info_id);
1620 CREATE INDEX l1mt_random_id_ind             ON l1_master_table(l1mt_random_id);
1621 CREATE INDEX l1mt_prescaled_clock_id_ind    ON l1_master_table(l1mt_prescaled_clock_id);
1622 CREATE INDEX l1mt_calo_info_id_ind          ON l1_master_table(l1mt_calo_info_id);
1623 CREATE INDEX l1mt_muon_threshold_set_id_ind ON l1_master_table(l1mt_muon_threshold_set_id);
1624 
1625 --- HLT setup and release
1626 
1627 -- Please emacs, make this buffer -*- sql -*-
1628 -- Initially contributed by Johannes Haller
1629 -- Modifications and usage Andre dos Anjos and Werner Wiedenmann
1630 -- 18.11.05:    Modified by Johannes Haller, to allow setup for each algorithm
1631 --              as agreed on in meeting on 17.11.05
1632 --
1633 -- This schema describes the ATLAS Trigger HLT database schema. 
1634 --
1635 -- The schema was designed based on a separation between logical and physical
1636 -- software infrastructure. Every Trigger release will be composed of a set of 
1637 -- libraries with given versions that are supposed to be run by the HLT
1638 -- processors. This set of library releases represent the "physical setup".
1639 -- The other part of the setup is represented by the options that need to be 
1640 -- in place for a particular logical work to happen, for instance, to run 
1641 -- T2Calo or a combined setup. The options for running T2Calo change less 
1642 -- frequently than the library releases and therefore it makes no sense to 
1643 -- bind the two together.
1644 --
1645 -- The union of a software release (physical) and a trigger configuration 
1646 -- setup (logical) makes up a runnable environment which is defined by 
1647 -- a master table that correlates the two parameters. This semantic separation
1648 -- imposes the need to build a consistency checker that assures that all
1649 -- components in a logical setup can be run in a given (physical) Trigger 
1650 -- software release.
1651 --
1652 -- Versioning:
1653 -- Versioning information is handled by a UNIQUE constraint. A combination of
1654 -- a particular feature on the table + a version number should be always 
1655 -- unique to guarantee that we don't have the same versions of particular
1656 -- parameter or setup, for instance.
1657 -- N-to-N relationship tables hardly need versioning information.
1658 
1659 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1660 -- TABLES REPRESENTING THE LOGICAL SOFTWARE SETUP FOR A JOB
1661 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1662 
1663 -- This table defines all parameters for all possible components I can run.
1664 -- Different components can share the same set of paramters and every 
1665 -- component has a set of parameters what defines a M:N relationship. This
1666 -- unfortunately can only be addressed in SQL through a "human-unreadable" 
1667 -- relationship table (named in this schema "comp_to_param"). To make sense
1668 -- out of this relationship table, use the full power of SQL to make a JOIN
1669 -- the way you prefer.
1670 CREATE TABLE hlt_parameter (
1671         hpa_id                          NUMBER(10),
1672         hpa_name                        VARCHAR2(50),
1673         hpa_op                          VARCHAR2(30),
1674         hpa_value                       VARCHAR2(4000),
1675         hpa_chain_user_version          CHAR,
1676         hpa_username                    VARCHAR2(50),
1677         hpa_modified_time               TIMESTAMP,
1678         hpa_used                        CHAR,
1679         CONSTRAINT                      hpa_pk                  PRIMARY KEY (hpa_id),
1680         CONSTRAINT                      hpa_id_NN               CHECK ( hpa_id IS NOT NULL),
1681         CONSTRAINT                      hpa_name_NN             CHECK ( hpa_name IS NOT NULL),
1682         CONSTRAINT                      hpa_op_NN               CHECK ( hpa_op IS NOT NULL),
1683         CONSTRAINT                      hpa_value_NN            CHECK ( hpa_value IS NOT NULL),
1684         CONSTRAINT                      hpa_chain_user_v_NN     CHECK ( hpa_chain_user_version IS NOT NULL),
1685         CONSTRAINT                      hpa_used_NN             CHECK ( hpa_used IS NOT NULL)
1686 );
1687 
1688 -- This table contains all components that can run for all possible
1689 -- setups. It defines the components name, also known as 'Alias' in the
1690 -- Gaudi world, that can be used for a given setup. The combination of
1691 -- those is *not* free, you have to be a trigger expert to define what can run
1692 -- in the same setup. This table is linked to a "source" table that
1693 -- defines the originating component name and the library (DLL) it belongs to.
1694 -- The topalg column defines if the current component should be in the top
1695 -- algorithm list or not. The order of their execution is independent.
1696 CREATE TABLE hlt_component (
1697         hcp_id                          NUMBER(10),
1698         hcp_name                        VARCHAR2(200),
1699         hcp_version                     NUMBER(11),
1700         hcp_alias                       VARCHAR2(200),
1701         hcp_type                        VARCHAR2(200),
1702         hcp_py_name                     VARCHAR2(200),
1703         hcp_py_package                  VARCHAR2(200),
1704         hcp_username                    VARCHAR2(50),
1705         hcp_modified_time               TIMESTAMP,
1706         hcp_used                        CHAR                    default 0,
1707         CONSTRAINT                      hcp_pk                  PRIMARY KEY (hcp_id),
1708         CONSTRAINT                      hcp_nmver               UNIQUE (hcp_name, hcp_alias, hcp_version),
1709         CONSTRAINT                      hcp_id_NN               CHECK ( hcp_id IS NOT NULL),
1710         CONSTRAINT                      hcp_name_NN             CHECK ( hcp_name IS NOT NULL),
1711         CONSTRAINT                      hcp_version_NN          CHECK ( hcp_version IS NOT NULL),
1712         CONSTRAINT                      hcp_alias_NN            CHECK ( hcp_alias IS NOT NULL),
1713         CONSTRAINT                      hcp_type_NN             CHECK ( hcp_type IS NOT NULL),
1714         CONSTRAINT                      hcp_py_name_NN          CHECK ( hcp_py_name IS NOT NULL),
1715         CONSTRAINT                      hcp_py_package_NN       CHECK ( hcp_py_package IS NOT NULL),
1716         CONSTRAINT                      hcp_used_NN             CHECK ( hcp_used IS NOT NULL)
1717 );
1718 
1719 -- This table defines the relation between one component and another
1720 -- Used to assign private tools to algorithms and more generally
1721 -- any child component (tool) to a parent component.
1722 -- The tools can only be reached via the cp-cp link, and the "parent" cp if an algo 
1723 -- will be linked to a TE via the TE-CP link. 
1724 CREATE TABLE hlt_cp_to_cp (
1725         hcp2cp_id                       NUMBER(10),
1726         hcp2cp_parent_comp_id           NUMBER(10),
1727         hcp2cp_child_comp_id            NUMBER(10),
1728         hcp2cp_username                 VARCHAR2(50),
1729         hcp2cp_modified_time            TIMESTAMP,
1730         hcp2cp_used                     CHAR                    default 0,
1731         CONSTRAINT                      hcp2cp_pk               PRIMARY KEY (hcp2cp_id),
1732         CONSTRAINT                      hcp2cp_fk_acp           FOREIGN KEY (hcp2cp_parent_comp_id)
1733                                                                 REFERENCES hlt_component (hcp_id),
1734         CONSTRAINT                      hcp2cp_fk_tcp           FOREIGN KEY (hcp2cp_child_comp_id)
1735                                                                 REFERENCES hlt_component (hcp_id),
1736         CONSTRAINT                      hcp2cp_id_NN            CHECK ( hcp2cp_id IS NOT NULL),
1737         CONSTRAINT                      hcp2cp_parent_id_NN     CHECK ( hcp2cp_parent_comp_id IS NOT NULL),
1738         CONSTRAINT                      hcp2cp_child_id_NN      CHECK ( hcp2cp_child_comp_id IS NOT NULL),
1739         CONSTRAINT                      hcp2cp_used_NN          CHECK ( hcp2cp_used IS NOT NULL)
1740 );
1741 CREATE INDEX hcp2cp_parent_comp_id_ind ON hlt_cp_to_cp(hcp2cp_parent_comp_id);
1742 CREATE INDEX hcp2cp_child_comp_id_ind  ON hlt_cp_to_cp(hcp2cp_child_comp_id);
1743 
1744 -- This table defines the relation between the component ('comp') and the
1745 -- parameters ('param') that it has to set. It will define what you see as
1746 -- jobOptions in the form of 'ComponentName.ProperValue = MyValue'. It is
1747 -- a relationship table thefore it defines only foreign keys to the components
1748 -- and parameters table
1749 CREATE TABLE hlt_cp_to_pa (
1750         hcp2pa_id                       NUMBER(10),
1751         hcp2pa_component_id             NUMBER(10),
1752         hcp2pa_parameter_id             NUMBER(10),
1753         hcp2pa_username                 VARCHAR2(50),
1754         hcp2pa_modified_time            TIMESTAMP,
1755         hcp2pa_used                     CHAR                    default 0,
1756         CONSTRAINT                      hcp2pa_pk               PRIMARY KEY (hcp2pa_id),
1757         CONSTRAINT                      hcp2pa_fk_cp            FOREIGN KEY (hcp2pa_component_id)
1758                                                                 REFERENCES hlt_component (hcp_id),
1759         CONSTRAINT                      hcp2pa_fk_pa            FOREIGN KEY (hcp2pa_parameter_id)
1760                                                                 REFERENCES hlt_parameter (hpa_id),
1761         CONSTRAINT                      hcp2pa_id_NN            CHECK ( hcp2pa_id IS NOT NULL),
1762         CONSTRAINT                      hcp2pa_component_id_NN  CHECK ( hcp2pa_component_id IS NOT NULL),
1763         CONSTRAINT                      hcp2pa_parameter_id_NN  CHECK ( hcp2pa_parameter_id IS NOT NULL),
1764         CONSTRAINT                      hcp2pa_used_NN          CHECK ( hcp2pa_used IS NOT NULL)
1765 );
1766 CREATE INDEX hcp2pa_component_id_ind ON hlt_cp_to_pa(hcp2pa_component_id);
1767 CREATE INDEX hcp2pa_parameter_id_ind ON hlt_cp_to_pa(hcp2pa_parameter_id);
1768 
1769 -- This table defines all possible running setups one can enjoy. Since
1770 -- a particular component can belong to a number of setups,
1771 -- and a setup may contain many components, we need another N:N
1772 -- relationship table. Please note that the hlt_setup table
1773 -- is referenced by the hlt_algorithm table, ie. for each algorithm
1774 -- in the menu we define a setup with several componennts that need to be
1775 -- setup. Hence we can derive the components that need to run form the
1776 -- menu. We will start with a single setup, the base setup. This means
1777 -- the setup for all algorithms is the same. Later on , this may change
1778 -- and we have several setups.
1779 CREATE TABLE hlt_setup (
1780         hst_id                          NUMBER(10),
1781         hst_name                        VARCHAR2(50),
1782         hst_version                     NUMBER(11),
1783         hst_l2_or_ef                    VARCHAR(2),
1784         hst_username                    VARCHAR2(50),
1785         hst_modified_time               TIMESTAMP,
1786         hst_used                        CHAR                    default 0,
1787         CONSTRAINT                      hst_pk                  PRIMARY KEY (hst_id),
1788         CONSTRAINT                      hst_nmver               UNIQUE (hst_name, hst_version),
1789         CONSTRAINT                      hst_id_NN               CHECK ( hst_id IS NOT NULL),
1790         CONSTRAINT                      hst_name_NN             CHECK ( hst_name IS NOT NULL),
1791         CONSTRAINT                      hst_version_NN          CHECK ( hst_version IS NOT NULL),
1792         CONSTRAINT                      hst_l2_or_ef_NN         CHECK ( hst_l2_or_ef IS NOT NULL),
1793         CONSTRAINT                      hst_used_NN             CHECK ( hst_used IS NOT NULL)
1794 );
1795 
1796 -- This table defines the N:N relations between setups and components.
1797 CREATE TABLE hlt_st_to_cp (
1798         hst2cp_id                       NUMBER(10),
1799         hst2cp_setup_id                 NUMBER(10),
1800         hst2cp_component_id             NUMBER(10),
1801         hst2cp_username                 VARCHAR2(50),
1802         hst2cp_modified_time            TIMESTAMP,
1803         hst2cp_used                     CHAR                    default 0,
1804         CONSTRAINT                      hst2cp_pk               PRIMARY KEY (hst2cp_id),
1805         CONSTRAINT                      hst2cp_fk_st            FOREIGN KEY (hst2cp_setup_id) 
1806                                                                 REFERENCES hlt_setup(hst_id),
1807         CONSTRAINT                      hst2cp_fk_cp            FOREIGN KEY (hst2cp_component_id) 
1808                                                                 REFERENCES hlt_component(hcp_id),
1809         CONSTRAINT                      hst2cp_id_NN            CHECK ( hst2cp_id IS NOT NULL),
1810         CONSTRAINT                      hst2cp_setup_id_NN      CHECK ( hst2cp_setup_id IS NOT NULL),
1811         CONSTRAINT                      hst2cp_component_id_NN  CHECK ( hst2cp_component_id IS NOT NULL),
1812         CONSTRAINT                      hst2cp_used_NN          CHECK ( hst2cp_used IS NOT NULL)
1813 );
1814 CREATE INDEX hst2cp_setup_id_ind     ON hlt_st_to_cp(hst2cp_setup_id);
1815 CREATE INDEX hst2cp_component_id_ind ON hlt_st_to_cp(hst2cp_component_id);
1816 
1817 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1818 -- TABLES REPRESENTING THE PHYSICAL SOFTWARE SETUP FOR A JOB
1819 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1820 
1821 -- This table stores information about all available software releases.
1822 CREATE TABLE hlt_release (
1823         hre_id                          NUMBER(10),
1824         hre_name                        VARCHAR2(200),
1825         hre_base                        VARCHAR2(200),
1826         hre_patch_1                     VARCHAR2(200),
1827         hre_patch_2                     VARCHAR2(200),
1828         hre_username                    VARCHAR2(50),
1829         hre_modified_time               TIMESTAMP,
1830         hre_used                        CHAR                    default 0,
1831         CONSTRAINT                      hre_pk                  PRIMARY KEY (hre_id),
1832         CONSTRAINT                      hre_id_NN               CHECK ( hre_id IS NOT NULL),
1833         CONSTRAINT                      hre_base_NN             CHECK ( hre_base IS NOT NULL),
1834         CONSTRAINT                      hre_patch_1_NN          CHECK ( hre_patch_1 IS NOT NULL),
1835         CONSTRAINT                      hre_patch_2_NN          CHECK ( hre_patch_2 IS NOT NULL),
1836         CONSTRAINT                      hre_used_NN             CHECK ( hre_used IS NOT NULL)
1837 );
1838 
1839 -------------------------------------------------
1840 -- SQL script for the HLT menu part in the TriggerDB
1841 -- date  : 24.10.05
1842 -- author: Johannes Haller (CERN)
1843 -------------------------------------------------
1844 
1845 ----------------------------
1846 -- the data tables
1847 ----------------------------
1848 
1849 -- This table describes the HLT trigger menus
1850 -- In a given menu, the algorithms are specified that need to be configured in order to process the event
1851 -- and to derive the trigger decision. These algorihtms need certain other algorithms or services to 
1852 -- be running (and configured) in order to guarantee a correct event processing. For e.g. byte-stream converter
1853 -- services. For this reason, for each menu a certain infrastructure is needed. This infrastructure is given in
1854 -- the setup table. htm_setup_id is a foreign key to this table. When inserting a new menu it must be 
1855 -- guaranteed that menu and setup are consistent. For the time being we will only use one setup (the 'base' setup).
1856 -- The relationship between menu and setup could either be stored in the hlt_menu table (ergo: here) or
1857 -- in a higher master_key table. But consistency is important. Later we could use several setups: e.g. one
1858 -- for calorimeter algorithms, one for the muons algorihtms, a combined setup, and so on.  
1859 CREATE TABLE hlt_trigger_menu ( 
1860         htm_id                          NUMBER(10),
1861         htm_name                        VARCHAR2(50),
1862         htm_version                     NUMBER(11),
1863         htm_phase                       VARCHAR2(50),
1864         htm_consistent                  CHAR,
1865         htm_username                    VARCHAR2(50),
1866         htm_modified_time               TIMESTAMP,
1867         htm_used                        CHAR                    default 0,
1868         CONSTRAINT                      htm_pk                  PRIMARY KEY (htm_id),
1869         CONSTRAINT                      htm_nmver               UNIQUE (htm_name, htm_version),
1870         CONSTRAINT                      htm_id_NN               CHECK ( htm_id IS NOT NULL),
1871         CONSTRAINT                      htm_name_NN             CHECK ( htm_name IS NOT NULL),
1872         CONSTRAINT                      htm_version_NN          CHECK ( htm_version IS NOT NULL),
1873         CONSTRAINT                      htm_phase_NN            CHECK ( htm_phase IS NOT NULL),
1874         CONSTRAINT                      htm_consistent_NN       CHECK ( htm_consistent IS NOT NULL),
1875         CONSTRAINT                      htm_used_NN             CHECK ( htm_used IS NOT NULL)
1876 );
1877 
1878 
1879 -- This table describes hlt_chains which are 'a' trigger in L2 or EF, i.e. a chain of 
1880 -- signatures. For each processing step, there is one signature.
1881 -- The attirbute htcc_lower_chain_name gives the name of the signatures this chain is based on.
1882 -- In case of a L2 chain, this column gives the LVL1 trigger item. For EF chains
1883 -- this string is the name of a L2 chain. When combining the LVL1 menu and the HLT part,
1884 -- it must be made sure that the lower signatures that are expected by L2 are also configured
1885 -- in the LVL1 part. The same for EF and L2. We don't put foreign keys here to the actual signature
1886 -- but rahter strings of the name. This allows to change the LVL1 (LVL2) trigger menu items without
1887 -- necessarily changing the LVL2 (EF) trigger menu.
1888 -- The attribute htc_l2_or_ef is a flag that indicates if a certain chain runs on L2 or the EF. Since the 
1889 -- configuration of L2 and EF are basically identical, this flag allows us to use all tables
1890 -- for both L2 and EF.
1891 CREATE TABLE hlt_trigger_chain (
1892         htc_id                          NUMBER(10),
1893         htc_name                        VARCHAR2(50),
1894         htc_version                     NUMBER(11),
1895         htc_user_version                NUMBER(11),
1896         htc_comment                     VARCHAR2(50),
1897         htc_chain_counter               NUMBER(10),
1898         htc_lower_chain_name            VARCHAR2(50),
1899         htc_l2_or_ef                    VARCHAR2(2),
1900         htc_rerun_prescale              VARCHAR2(50),
1901         htc_username                    VARCHAR2(50),
1902         htc_modified_time               TIMESTAMP,
1903         htc_used                        CHAR                    default 0,
1904         CONSTRAINT                      htc_pk                  PRIMARY KEY (htc_id),
1905         CONSTRAINT                      htc_nmver               UNIQUE (htc_name, htc_version),
1906         CONSTRAINT                      htc_id_NN               CHECK ( htc_id IS NOT NULL),
1907         CONSTRAINT                      htc_name_NN             CHECK ( htc_name IS NOT NULL),
1908         CONSTRAINT                      htc_version_NN          CHECK ( htc_version IS NOT NULL),
1909         CONSTRAINT                      htc_user_version_NN     CHECK ( htc_user_version IS NOT NULL),
1910         CONSTRAINT                      htc_chain_counter_NN    CHECK ( htc_chain_counter IS NOT NULL),
1911         CONSTRAINT                      htc_lower_chain_name_NN CHECK ( htc_lower_chain_name IS NOT NULL),
1912         CONSTRAINT                      htc_l2_or_ef_NN         CHECK ( htc_l2_or_ef IS NOT NULL),
1913         CONSTRAINT                      htc_rereun_prescale_NN  CHECK ( htc_rerun_prescale IS NOT NULL),
1914         CONSTRAINT                      htc_used_NN             CHECK ( htc_used IS NOT NULL)
1915 );
1916 
1917 -- this table describes the signatures at each step of a chain.
1918 -- The attribute hs_logic identifies the logic expression with which trigger_elements are combined
1919 -- in this step. At the moment we use an integer to encode this logic. e.g. hs_logic=1 means
1920 -- that all trigger_element are used in an AND expression. We expect that the number
1921 -- of different logical experssions will be rather small. Then this encoded logic makes sense.
1922 -- LAter one could change it to a string and parser code to encode the logic. The implementation of a
1923 -- proper logical tree with AND and OR nodes seems to be an over-kill.
1924 CREATE TABLE hlt_trigger_signature ( 
1925         hts_id                          NUMBER(10),
1926         hts_logic                       NUMBER(2),
1927         hts_username                    VARCHAR2(50),
1928         hts_modified_time               TIMESTAMP,
1929         hts_used                        CHAR                    default 0,
1930         CONSTRAINT                      hts_pk                  PRIMARY KEY (hts_id),
1931         CONSTRAINT                      hts_id_NN               CHECK ( hts_id IS NOT NULL),
1932         CONSTRAINT                      hts_logic_NN            CHECK ( hts_logic IS NOT NULL),
1933         CONSTRAINT                      hts_used_NN             CHECK ( hts_used IS NOT NULL)
1934 );
1935 
1936 -- Steps are logical combination of trigger_elements. These trigger_elements are defined in 
1937 -- this table. 
1938 CREATE TABLE hlt_trigger_element ( 
1939         hte_id                          NUMBER(10),
1940         hte_name                        VARCHAR2(100),
1941         hte_version                     NUMBER(11),
1942         hte_username                    VARCHAR2(50),
1943         hte_modified_time               TIMESTAMP,
1944         hte_used                        CHAR                    default 0,
1945         CONSTRAINT                      hte_pk                  PRIMARY KEY (hte_id),
1946         CONSTRAINT                      hte_id_NN               CHECK ( hte_id IS NOT NULL),
1947         CONSTRAINT                      hte_name_NN             CHECK ( hte_name IS NOT NULL),
1948         CONSTRAINT                      hte_version_NN          CHECK ( hte_version IS NOT NULL),
1949         CONSTRAINT                      hte_used_NN             CHECK ( hte_used IS NOT NULL)
1950  );
1951 
1952 -- Prescale sets are supposed to be changed more often than the menu logic. 
1953 -- Therefore this separate table is introduced. It binds all 
1954 -- prescale values. There will be several Prescale Sets for a certain menu. 
1955 CREATE TABLE hlt_prescale_set ( 
1956         hps_id                          NUMBER(10),
1957         hps_name                        VARCHAR2(65),
1958         hps_version                     NUMBER(11),
1959         hps_comment                     VARCHAR2(200),
1960         hps_username                    VARCHAR2(50),
1961         hps_modified_time               TIMESTAMP,
1962         hps_used                        CHAR                    default 0,
1963         CONSTRAINT                      hps_pk                  PRIMARY KEY (hps_id),
1964         CONSTRAINT                      hps_nmver               UNIQUE (hps_name, hps_version),
1965         CONSTRAINT                      hps_id_NN               CHECK ( hps_id IS NOT NULL),
1966         CONSTRAINT                      hps_name_NN             CHECK ( hps_name IS NOT NULL),
1967         CONSTRAINT                      hps_version_NN          CHECK ( hps_version IS NOT NULL),
1968         CONSTRAINT                      hps_used_NN             CHECK ( hps_used IS NOT NULL)
1969 );
1970 
1971 -- Here the various prescale factors are listed for a certain set.
1972 CREATE TABLE hlt_prescale (
1973         hpr_id                          NUMBER(10),
1974         hpr_prescale_set_id             NUMBER(10),
1975         hpr_chain_counter               NUMBER(10),
1976         hpr_l2_or_ef                    VARCHAR2(2),
1977         hpr_prescale                    VARCHAR2(50),
1978         hpr_pass_through_rate           VARCHAR2(50),
1979         hpr_username                    VARCHAR2(50),
1980         hpr_modified_time               TIMESTAMP,
1981         hpr_used                        CHAR                    default 0,
1982         CONSTRAINT                      hpr_pk                  PRIMARY KEY (hpr_id),
1983         CONSTRAINT                      hpr_fk_ps               FOREIGN KEY (hpr_prescale_set_id) 
1984                                                                 REFERENCES hlt_prescale_set(hps_id),
1985         CONSTRAINT                      hpr_id_NN               CHECK ( hpr_id IS NOT NULL),
1986         CONSTRAINT                      hpr_prescale_set_id_NN  CHECK ( hpr_prescale_set_id IS NOT NULL),
1987         CONSTRAINT                      hpr_chain_counter_NN    CHECK ( hpr_chain_counter IS NOT NULL),
1988         CONSTRAINT                      hpr_l2_or_ef_NN         CHECK ( hpr_l2_or_ef IS NOT NULL),
1989         CONSTRAINT                      hpr_prescale_NN         CHECK ( hpr_prescale IS NOT NULL),
1990         CONSTRAINT                      hpr_pass_thru_rate_NN   CHECK ( hpr_pass_through_rate IS NOT NULL),
1991         CONSTRAINT                      hpr_used_NN             CHECK ( hpr_used IS NOT NULL)
1992 );
1993 CREATE INDEX hpr_prescale_set_id_ind ON hlt_prescale(hpr_prescale_set_id);
1994 
1995 ----------------------
1996 -- N-N relations
1997 ----------------------
1998 
1999 -- Relates the HLT prescale sets to the HLT menu. Hence if the menu changes
2000 -- the same set may still be applied
2001 CREATE TABLE hlt_tm_to_ps ( 
2002         htm2ps_id                       NUMBER(10),
2003         htm2ps_trigger_menu_id          NUMBER(10),
2004         htm2ps_prescale_set_id          NUMBER(10),
2005         htm2ps_username                 VARCHAR2(50),
2006         htm2ps_modified_time            TIMESTAMP,
2007         htm2ps_used                     CHAR                    default 0,
2008         CONSTRAINT                      htm2ps_pk               PRIMARY KEY (htm2ps_id),
2009         CONSTRAINT                      htm2ps_fk_tm            FOREIGN KEY (htm2ps_trigger_menu_id) 
2010                                                                 REFERENCES hlt_trigger_menu(htm_id),
2011         CONSTRAINT                      htm2ps_fk_ps            FOREIGN KEY (htm2ps_prescale_set_id)
2012                                                                 REFERENCES hlt_prescale_set(hps_id),
2013         CONSTRAINT                      htm2ps_id_NN            CHECK ( htm2ps_id IS NOT NULL),
2014         CONSTRAINT                      htm2ps_menu_id_NN       CHECK ( htm2ps_trigger_menu_id IS NOT NULL),
2015         CONSTRAINT                      htm2ps_set_id_NN        CHECK ( htm2ps_prescale_set_id IS NOT NULL),
2016         CONSTRAINT                      htm2ps_used_NN          CHECK ( htm2ps_used IS NOT NULL)
2017 );
2018 CREATE INDEX htm2ps_trigger_menu_id_ind ON hlt_tm_to_ps(htm2ps_trigger_menu_id);
2019 CREATE INDEX htm2ps_prescale_set_id_ind ON hlt_tm_to_ps(htm2ps_prescale_set_id);
2020 
2021 -- In this table it is specified which chains are included in a certain menu.
2022 -- For each menu the chains are counted and they are attributed a certain counter value in this menu.
2023 -- This id can then be used e.g. for trigger_bits in a trigger_bit_pattern and also for
2024 -- the prescale_set table in which the prescale for the various chains are stored. Please note
2025 -- that these prescales are supposed to be changed more frequently than full menus. That's why a 
2026 -- separate table is introduced.
2027 CREATE TABLE hlt_tm_to_tc ( 
2028         htm2tc_id                       NUMBER(10),
2029         htm2tc_trigger_menu_id          NUMBER(10),
2030         htm2tc_trigger_chain_id         NUMBER(10),
2031         htm2tc_username                 VARCHAR2(50),
2032         htm2tc_modified_time            TIMESTAMP,
2033         htm2tc_used                     CHAR                    default 0,
2034         CONSTRAINT                      htm2tc_pk               PRIMARY KEY (htm2tc_id),
2035         CONSTRAINT                      htm2tc_fk_tm            FOREIGN KEY (htm2tc_trigger_menu_id) 
2036                                                                 REFERENCES hlt_trigger_menu(htm_id),
2037         CONSTRAINT                      htm2tc_fk_tc            FOREIGN KEY (htm2tc_trigger_chain_id)
2038                                                                 REFERENCES hlt_trigger_chain(htc_id),
2039         CONSTRAINT                      htm2tc_id_NN            CHECK ( htm2tc_id IS NOT NULL),
2040         CONSTRAINT                      htm2tc_trig_menu_id_NN  CHECK ( htm2tc_trigger_menu_id IS NOT NULL),
2041         CONSTRAINT                      htm2tc_trig_chain_id_NN CHECK ( htm2tc_trigger_chain_id IS NOT NULL),
2042         CONSTRAINT                      htm2tc_used_NN          CHECK ( htm2tc_used IS NOT NULL)
2043 );
2044 CREATE INDEX htm2tc_trigger_menu_id_ind  ON hlt_tm_to_tc(htm2tc_trigger_menu_id);
2045 CREATE INDEX htm2tc_trigger_chain_id_ind ON hlt_tm_to_tc(htm2tc_trigger_chain_id);
2046 
2047 -- one chain is composed of several steps/signatures.
2048 -- one step/signature can appear in several trigger chains.
2049 -- The attribute htc2ts_step_counter indicates the order of steps in a chain. For a chain with 4 steps
2050 -- there should be 4 steps with counter= 1,2,3,4
2051 CREATE TABLE hlt_tc_to_ts ( 
2052         htc2ts_id                       NUMBER(10),
2053         htc2ts_trigger_chain_id         NUMBER(10),
2054         htc2ts_trigger_signature_id     NUMBER(10),
2055         htc2ts_signature_counter        NUMBER(10),
2056         htc2ts_username                 VARCHAR2(50),
2057         htc2ts_modified_time            TIMESTAMP,
2058         htc2ts_used                     CHAR                    default 0,
2059         CONSTRAINT                      htc2ts_pk               PRIMARY KEY (htc2ts_id),
2060         CONSTRAINT                      htc2ts_fk_tc            FOREIGN KEY (htc2ts_trigger_chain_id) 
2061                                                                 REFERENCES hlt_trigger_chain(htc_id),
2062         CONSTRAINT                      htc2ts_fk_ts            FOREIGN KEY (htc2ts_trigger_signature_id)
2063                                                                 REFERENCES hlt_trigger_signature(hts_id),
2064         CONSTRAINT                      htc2ts_id_NN            CHECK ( htc2ts_id IS NOT NULL),
2065         CONSTRAINT                      htc2ts_trig_chain_id_NN CHECK ( htc2ts_trigger_chain_id IS NOT NULL),
2066         CONSTRAINT                      htc2ts_trig_sig_id_NN   CHECK ( htc2ts_trigger_signature_id IS NOT NULL),
2067         CONSTRAINT                      htc2ts_sig_counter_NN   CHECK ( htc2ts_signature_counter IS NOT NULL),
2068         CONSTRAINT                      htc2ts_used_NN          CHECK ( htc2ts_used IS NOT NULL)
2069 );
2070 CREATE INDEX htc2ts_trigr_chain_id_ind ON hlt_tc_to_ts(htc2ts_trigger_chain_id);
2071 CREATE INDEX htc2ts_trigr_sig_id_ind   ON hlt_tc_to_ts(htc2ts_trigger_signature_id);
2072 
2073 -- this table constains the group info
2074 --   for monitoring purposes trigger chains 
2075 --   can be grouped together, one can think
2076 --   of electron, muon, tau groups, etc.
2077 CREATE TABLE hlt_trigger_group (
2078         htg_id                          NUMBER(10),
2079         htg_trigger_chain_id            NUMBER(10),
2080         htg_name                        VARCHAR2(50),
2081         htg_username                    VARCHAR2(50),
2082         htg_modified_time               TIMESTAMP,
2083         htg_used                        CHAR                    default 0,
2084         CONSTRAINT                      htg_pk                  PRIMARY KEY (htg_id),
2085         CONSTRAINT                      htg_fk_tc               FOREIGN KEY (htg_trigger_chain_id)  
2086                                                                 REFERENCES hlt_trigger_chain(htc_id),
2087         CONSTRAINT                      htg_id_NN               CHECK ( htg_id IS NOT NULL),
2088         CONSTRAINT                      htg_trigger_chain_id_NN CHECK ( htg_trigger_chain_id IS NOT NULL),
2089         CONSTRAINT                      htg_name_NN             CHECK ( htg_name IS NOT NULL),
2090         CONSTRAINT                      htg_used_NN             CHECK ( htg_used IS NOT NULL)
2091 );
2092 CREATE INDEX htg_trigger_chain_id_ind ON hlt_trigger_group(htg_trigger_chain_id);
2093 
2094 -- this table constains the trigger type info
2095 CREATE TABLE hlt_trigger_type (
2096         htt_id                          NUMBER(10),
2097         htt_trigger_chain_id            NUMBER(10),
2098         htt_typebit                     NUMBER(10),
2099         htt_username                    VARCHAR2(50),
2100         htt_modified_time               TIMESTAMP,
2101         htt_used                        CHAR                    default 0,      
2102         CONSTRAINT                      htt_pk                  PRIMARY KEY (htt_id),
2103         CONSTRAINT                      htt_fk_tc               FOREIGN KEY (htt_trigger_chain_id)      
2104                                                                 REFERENCES hlt_trigger_chain(htc_id),
2105         CONSTRAINT                      htt_id_NN               CHECK ( htt_id IS NOT NULL),
2106         CONSTRAINT                      htt_trigger_chain_id_NN CHECK ( htt_trigger_chain_id IS NOT NULL),
2107         CONSTRAINT                      htt_used_NN             CHECK ( htt_used IS NOT NULL)
2108 );
2109 
2110 
2111 -- this table constains the stream info
2112 CREATE TABLE hlt_trigger_stream (
2113         htr_id                          NUMBER(10),
2114         htr_name                        VARCHAR2(50),
2115         htr_description                 VARCHAR2(200),
2116         htr_type                        VARCHAR2(50),
2117         htr_obeyLB                      NUMBER(1),
2118         htr_username                    VARCHAR2(50),
2119         htr_modified_time               TIMESTAMP,
2120         htr_used                        CHAR                    default 0,
2121         CONSTRAINT                      htr_pk                  PRIMARY KEY (htr_id),
2122         CONSTRAINT                      htr_id_NN               CHECK ( htr_id IS NOT NULL),
2123         CONSTRAINT                      htr_name_NN             CHECK ( htr_name IS NOT NULL),
2124         CONSTRAINT                      htr_description_NN      CHECK ( htr_description IS NOT NULL),
2125         CONSTRAINT                      htr_type_NN             CHECK ( htr_type IS NOT NULL),
2126         CONSTRAINT                      htr_obeyLB_NN           CHECK ( htr_obeyLB IS NOT NULL),
2127         CONSTRAINT                      htr_used_NN             CHECK ( htr_used IS NOT NULL)
2128 );
2129 
2130 
2131 -- this table connects the trigger chains with the
2132 -- data stream definitions
2133 -- an M:N connection is needed, since a chain can
2134 -- feet multiple data streams, while a data stream
2135 -- can be fed by multiple chains
2136 
2137 CREATE TABLE hlt_tc_to_tr (
2138         htc2tr_id                       NUMBER(10),
2139         htc2tr_trigger_chain_id         NUMBER(10),
2140         htc2tr_trigger_stream_id        NUMBER(10),
2141         htc2tr_trigger_stream_prescale  VARCHAR2(50),
2142         htc2tr_username                 VARCHAR2(50),
2143         htc2tr_modified_time            TIMESTAMP,
2144         htc2tr_used                     CHAR                    default 0,
2145         CONSTRAINT                      htc2tr_pk               PRIMARY KEY (htc2tr_id),
2146         CONSTRAINT                      htc2tr_fk_tc            FOREIGN KEY (htc2tr_trigger_chain_id)  
2147                                                                 REFERENCES hlt_trigger_chain(htc_id),
2148         CONSTRAINT                      htc2tr_fk_tm            FOREIGN KEY (htc2tr_trigger_stream_id) 
2149                                                                 REFERENCES hlt_trigger_stream(htr_id),
2150         CONSTRAINT                      htc2tr_id_NN            CHECK ( htc2tr_id IS NOT NULL),
2151         CONSTRAINT                      htc2tr_trig_chain_NN    CHECK ( htc2tr_trigger_chain_id IS NOT NULL),
2152         CONSTRAINT                      htc2tr_trig_str_NN      CHECK ( htc2tr_trigger_stream_id IS NOT NULL),
2153         CONSTRAINT                      htc2tr_trig_str_ps_NN   CHECK ( htc2tr_trigger_stream_prescale IS NOT NULL),
2154         CONSTRAINT                      htc2tr_used_id_NN       CHECK ( htc2tr_used IS NOT NULL)
2155 );
2156 CREATE INDEX htc2tr_trigger_chain_id_ind  ON hlt_tc_to_tr(htc2tr_trigger_chain_id);
2157 CREATE INDEX htc2tr_trigger_stream_id_ind ON hlt_tc_to_tr(htc2tr_trigger_stream_id);
2158 
2159 -- one signature has several trigger_elements.
2160 CREATE TABLE hlt_ts_to_te ( 
2161         hts2te_id                       NUMBER(10),
2162         hts2te_trigger_signature_id     NUMBER(10),
2163         hts2te_trigger_element_id       NUMBER(10),
2164         hts2te_element_counter          NUMBER(10),
2165         hts2te_username                 VARCHAR2(50),
2166         hts2te_modified_time            TIMESTAMP,
2167         hts2te_used                     CHAR                    default 0,
2168         CONSTRAINT                      hts2te_pk               PRIMARY KEY (hts2te_id),
2169         CONSTRAINT                      hts2te_fk_ts            FOREIGN KEY (hts2te_trigger_signature_id) 
2170                                                                 REFERENCES hlt_trigger_signature(hts_id),
2171         CONSTRAINT                      hts2te_fk_te            FOREIGN KEY (hts2te_trigger_element_id)
2172                                                                 REFERENCES hlt_trigger_element(hte_id),
2173         CONSTRAINT                      hts2te_id_NN            CHECK ( hts2te_id IS NOT NULL),
2174         CONSTRAINT                      hts2te_trig_sig_id_NN   CHECK ( hts2te_trigger_signature_id IS NOT NULL),
2175         CONSTRAINT                      hts2te_trig_ele_id_NN   CHECK ( hts2te_trigger_element_id IS NOT NULL),
2176         CONSTRAINT                      hts2te_ele_counter_NN   CHECK ( hts2te_element_counter IS NOT NULL),
2177         CONSTRAINT                      hts2te_used_id_NN       CHECK ( hts2te_used IS NOT NULL)
2178 );
2179 CREATE INDEX hts2te_trigr_sig__id_ind ON hlt_ts_to_te(hts2te_trigger_signature_id);
2180 CREATE INDEX hts2te_trigr_ele_id_ind  ON hlt_ts_to_te(hts2te_trigger_element_id);
2181 
2182 -- This table describes the N-N relation between trigger_elements and algorithm component.
2183 CREATE TABLE hlt_te_to_cp (
2184         hte2cp_id                       NUMBER(10),
2185         hte2cp_trigger_element_id       NUMBER(10),
2186         hte2cp_component_id             NUMBER(10),
2187         hte2cp_algorithm_counter        NUMBER(10),
2188         hte2cp_username                 VARCHAR2(30),
2189         hte2cp_modified_time            TIMESTAMP,
2190         hte2cp_used                     CHAR                    default 0,
2191         CONSTRAINT                      hte2cp_pk               PRIMARY KEY (hte2cp_id),
2192         CONSTRAINT                      hte2cp_fk_te            FOREIGN KEY (hte2cp_trigger_element_id) 
2193                                                                 REFERENCES hlt_trigger_element(hte_id),
2194         CONSTRAINT                      hte2cp_fk_cp            FOREIGN KEY (hte2cp_component_id)
2195                                                                 REFERENCES hlt_component(hcp_id),
2196         CONSTRAINT                      hte2cp_id_NN            CHECK ( hte2cp_id IS NOT NULL),
2197         CONSTRAINT                      hte2cp_trig_ele_id_NN   CHECK ( hte2cp_trigger_element_id IS NOT NULL),
2198         CONSTRAINT                      hte2cp_comp_id_NN       CHECK ( hte2cp_component_id IS NOT NULL),
2199         CONSTRAINT                      hte2cp_algo_counter_NN  CHECK ( hte2cp_algorithm_counter IS NOT NULL),
2200         CONSTRAINT                      hte2cp_used_NN          CHECK ( hte2cp_used IS NOT NULL)
2201 );
2202 CREATE INDEX hte2cp_trigger_element_id_ind ON hlt_te_to_cp(hte2cp_trigger_element_id);
2203 CREATE INDEX hte2cp_component_id_ind       ON hlt_te_to_cp(hte2cp_component_id);
2204 
2205 -- This table allows to specify several input trigger elements for an output trigger
2206 -- element produced by a certain algorithm. hte2te_trigger_element_id gives the
2207 -- trigger_element to be produced and hte2te_trigger_element_inp_id gives the input
2208 -- trigger elements. The property of an algorithm to produce multiple trigger_elements
2209 -- can be indicated in the DB by multiple links from one hlt_trigger_signature to the 
2210 -- hlt_trigger_element table. In order to distinguish multiple separate trigger_elements
2211 -- produced in multiple runnings of a algorithm from multiple trigger elements produced
2212 -- by an algorithm in just one running, the hcp_flag attribute in the hlt_component table 
2213 -- must be used (This is a property of the algorithm!).
2214 
2215 CREATE TABLE hlt_te_to_te (
2216         hte2te_id                       NUMBER(10),
2217         hte2te_te_id                    NUMBER(10),
2218         hte2te_te_inp_id                VARCHAR2(100),
2219         hte2te_te_inp_type              VARCHAR2(10),
2220         hte2te_te_counter               NUMBER(3),
2221         hte2te_username                 VARCHAR2(50),
2222         hte2te_modified_time            TIMESTAMP,
2223         hte2te_used                     CHAR                    default 0,
2224         CONSTRAINT                      hte2te_pk               PRIMARY KEY (hte2te_id),
2225         CONSTRAINT                      hte2cte_fk_te           FOREIGN KEY (hte2te_te_id) 
2226                                                                 REFERENCES hlt_trigger_element(hte_id),
2227         CONSTRAINT                      hte2te_id_NN            CHECK ( hte2te_id IS NOT NULL),
2228         CONSTRAINT                      hte2te_te_id_NN         CHECK ( hte2te_te_id IS NOT NULL),
2229         CONSTRAINT                      hte2te_te_inp_id_NN     CHECK ( hte2te_te_inp_id IS NOT NULL),
2230         CONSTRAINT                      hte2te_te_inp_type_NN   CHECK ( hte2te_te_inp_type IS NOT NULL),
2231         CONSTRAINT                      hte2te_te_counter_NN    CHECK ( hte2te_te_counter IS NOT NULL),
2232         CONSTRAINT                      hte2te_used_NN          CHECK ( hte2te_used IS NOT NULL)
2233  );
2234 CREATE INDEX hte2te_te_id_ind ON hlt_te_to_te(hte2te_te_id);
2235 
2236 -- Tables presenting the rules to convert the online setup into an offline
2237 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2238 -- HLT RULES
2239 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2240 
2241 -- this table contains the rule set info
2242 CREATE TABLE HLT_RULE_SET (
2243         hrs_id                          NUMBER(10),
2244         hrs_name                        VARCHAR2(50),
2245         hrs_version                     NUMBER(11),
2246         hrs_username                    VARCHAR2(50),
2247         hrs_modified_time               TIMESTAMP,
2248         hrs_used                        CHAR                    default 0,
2249         CONSTRAINT                      hrs_pk                  PRIMARY KEY (hrs_id),
2250         CONSTRAINT                      hrs_nmver               UNIQUE (hrs_name, hrs_version),
2251         CONSTRAINT                      hrs_id_NN               CHECK ( hrs_id IS NOT NULL),
2252         CONSTRAINT                      hrs_name_NN             CHECK ( hrs_name IS NOT NULL),
2253         CONSTRAINT                      hrs_version_NN          CHECK ( hrs_version IS NOT NULL),
2254         CONSTRAINT                      hrs_used_NN             CHECK ( hrs_used IS NOT NULL)
2255 );
2256 
2257 
2258 -- This table contains the rule info
2259 -- hru_type:
2260 --     1 - Replace
2261 --     2 - Rename
2262 --     3 - Modify
2263 --     4 - Merge
2264 --     5 - Sort
2265 --     6 - Copy
2266 
2267 CREATE TABLE HLT_RULE (
2268         hru_id                          NUMBER(10),
2269         hru_name                        VARCHAR2(50),
2270         hru_version                     NUMBER(11),
2271         hru_type                        NUMBER(1),
2272         hru_username                    VARCHAR2(50),
2273         hru_modified_time               TIMESTAMP,
2274         hru_used                        CHAR                    default 0,
2275         CONSTRAINT                      hru_pk                  PRIMARY KEY (hru_id),
2276         CONSTRAINT                      hru_nmvertp             UNIQUE (hru_name, hru_version, hru_type),
2277         CONSTRAINT                      hru_id_NN               CHECK ( hru_id IS NOT NULL),
2278         CONSTRAINT                      hru_name_NN             CHECK ( hru_name IS NOT NULL),
2279         CONSTRAINT                      hru_version_NN          CHECK ( hru_version IS NOT NULL),
2280         CONSTRAINT                      hru_type_NN             CHECK ( hru_type IS NOT NULL),
2281         CONSTRAINT                      hru_used_NN             CHECK ( hru_used IS NOT NULL)
2282 );
2283 
2284 -- this table contains the rule component
2285 -- the structure of the table is identical to the hlt_component
2286 CREATE TABLE HLT_RULE_COMPONENT (
2287         hrc_id                          NUMBER(10),
2288         hrc_name                        VARCHAR2(200),
2289         hrc_version                     NUMBER(11),
2290         hrc_alias                       VARCHAR2(200),
2291         hrc_type                        VARCHAR2(50),
2292         hrc_py_name                     VARCHAR2(200),
2293         hrc_py_package                  VARCHAR2(200),
2294         hrc_username                    VARCHAR2(50),
2295         hrc_modified_time               TIMESTAMP,
2296         hrc_used                        CHAR                    default 0,
2297         CONSTRAINT                      hrc_pk                  PRIMARY KEY (hrc_id),
2298         CONSTRAINT                      hrc_nmver               UNIQUE (hrc_name, hrc_alias, hrc_version),
2299         CONSTRAINT                      hrc_id_NN               CHECK ( hrc_id IS NOT NULL),
2300         CONSTRAINT                      hrc_name_NN             CHECK ( hrc_name IS NOT NULL),
2301         CONSTRAINT                      hrc_version_NN          CHECK ( hrc_version IS NOT NULL),
2302         CONSTRAINT                      hrc_alias_NN            CHECK ( hrc_alias IS NOT NULL),
2303         CONSTRAINT                      hrc_type_NN             CHECK ( hrc_type IS NOT NULL),
2304         CONSTRAINT                      hrc_py_name_NN          CHECK ( hrc_py_name IS NOT NULL),
2305         CONSTRAINT                      hrc_py_package_NN       CHECK ( hrc_py_package IS NOT NULL),
2306         CONSTRAINT                      hrc_used_NN             CHECK ( hrc_used IS NOT NULL)
2307 );
2308 
2309 -- This table defines rule parameters
2310 -- its structure is identical to the hlt_parameter
2311 CREATE TABLE HLT_RULE_PARAMETER (
2312         hrp_id                          NUMBER(10),
2313         hrp_name                        VARCHAR2(50),
2314         hrp_op                          VARCHAR2(30),
2315         hrp_value                       VARCHAR2(4000),
2316         hrp_username                    VARCHAR2(50),
2317         hrp_modified_time               TIMESTAMP,
2318         hrp_used                        CHAR                    default 0,
2319         CONSTRAINT                      hrp_pk                  PRIMARY KEY (hrp_id),
2320         CONSTRAINT                      hrp_id_NN               CHECK ( hrp_id IS NOT NULL),
2321         CONSTRAINT                      hrp_name_NN             CHECK ( hrp_name IS NOT NULL),
2322         CONSTRAINT                      hrp_op_NN               CHECK ( hrp_op IS NOT NULL),
2323         CONSTRAINT                      hrp_value_NN            CHECK ( hrp_value IS NOT NULL),
2324         CONSTRAINT                      hrp_used_NN             CHECK ( hrp_used IS NOT NULL)
2325 );
2326 
2327 -- ________________________________________________________________________
2328 -- HLT RULES - N:M tables
2329 -- ________________________________________________________________________
2330 
2331 -- This table describes N:M relation between HLT_RELEASE and HLT_RULE_SET
2332 CREATE TABLE HLT_HRE_TO_HRS (
2333         hre2rs_id                       NUMBER(10),
2334         hre2rs_release_id               NUMBER(10),
2335         hre2rs_rule_set_id              NUMBER(10),
2336         hre2rs_username                 VARCHAR2(50),
2337         hre2rs_modified_time            TIMESTAMP,
2338         hre2rs_used                     CHAR                    default 0,
2339         CONSTRAINT                      hre2rs_pk               PRIMARY KEY (hre2rs_id),
2340         CONSTRAINT                      hre2rs_fk_ru            FOREIGN KEY (hre2rs_release_id)   
2341                                                                 REFERENCES HLT_RELEASE(hre_id),
2342         CONSTRAINT                      hre2rs_fk_rs            FOREIGN KEY (hre2rs_rule_set_id)  
2343                                                                 REFERENCES HLT_RULE_SET(hrs_id),
2344         CONSTRAINT                      hre2rs_id_NN            CHECK ( hre2rs_id IS NOT NULL),
2345         CONSTRAINT                      hre2rs_used_NN          CHECK ( hre2rs_used IS NOT NULL)
2346 );
2347 CREATE INDEX hre2rs_release_id_ind  ON HLT_HRE_TO_HRS(hre2rs_release_id);
2348 CREATE INDEX hre2rs_rule_set_id_ind ON HLT_HRE_TO_HRS(hre2rs_rule_set_id);
2349 
2350 
2351 -- This table describes N:M relation between HLT_RULE_SET and HLT_RULE
2352 -- The Rule order matters - hrs2ru_rule_counter states the position of the rule in the XML file
2353 CREATE TABLE HLT_HRS_TO_HRU (
2354         hrs2ru_id                       NUMBER(10),
2355         hrs2ru_rule_set_id              NUMBER(10),
2356         hrs2ru_rule_id                  NUMBER(10),
2357         hrs2ru_rule_counter             NUMBER(10),
2358         hrs2ru_username                 VARCHAR2(50),
2359         hrs2ru_modified_time            TIMESTAMP,
2360         hrs2ru_used                     CHAR                    default 0,
2361         CONSTRAINT                      hrs2ru_pk               PRIMARY KEY (hrs2ru_id),
2362         CONSTRAINT                      hrs2ru_fk_rs            FOREIGN KEY (hrs2ru_rule_set_id)  
2363                                                                 REFERENCES HLT_RULE_SET(hrs_id),
2364         CONSTRAINT                      hrs2ru_fk_ru            FOREIGN KEY (hrs2ru_rule_id) 
2365                                                                 REFERENCES HLT_RULE(hru_id),
2366         CONSTRAINT                      hrs2ru_id_NN            CHECK ( hrs2ru_id IS NOT NULL),
2367         CONSTRAINT                      hrs2ru_rule_counter_NN  CHECK ( hrs2ru_rule_counter IS NOT NULL),
2368         CONSTRAINT                      hrs2ru_used_NN          CHECK ( hrs2ru_used IS NOT NULL)
2369 );
2370 CREATE INDEX hrs2ru_rule_id_ind     ON HLT_HRS_TO_HRU(hrs2ru_rule_id);
2371 CREATE INDEX hrs2ru_rule_set_id_ind ON HLT_HRS_TO_HRU(hrs2ru_rule_set_id);
2372 
2373 
2374 -- This table describes N:M relation between HLT_RULE and HLT_RULE_COMPONENT
2375 -- hrs2rc_component_type: 0 - unasigned (used for Merge and Sort rules), 1 - online component, 2 - offline component
2376 CREATE TABLE HLT_HRU_TO_HRC (
2377         hru2rc_id                       NUMBER(10),   
2378         hru2rc_rule_id                  NUMBER(10),
2379         hru2rc_component_id             NUMBER(10),
2380         hru2rc_component_type           NUMBER(1),
2381         hru2rc_username                 VARCHAR2(50),
2382         hru2rc_modified_time            TIMESTAMP,
2383         hru2rc_used                     CHAR                    default 0,
2384         CONSTRAINT                      hru2rc_pk               PRIMARY KEY (hru2rc_id),
2385         CONSTRAINT                      hru2rc_fk_ru            FOREIGN KEY (hru2rc_rule_id)
2386                                                                 REFERENCES HLT_RULE(hru_id),
2387         CONSTRAINT                      hru2rc_fk_rc            FOREIGN KEY (hru2rc_component_id) 
2388                                                                 REFERENCES HLT_RULE_COMPONENT(hrc_id),
2389         CONSTRAINT                      hru2rc_rurcct           UNIQUE (hru2rc_rule_id, hru2rc_component_id, hru2rc_component_type),
2390         CONSTRAINT                      hru2rc_id_NN            CHECK ( hru2rc_id IS NOT NULL),
2391         CONSTRAINT                      hru2rc_used_NN          CHECK ( hru2rc_used IS NOT NULL)
2392 );
2393 CREATE INDEX hru2rc_rule_id_ind ON HLT_HRU_TO_HRC(hru2rc_rule_id);
2394 CREATE INDEX hru2rc_component_id_ind ON HLT_HRU_TO_HRC(hru2rc_component_id);
2395 
2396 
2397 -- This table describes N:M relation between HLT_RULE_COMPONENT and HLT_RULE_PARAMETER
2398 -- identical structure to HLT_CP_TO_PA
2399 CREATE TABLE HLT_HRC_TO_HRP (
2400         hrc2rp_id                       NUMBER(10),
2401         hrc2rp_component_id             NUMBER(10),
2402         hrc2rp_parameter_id             NUMBER(10),
2403         hrc2rp_username                 VARCHAR2(50),
2404         hrc2rp_modified_time            TIMESTAMP,
2405         hrc2rp_used                     CHAR                    default 0,
2406         CONSTRAINT                      hrc2rp_pk               PRIMARY KEY (hrc2rp_id),
2407         CONSTRAINT                      hrc2rp_fk_rc            FOREIGN KEY (hrc2rp_component_id) 
2408                                                                 REFERENCES HLT_RULE_COMPONENT(hrc_id),
2409         CONSTRAINT                      hrc2rp_fk_rp            FOREIGN KEY (hrc2rp_parameter_id) 
2410                                                                 REFERENCES HLT_RULE_PARAMETER(hrp_id),
2411         CONSTRAINT                      hrc2rp_id_NN            CHECK ( hrc2rp_id IS NOT NULL),
2412         CONSTRAINT                      hrc2rp_used_NN          CHECK ( hrc2rp_used IS NOT NULL)
2413 );
2414 CREATE INDEX hrc2rp_component_id_ind ON HLT_HRC_TO_HRP(hrc2rp_component_id);
2415 CREATE INDEX hrc2rp_parameter_id_ind ON HLT_HRC_TO_HRP(hrc2rp_parameter_id);
2416 
2417 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2418 -- MASTER TABLE
2419 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2420 
2421 -- This table is the HLT mastertable, which defines via a `masterkey' (hmt_id)
2422 -- which binds all component to have a complete HLT configuration
2423 CREATE TABLE hlt_master_table (
2424         hmt_id                          NUMBER(10),
2425         hmt_name                        VARCHAR2(50),
2426         hmt_version                     NUMBER(11),
2427         hmt_comment                     VARCHAR2(200)   ,
2428         hmt_trigger_menu_id             NUMBER(10),
2429         hmt_l2_setup_id                 NUMBER(10),
2430         hmt_ef_setup_id                 NUMBER(10),
2431         hmt_forced_setup_id             NUMBER(10),
2432         hmt_username                    VARCHAR2(50),
2433         hmt_modified_time               TIMESTAMP,
2434         hmt_status                      NUMBER(2),
2435         hmt_used                        CHAR                    default 0,
2436         CONSTRAINT                      hmt_pk                  PRIMARY KEY (hmt_id),
2437         CONSTRAINT                      hmt_fk_tm               FOREIGN KEY (hmt_trigger_menu_id)
2438                                                                 REFERENCES hlt_trigger_menu(htm_id),
2439         CONSTRAINT                      hmt_fk_l2st             FOREIGN KEY (hmt_l2_setup_id) 
2440                                                                 REFERENCES hlt_setup(hst_id),
2441         CONSTRAINT                      hmt_fk_efst             FOREIGN KEY (hmt_ef_setup_id) 
2442                                                                 REFERENCES hlt_setup(hst_id),
2443         CONSTRAINT                      hmt_nmver               UNIQUE (hmt_name, hmt_version),
2444         CONSTRAINT                      hmt_id_NN               CHECK ( hmt_id IS NOT NULL),
2445         CONSTRAINT                      hmt_name_NN             CHECK ( hmt_name IS NOT NULL),
2446         CONSTRAINT                      hmt_version_NN          CHECK ( hmt_version IS NOT NULL),
2447         CONSTRAINT                      hmt_status_NN           CHECK ( hmt_status IS NOT NULL),
2448         CONSTRAINT                      hmt_used_NN             CHECK ( hmt_used IS NOT NULL)
2449 );
2450 CREATE INDEX hmt_trigger_menu_id_ind ON hlt_master_table(hmt_trigger_menu_id);
2451 CREATE INDEX hmt_l2_setup_id_ind     ON hlt_master_table(hmt_l2_setup_id);
2452 CREATE INDEX hmt_ef_setup_id_ind     ON hlt_master_table(hmt_ef_setup_id);
2453 
2454 
2455 --This table binds the LVL1 configuration and the HLT configuration to a single key.
2456 
2457 CREATE TABLE super_master_table (
2458         smt_id                          NUMBER(10),
2459         smt_name                        VARCHAR2(50),
2460         smt_version                     NUMBER(11),
2461         smt_comment                     VARCHAR2(200),
2462         smt_origin                      VARCHAR2(50),
2463         smt_parent_history_key          NUMBER(10),
2464         smt_l1_master_table_id          NUMBER(10),
2465         smt_hlt_master_table_id         NUMBER(10),
2466         smt_username                    VARCHAR2(50),
2467         smt_modified_time               TIMESTAMP,
2468         smt_status                      NUMBER(2),
2469         smt_used                        CHAR                    default 0,
2470         CONSTRAINT                      smt_pk                  PRIMARY KEY (smt_id),
2471         CONSTRAINT                      smt_fk_l1mt             FOREIGN KEY (smt_l1_master_table_id)
2472                                                                 REFERENCES l1_master_table(l1mt_id),
2473         CONSTRAINT                      smt_fk_hmt              FOREIGN KEY (smt_hlt_master_table_id)
2474                                                                 REFERENCES hlt_master_table(hmt_id),
2475         CONSTRAINT                      smt_nmver               UNIQUE (smt_name, smt_version),
2476         CONSTRAINT                      smt_id_NN               CHECK ( smt_id IS NOT NULL),
2477         CONSTRAINT                      smt_name_NN             CHECK ( smt_name IS NOT NULL),
2478         CONSTRAINT                      smt_version_NN          CHECK ( smt_version IS NOT NULL),
2479         CONSTRAINT                      smt_l1_master_id_NN     CHECK ( smt_l1_master_table_id IS NOT NULL),
2480         CONSTRAINT                      smt_hlt_master_id_NN    CHECK ( smt_hlt_master_table_id IS NOT NULL),
2481         CONSTRAINT                      smt_status_NN           CHECK ( smt_status IS NOT NULL),
2482         CONSTRAINT                      smt_used_NN             CHECK ( smt_used IS NOT NULL)
2483 );
2484 CREATE INDEX smt_l1_master_id_ind  ON super_master_table(smt_l1_master_table_id);
2485 CREATE INDEX smt_hlt_master_id_ind ON super_master_table(smt_hlt_master_table_id);
2486 
2487 
2488 -- Extra link table to relate release table to the supermaster table (one SMkey can work with many releases) 
2489 CREATE TABLE HLT_SMT_TO_HRE (
2490         smt2re_id                       NUMBER(10),
2491         smt2re_super_master_table_id    NUMBER(10),
2492         smt2re_release_id               NUMBER(10),
2493         smt2re_username                 VARCHAR2(50),
2494         smt2re_modified_time            TIMESTAMP,
2495         smt2re_used                     CHAR                    default 0,
2496         CONSTRAINT                      smt2re_pk               PRIMARY KEY (smt2re_id),
2497         CONSTRAINT                      smt2re_fk_smt           FOREIGN KEY (smt2re_super_master_table_id)  
2498                                                                 REFERENCES SUPER_MASTER_TABLE(smt_id),
2499         CONSTRAINT                      smt2re_fk_re            FOREIGN KEY (smt2re_release_id)             
2500                                                                 REFERENCES HLT_RELEASE(hre_id),
2501         CONSTRAINT                      smt2re_id_NN            CHECK ( smt2re_id IS NOT NULL),
2502         CONSTRAINT                      smt2re_used_NN          CHECK ( smt2re_used IS NOT NULL)
2503 );
2504 CREATE INDEX smt2re_smt_id_ind ON HLT_SMT_TO_HRE(smt2re_super_master_table_id);
2505 CREATE INDEX smt2re_rel_id_ind ON HLT_SMT_TO_HRE(smt2re_release_id);
2506 
2507 CREATE TABLE trigger_next_run (
2508         tnr_id                          NUMBER(10),
2509         tnr_super_master_table_id       NUMBER(10),
2510         tnr_username                    VARCHAR2(50),
2511         tnr_modified_time               TIMESTAMP,
2512         tnr_used                        CHAR                    default 0,
2513         CONSTRAINT                      tnr_pk                  PRIMARY KEY (tnr_id),
2514         CONSTRAINT                      tnr_fk_smt              FOREIGN KEY (tnr_super_master_table_id)
2515                                                                 REFERENCES super_master_table(smt_id),
2516         CONSTRAINT                      tnr_id_NN               CHECK ( tnr_id IS NOT NULL),
2517         CONSTRAINT                      tnr_super_master_id_NN  CHECK ( tnr_super_master_table_id IS NOT NULL),
2518         CONSTRAINT                      tnr_used_NN             CHECK ( tnr_used IS NOT NULL)
2519 );              
2520 CREATE INDEX tnr_super_master_table_id_ind ON trigger_next_run(tnr_super_master_table_id);
2521 
2522 
2523 CREATE TABLE trigger_log (
2524         tlog_username                   VARCHAR2(50),
2525         tlog_short                      VARCHAR2(200),
2526         tlog_message                    VARCHAR2(2000),
2527         tlog_modified_time              TIMESTAMP
2528 );
2529 
2530 commit;
2531 
2532 --really these are part of the schema, so should go here
2533 INSERT INTO l1_random_rates VALUES(0,"157.2 kHz",INSERTTIME);
2534 INSERT INTO l1_random_rates VALUES(1,"78.4 kHz",INSERTTIME);
2535 INSERT INTO l1_random_rates VALUES(2,"39.2 kHz",INSERTTIME);
2536 INSERT INTO l1_random_rates VALUES(3,"19.6 kHz",INSERTTIME);
2537 INSERT INTO l1_random_rates VALUES(4,"9.8 kHz",INSERTTIME);
2538 INSERT INTO l1_random_rates VALUES(5,"4.9 kHz",INSERTTIME);
2539 INSERT INTO l1_random_rates VALUES(6,"2.4 kHz",INSERTTIME);
2540 INSERT INTO l1_random_rates VALUES(7,"1.2 kHz",INSERTTIME);
2541 INSERT INTO l1_random_rates VALUES(8,"610 Hz",INSERTTIME);
2542 INSERT INTO l1_random_rates VALUES(9,"310 Hz",INSERTTIME);
2543 INSERT INTO l1_random_rates VALUES(10,"150 Hz",INSERTTIME);
2544 INSERT INTO l1_random_rates VALUES(11,"76.4 Hz",INSERTTIME);
2545 INSERT INTO l1_random_rates VALUES(12,"38.2 Hz",INSERTTIME);
2546 INSERT INTO l1_random_rates VALUES(13,"19.1 Hz",INSERTTIME);
2547 INSERT INTO l1_random_rates VALUES(14,"9.6 Hz",INSERTTIME);
2548 INSERT INTO l1_random_rates VALUES(15,"4.8 Hz",INSERTTIME);
2549 INSERT INTO l1_random_rates VALUES(16,"2.4 Hz",INSERTTIME);
2550 INSERT INTO l1_random_rates VALUES(17,"1.2 Hz",INSERTTIME);
2551 INSERT INTO l1_random_rates VALUES(18,"0.60 Hz",INSERTTIME);
2552 INSERT INTO l1_random_rates VALUES(19,"0.30 Hz",INSERTTIME);
2553 INSERT INTO l1_random_rates VALUES(20,"0.15 Hz",INSERTTIME);
2554 INSERT INTO l1_random_rates VALUES(21,"0.07 Hz",INSERTTIME);
2555 
2556 commit;

source navigation ] diff markup ] identifier search ] general search ]

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. Valid HTML 4.01!