-- $Id$ -- $HeadURL$ -- $Author$ ------------------------------------------------------------------------- -- INFO: Table aes_explosion_single (AES) -- PROJECT: Guez -- DATE: 2023-07-31 -- VERSION: 2.55 ------------------------------------------------------------------------- -- GLOBAL: NONE; BEGIN; COMMIT; -- EXERCISE: ALL; BEGIN; DROP VIEW IF EXISTS aes_explosion_single_view; DROP VIEW IF EXISTS aes_explosion_single_central_view; ALTER TABLE IF EXISTS aes_explosion_single DROP CONSTRAINT IF EXISTS PK_aes_explosion_single_id CASCADE; ALTER TABLE IF EXISTS aes_explosion_single DROP CONSTRAINT IF EXISTS FK_aes_explosion_single_explosion_id_aes_explosion_id CASCADE; ALTER TABLE IF EXISTS aes_explosion_single_central DROP CONSTRAINT IF EXISTS PK_aes_explosion_single_central_id CASCADE; ALTER TABLE IF EXISTS aes_explosion_single_central DROP CONSTRAINT IF EXISTS FK_aes_explosion_single_central_explosion_single_id_aes_explosi CASCADE; ALTER TABLE IF EXISTS aes_explosion_single_central DROP CONSTRAINT IF EXISTS FK_aes_explosion_single_central_fuse_type_id_aes_fuse_type_id CASCADE; ALTER TABLE IF EXISTS rec_explosion_single DROP CONSTRAINT IF EXISTS PK_rec_explosion_single_rec_id CASCADE; ALTER TABLE IF EXISTS rec_explosion_single DROP CONSTRAINT IF EXISTS IDX_rec_explosion_single_sample_time CASCADE; ALTER TABLE IF EXISTS rec_explosion_single_central DROP CONSTRAINT IF EXISTS PK_rec_explosion_single_central_rec_id CASCADE; ALTER TABLE IF EXISTS rec_explosion_single_central DROP CONSTRAINT IF EXISTS IDX_rec_explosion_single_central_sample_time CASCADE; DROP TABLE IF EXISTS aes_explosion_single CASCADE; DROP TABLE IF EXISTS aes_explosion_single_central CASCADE; DROP TABLE IF EXISTS rec_explosion_single CASCADE; DROP TABLE IF EXISTS rec_explosion_single_central CASCADE; CREATE TABLE IF NOT EXISTS aes_explosion_single ( id integer DEFAULT nextval(( 'aes_explosion_single_id_seq'::text)::regclass), explosion_id integer ); CREATE TABLE IF NOT EXISTS aes_explosion_single_central ( id integer DEFAULT nextval(( 'aes_explosion_single_central_id_seq'::text)::regclass), explosion_single_id integer, angle double precision, fuse_type_id integer ); CREATE TABLE IF NOT EXISTS rec_explosion_single ( id integer, name text, is_deleted boolean, is_used boolean, sample_time bigint, charge_type_id integer, effect_duration integer, effect_start bigint, effect_state_id integer, party_id integer, participant_id integer, effect_marking_in_ta boolean, external_id bigint, is_central boolean, impact_position_lon double precision, impact_position_lat double precision, fire_request_time bigint, altitude integer, purpose text, rec_id bigint DEFAULT nextval(( 'rec_explosion_single_rec_id_seq'::text)::regclass), dds_is_alive boolean DEFAULT true, insert_time bigint DEFAULT (extract(epoch from now()) * 1000) ); COMMENT ON TABLE rec_explosion_single IS 'recorded data for topic ExplosionSingle'; CREATE TABLE IF NOT EXISTS rec_explosion_single_central ( id integer, name text, is_deleted boolean, is_used boolean, sample_time bigint, charge_type_id integer, effect_duration integer, effect_start bigint, effect_state_id integer, party_id integer, participant_id integer, effect_marking_in_ta boolean, external_id bigint, is_central boolean, impact_position_lon double precision, impact_position_lat double precision, fire_request_time bigint, altitude integer, purpose text, angle double precision, fuse_type integer, rec_id bigint DEFAULT nextval(( 'rec_explosion_single_central_rec_id_seq'::text)::regclass), dds_is_alive boolean DEFAULT true, insert_time bigint DEFAULT (extract(epoch from now()) * 1000) ); COMMENT ON TABLE rec_explosion_single_central IS 'recorded data for topic ExplosionSingleCentral'; CREATE SEQUENCE IF NOT EXISTS aes_explosion_single_id_seq INCREMENT 1 START 1 MINVALUE 1; CREATE SEQUENCE IF NOT EXISTS aes_explosion_single_central_id_seq INCREMENT 1 START 1 MINVALUE 1; CREATE SEQUENCE IF NOT EXISTS rec_explosion_single_rec_id_seq INCREMENT 1 START 1 MINVALUE 1; CREATE SEQUENCE IF NOT EXISTS rec_explosion_single_central_rec_id_seq INCREMENT 1 START 1 MINVALUE 1; ALTER TABLE IF EXISTS aes_explosion_single ADD CONSTRAINT PK_aes_explosion_single_id PRIMARY KEY (id); ALTER TABLE IF EXISTS aes_explosion_single_central ADD CONSTRAINT PK_aes_explosion_single_central_id PRIMARY KEY (id); ALTER TABLE IF EXISTS rec_explosion_single ADD CONSTRAINT PK_rec_explosion_single_rec_id PRIMARY KEY (rec_id); ALTER TABLE IF EXISTS rec_explosion_single_central ADD CONSTRAINT PK_rec_explosion_single_central_rec_id PRIMARY KEY (rec_id); ALTER TABLE aes_explosion_single ADD CONSTRAINT FK_aes_explosion_single_explosion_id_aes_explosion_id FOREIGN KEY (explosion_id) REFERENCES aes_explosion (id) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE aes_explosion_single_central ADD CONSTRAINT FK_aes_explosion_single_central_explosion_single_id_aes_explosi FOREIGN KEY (explosion_single_id) REFERENCES aes_explosion_single (id) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE aes_explosion_single_central ADD CONSTRAINT FK_aes_explosion_single_central_fuse_type_id_aes_fuse_type_id FOREIGN KEY (fuse_type_id) REFERENCES aes_fuse_type (id) ON DELETE CASCADE ON UPDATE CASCADE; CREATE OR REPLACE VIEW aes_explosion_single_view AS SELECT aes_entity.id AS id, aes_entity.charge_type_id AS charge_type_id, aes_entity.effect_state_id AS effect_state_id, aes_entity.party_id AS party_id, aes_entity.participant_id AS participant_id, aes_entity.effect_duration AS effect_duration, aes_entity.effect_start AS effect_start, aes_entity.name AS name, aes_entity.effect_marking_in_ta AS effect_marking_in_ta, aes_entity.external_id AS external_id, aes_entity.is_central AS is_central, aes_explosion.entity_id AS entity_id, aes_explosion.impact_position_x AS impact_position_x, aes_explosion.impact_position_y AS impact_position_y, aes_explosion.rotation_angle AS rotation_angle, aes_explosion.fire_purpose AS fire_purpose, aes_explosion.fire_request_time AS fire_request_time, aes_explosion.altitude AS altitude, aes_explosion_single.explosion_id AS explosion_id, aes_explosion_single.id AS aes_explosion_single_id FROM aes_explosion_single, aes_entity, aes_explosion WHERE aes_entity.id = aes_explosion.entity_id AND aes_explosion.id = aes_explosion_single.explosion_id; CREATE OR REPLACE VIEW aes_explosion_single_central_view AS SELECT aes_entity.id AS id, aes_entity.charge_type_id AS charge_type_id, aes_entity.effect_state_id AS effect_state_id, aes_entity.party_id AS party_id, aes_entity.participant_id AS participant_id, aes_entity.effect_duration AS effect_duration, aes_entity.effect_start AS effect_start, aes_entity.name AS name, aes_entity.effect_marking_in_ta AS effect_marking_in_ta, aes_entity.external_id AS external_id, aes_entity.is_central AS is_central, aes_explosion.entity_id AS entity_id, aes_explosion.impact_position_x AS impact_position_x, aes_explosion.impact_position_y AS impact_position_y, aes_explosion.rotation_angle AS rotation_angle, aes_explosion.fire_purpose AS fire_purpose, aes_explosion.fire_request_time AS fire_request_time, aes_explosion.altitude AS altitude, aes_explosion_single.explosion_id AS explosion_id, aes_explosion_single_central.explosion_single_id AS explosion_single_id, aes_explosion_single_central.angle AS angle, aes_explosion_single_central.fuse_type_id AS fuse_type_id, aes_explosion_single_central.id AS aes_explosion_single_central_id FROM aes_explosion_single_central, aes_entity, aes_explosion, aes_explosion_single WHERE aes_entity.id = aes_explosion.entity_id AND aes_explosion.id = aes_explosion_single.explosion_id AND aes_explosion_single.id = aes_explosion_single_central.explosion_single_id; CREATE INDEX IDX_rec_explosion_single_sample_time ON rec_explosion_single (sample_time); CREATE INDEX IDX_rec_explosion_single_central_sample_time ON rec_explosion_single_central (sample_time); COMMIT;