@@ -148,7 +163,6 @@ CREATE VIEW samples_deleted AS
WHEREdel_idISNOTNULL;
-- Recreate rules
CREATEORREPLACERULEmaterial_properties_updateAS
ONUPDATETOmaterial_properties
WHERE(OLD.VALUEISNOTNULLANDdecode(replace(substring(OLD.valuefrom1for1),'\', '\\'), 'escape') != E'\\xefbfbd' AND OLD.VALUE != NEW.VALUE)
...
...
@@ -176,7 +190,7 @@ CREATE OR REPLACE RULE material_properties_update AS
OLD.MODIFICATION_TIMESTAMP,
NEW.MODIFICATION_TIMESTAMP
);
CREATE OR REPLACE RULE material_properties_delete AS
ON DELETE TO material_properties
WHERE (OLD.VALUE IS NOT NULL AND decode(replace(substring(OLD.value from 1 for 1), '\', '\\'), 'escape') != E'\\xefbfbd')
...
...
@@ -204,8 +218,6 @@ CREATE OR REPLACE RULE material_properties_delete AS
OLD.MODIFICATION_TIMESTAMP,
current_timestamp
);
-- Experiment Properties --
CREATE OR REPLACE RULE experiment_properties_update AS
ON UPDATE TO experiment_properties
...
...
@@ -262,8 +274,6 @@ CREATE OR REPLACE RULE experiment_properties_delete AS
OLD.MODIFICATION_TIMESTAMP,
current_timestamp
);
-- Sample Properties --
CREATE OR REPLACE RULE sample_properties_update AS
ON UPDATE TO sample_properties
...
...
@@ -321,8 +331,6 @@ CREATE OR REPLACE RULE sample_properties_delete AS
OLD.MODIFICATION_TIMESTAMP,
current_timestamp
);
-- Data Set Properties --
CREATE OR REPLACE RULE data_set_properties_update AS
ON UPDATE TO data_set_properties
...
...
@@ -381,8 +389,6 @@ CREATE OR REPLACE RULE data_set_properties_delete AS
current_timestamp
);
-- sample -> experiment
CREATE OR REPLACE RULE sample_experiment_update AS
ON UPDATE TO samples_all
WHERE (OLD.EXPE_ID != NEW.EXPE_ID OR OLD.EXPE_ID IS NULL) AND NEW.EXPE_ID IS NOT NULL
...
...
@@ -484,8 +490,6 @@ CREATE OR REPLACE RULE sample_experiment_delete AS
UPDATE EXPERIMENT_RELATIONSHIPS_HISTORY SET VALID_UNTIL_TIMESTAMP = current_timestamp
WHERE MAIN_EXPE_ID = OLD.EXPE_ID AND SAMP_ID = OLD.ID AND VALID_UNTIL_TIMESTAMP IS NULL;
-- container samples
CREATE OR REPLACE RULE sample_container_update AS
ON UPDATE TO samples_all
WHERE (OLD.SAMP_ID_PART_OF != NEW.SAMP_ID_PART_OF OR OLD.SAMP_ID_PART_OF IS NULL) AND NEW.SAMP_ID_PART_OF IS NOT NULL
...
...
@@ -585,8 +589,6 @@ CREATE OR REPLACE RULE sample_container_delete AS
UPDATE SAMPLE_RELATIONSHIPS_HISTORY SET VALID_UNTIL_TIMESTAMP = current_timestamp
WHERE MAIN_SAMP_ID = OLD.SAMP_ID_PART_OF AND SAMP_ID = OLD.ID AND VALID_UNTIL_TIMESTAMP IS NULL AND RELATION_TYPE = 'CONTAINER';
-- dataset -> eperiment
CREATE OR REPLACE RULE dataset_experiment_update AS
ON UPDATE TO data_all
WHERE (OLD.EXPE_ID != NEW.EXPE_ID OR OLD.SAMP_ID IS NOT NULL) AND NEW.SAMP_ID IS NULL
...
...
@@ -688,8 +690,6 @@ CREATE OR REPLACE RULE dataset_experiment_delete AS
UPDATE EXPERIMENT_RELATIONSHIPS_HISTORY SET VALID_UNTIL_TIMESTAMP = current_timestamp
WHERE MAIN_EXPE_ID = OLD.EXPE_ID AND DATA_ID = OLD.ID AND VALID_UNTIL_TIMESTAMP IS NULL;
-- dataset -> sample
CREATE OR REPLACE RULE dataset_sample_update AS
ON UPDATE TO data_all
WHERE (OLD.SAMP_ID != NEW.SAMP_ID OR OLD.SAMP_ID IS NULL) AND NEW.SAMP_ID IS NOT NULL
...
...
@@ -791,8 +791,6 @@ CREATE OR REPLACE RULE dataset_sample_delete AS
UPDATE SAMPLE_RELATIONSHIPS_HISTORY SET VALID_UNTIL_TIMESTAMP = current_timestamp
WHERE MAIN_SAMP_ID = OLD.SAMP_ID AND DATA_ID = OLD.ID AND VALID_UNTIL_TIMESTAMP IS NULL;
-- data set relationship
CREATE OR REPLACE RULE data_relationship_insert AS
ON INSERT TO data_set_relationships_all
WHERE NEW.DEL_ID IS NULL
...
...
@@ -1062,8 +1060,6 @@ CREATE OR REPLACE RULE sample_parent_child_revert_update AS
);
);
-- experiment -> project
CREATE OR REPLACE RULE experiment_project_update AS
ON UPDATE TO experiments_all
WHERE (OLD.PROJ_ID != NEW.PROJ_ID OR OLD.PROJ_ID IS NULL) AND NEW.PROJ_ID IS NOT NULL
...
...
@@ -1165,8 +1161,6 @@ CREATE OR REPLACE RULE experiment_project_delete AS
UPDATE PROJECT_RELATIONSHIPS_HISTORY SET VALID_UNTIL_TIMESTAMP = current_timestamp
WHERE MAIN_PROJ_ID = OLD.PROJ_ID AND EXPE_ID = OLD.ID AND VALID_UNTIL_TIMESTAMP IS NULL;
-- project -> space
CREATE OR REPLACE RULE project_space_update AS
ON UPDATE TO projects
WHERE (OLD.SPACE_ID != NEW.SPACE_ID OR OLD.SPACE_ID IS NULL) AND NEW.SPACE_ID IS NOT NULL
...
...
@@ -1223,8 +1217,6 @@ CREATE OR REPLACE RULE project_space_insert AS
);
);
-- sample -> project
CREATE OR REPLACE RULE sample_project_update AS
ON UPDATE TO samples_all
WHERE (OLD.PROJ_ID != NEW.PROJ_ID OR OLD.PROJ_ID IS NULL OR OLD.EXPE_ID IS NOT NULL) AND NEW.PROJ_ID IS NOT NULL AND NEW.EXPE_ID IS NULL
...
...
@@ -1281,8 +1273,6 @@ CREATE OR REPLACE RULE sample_project_insert AS
);
);
-- sample -> project
CREATE OR REPLACE RULE sample_space_update AS
ON UPDATE TO samples_all
WHERE (OLD.SPACE_ID != NEW.SPACE_ID OR OLD.SPACE_ID IS NULL OR OLD.EXPE_ID IS NOT NULL OR OLD.PROJ_ID IS NOT NULL) AND NEW.SPACE_ID IS NOT NULL AND NEW.EXPE_ID IS NULL AND NEW.PROJ_ID IS NULL
...
...
@@ -1339,3 +1329,231 @@ CREATE OR REPLACE RULE sample_space_insert AS