diff --git a/openbis/source/sql/postgresql/083/function-083.sql b/openbis/source/sql/postgresql/083/function-083.sql index b3659b6545c7c119123ddfa4cc010c765abfc601..2339d18956436d9ca0cee3cd64729dbfff46b760 100644 --- a/openbis/source/sql/postgresql/083/function-083.sql +++ b/openbis/source/sql/postgresql/083/function-083.sql @@ -685,6 +685,26 @@ CREATE OR REPLACE RULE material_properties_update AS current_timestamp ); +CREATE OR REPLACE RULE material_properties_delete AS + ON DELETE TO material_properties DO ALSO + INSERT INTO material_properties_history ( + ID, + MATE_ID, + MTPT_ID, + VALUE, + CVTE_ID, + MATE_PROP_ID, + VALID_UNTIL_TIMESTAMP + ) VALUES ( + nextval('MATERIAL_PROPERTY_ID_SEQ'), + OLD.MATE_ID, + OLD.MTPT_ID, + OLD.VALUE, + OLD.CVTE_ID, + OLD.MATE_PROP_ID, + current_timestamp + ); + -- Experiment Properties -- CREATE OR REPLACE RULE experiment_properties_update AS @@ -707,6 +727,26 @@ CREATE OR REPLACE RULE experiment_properties_update AS current_timestamp ); +CREATE OR REPLACE RULE experiment_properties_delete AS + ON DELETE TO experiment_properties DO ALSO + INSERT INTO experiment_properties_history ( + ID, + EXPE_ID, + ETPT_ID, + VALUE, + CVTE_ID, + MATE_PROP_ID, + VALID_UNTIL_TIMESTAMP + ) VALUES ( + nextval('EXPERIMENT_PROPERTY_ID_SEQ'), + OLD.EXPE_ID, + OLD.ETPT_ID, + OLD.VALUE, + OLD.CVTE_ID, + OLD.MATE_PROP_ID, + current_timestamp + ); + -- Sample Properties -- CREATE OR REPLACE RULE sample_properties_update AS @@ -729,6 +769,26 @@ CREATE OR REPLACE RULE sample_properties_update AS current_timestamp ); +CREATE OR REPLACE RULE sample_properties_delete AS + ON DELETE TO sample_properties DO ALSO + INSERT INTO sample_properties_history ( + ID, + SAMP_ID, + STPT_ID, + VALUE, + CVTE_ID, + MATE_PROP_ID, + VALID_UNTIL_TIMESTAMP + ) VALUES ( + nextval('SAMPLE_PROPERTY_ID_SEQ'), + OLD.SAMP_ID, + OLD.STPT_ID, + OLD.VALUE, + OLD.CVTE_ID, + OLD.MATE_PROP_ID, + current_timestamp + ); + -- Data Set Properties -- CREATE OR REPLACE RULE data_set_properties_update AS @@ -750,4 +810,23 @@ CREATE OR REPLACE RULE data_set_properties_update AS OLD.MATE_PROP_ID, current_timestamp ); - + +CREATE OR REPLACE RULE data_set_properties_delete AS + ON DELETE TO data_set_properties DO ALSO + INSERT INTO data_set_properties_history ( + ID, + DS_ID, + DSTPT_ID, + VALUE, + CVTE_ID, + MATE_PROP_ID, + VALID_UNTIL_TIMESTAMP + ) VALUES ( + nextval('DATA_SET_PROPERTY_ID_SEQ'), + OLD.DS_ID, + OLD.DSTPT_ID, + OLD.VALUE, + OLD.CVTE_ID, + OLD.MATE_PROP_ID, + current_timestamp + ); diff --git a/openbis/source/sql/postgresql/migration/migration-082-083.sql b/openbis/source/sql/postgresql/migration/migration-082-083.sql index 5fb69df1ddb5985b796d8c6c6f9faa2bcdc5fade..2c856aff29e9b03ad01b0ce5f35062e64bf7e3db 100644 --- a/openbis/source/sql/postgresql/migration/migration-082-083.sql +++ b/openbis/source/sql/postgresql/migration/migration-082-083.sql @@ -107,6 +107,26 @@ CREATE OR REPLACE RULE material_properties_update AS current_timestamp ); +CREATE OR REPLACE RULE material_properties_delete AS + ON DELETE TO material_properties DO ALSO + INSERT INTO material_properties_history ( + ID, + MATE_ID, + MTPT_ID, + VALUE, + CVTE_ID, + MATE_PROP_ID, + VALID_UNTIL_TIMESTAMP + ) VALUES ( + nextval('MATERIAL_PROPERTY_ID_SEQ'), + OLD.MATE_ID, + OLD.MTPT_ID, + OLD.VALUE, + OLD.CVTE_ID, + OLD.MATE_PROP_ID, + current_timestamp + ); + -- Experiment Properties -- CREATE OR REPLACE RULE experiment_properties_update AS @@ -129,6 +149,26 @@ CREATE OR REPLACE RULE experiment_properties_update AS current_timestamp ); +CREATE OR REPLACE RULE experiment_properties_delete AS + ON DELETE TO experiment_properties DO ALSO + INSERT INTO experiment_properties_history ( + ID, + EXPE_ID, + ETPT_ID, + VALUE, + CVTE_ID, + MATE_PROP_ID, + VALID_UNTIL_TIMESTAMP + ) VALUES ( + nextval('EXPERIMENT_PROPERTY_ID_SEQ'), + OLD.EXPE_ID, + OLD.ETPT_ID, + OLD.VALUE, + OLD.CVTE_ID, + OLD.MATE_PROP_ID, + current_timestamp + ); + -- Sample Properties -- CREATE OR REPLACE RULE sample_properties_update AS @@ -151,6 +191,26 @@ CREATE OR REPLACE RULE sample_properties_update AS current_timestamp ); +CREATE OR REPLACE RULE sample_properties_delete AS + ON DELETE TO sample_properties DO ALSO + INSERT INTO sample_properties_history ( + ID, + SAMP_ID, + STPT_ID, + VALUE, + CVTE_ID, + MATE_PROP_ID, + VALID_UNTIL_TIMESTAMP + ) VALUES ( + nextval('SAMPLE_PROPERTY_ID_SEQ'), + OLD.SAMP_ID, + OLD.STPT_ID, + OLD.VALUE, + OLD.CVTE_ID, + OLD.MATE_PROP_ID, + current_timestamp + ); + -- Data Set Properties -- CREATE OR REPLACE RULE data_set_properties_update AS @@ -172,6 +232,26 @@ CREATE OR REPLACE RULE data_set_properties_update AS OLD.MATE_PROP_ID, current_timestamp ); + +CREATE OR REPLACE RULE data_set_properties_delete AS + ON DELETE TO data_set_properties DO ALSO + INSERT INTO data_set_properties_history ( + ID, + DS_ID, + DSTPT_ID, + VALUE, + CVTE_ID, + MATE_PROP_ID, + VALID_UNTIL_TIMESTAMP + ) VALUES ( + nextval('DATA_SET_PROPERTY_ID_SEQ'), + OLD.DS_ID, + OLD.DSTPT_ID, + OLD.VALUE, + OLD.CVTE_ID, + OLD.MATE_PROP_ID, + current_timestamp + ); GRANT SELECT ON TABLE material_properties_history TO GROUP OPENBIS_READONLY; GRANT SELECT ON TABLE experiment_properties_history TO GROUP OPENBIS_READONLY; diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/BatchMaterialRegistrationAndUpdateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/BatchMaterialRegistrationAndUpdateTest.java index 0f9b502ffbf6140592d5832180080d2b9c1ec2d1..ae129392cd36719dbeee46f814ef222685821b79 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/BatchMaterialRegistrationAndUpdateTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/BatchMaterialRegistrationAndUpdateTest.java @@ -148,7 +148,8 @@ public class BatchMaterialRegistrationAndUpdateTest extends SystemTestCase updateMaterials("code\tdescription\tgender\tbacterium\n" + "c2\t--DELETE--\tfemale\tbacterium2\n", MATERIAL_TYPE, false); - assertEquals("[BACTERIUM: material:34, BACTERIUM: material:35, GENDER: term:11]", + assertEquals( + "[BACTERIUM: material:34, BACTERIUM: material:35, DESCRIPTION: compound 2, GENDER: term:11]", getMaterialPropertiesHistory(getMaterialOrNull("C2").getId()).toString()); deleteTestMaterials(); } diff --git a/openbis/sourceTest/sql/postgresql/083/018=database_version_logs.tsv b/openbis/sourceTest/sql/postgresql/083/018=database_version_logs.tsv index 76c156caa8b028a17cd859c478771db0b46b0bb2..803d92068b8dbd5536cfd5298e5f2d819e389139 100644 --- a/openbis/sourceTest/sql/postgresql/083/018=database_version_logs.tsv +++ b/openbis/sourceTest/sql/postgresql/083/018=database_version_logs.tsv @@ -56,4 +56,4 @@ 080 source/sql/postgresql/migration/migration-079-080.sql SUCCESS 2011-08-29 15:24:01.827 \\x2d2d204d6967726174696f6e2066726f6d2030373920746f203038300a414c544552205441424c45204558504552494d454e545f545950455f50524f50455254595f54595045532041444420434f4c554d4e2049535f53484f574e5f4544495420424f4f4c45414e5f43484152204e4f54204e554c4c2044454641554c54202754273b0a414c544552205441424c45204d4154455249414c5f545950455f50524f50455254595f54595045532041444420434f4c554d4e2049535f53484f574e5f4544495420424f4f4c45414e5f43484152204e4f54204e554c4c2044454641554c54202754273b0a414c544552205441424c452053414d504c455f545950455f50524f50455254595f54595045532041444420434f4c554d4e2049535f53484f574e5f4544495420424f4f4c45414e5f43484152204e4f54204e554c4c2044454641554c54202754273b0a414c544552205441424c4520444154415f5345545f545950455f50524f50455254595f54595045532041444420434f4c554d4e2049535f53484f574e5f4544495420424f4f4c45414e5f43484152204e4f54204e554c4c2044454641554c54202754273b0a0a555044415445204558504552494d454e545f545950455f50524f50455254595f5459504553205345542049535f53484f574e5f454449543d274627205748455245207363726970745f6964204953204e4f54204e554c4c3b0a555044415445204d4154455249414c5f545950455f50524f50455254595f5459504553205345542049535f53484f574e5f454449543d274627205748455245207363726970745f6964204953204e4f54204e554c4c3b0a5550444154452053414d504c455f545950455f50524f50455254595f5459504553205345542049535f53484f574e5f454449543d274627205748455245207363726970745f6964204953204e4f54204e554c4c3b0a55504441544520444154415f5345545f545950455f50524f50455254595f5459504553205345542049535f53484f574e5f454449543d274627205748455245207363726970745f6964204953204e4f54204e554c4c3b0a \N 081 source/sql/postgresql/migration/migration-080-081.sql SUCCESS 2011-09-02 15:13:28.074 \\x2d2d204d6967726174696f6e2066726f6d2030383020746f203038310a0a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a2d2d20505552504f53453a20496e74726f6475636520766965777320746f2061766f69642068696265726e6174652070726f626c656d73207768656e206c6f6164696e672072656c6174696f6e736869707320666f72200a2d2d2064656c6574656420656e7469746965732e200a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a2d2d20646174615f7365745f72656c6174696f6e73686970730a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a414c544552205441424c4520646174615f7365745f72656c6174696f6e73686970732052454e414d4520544f20646174615f7365745f72656c6174696f6e73686970735f616c6c3b0a0a435245415445205649455720646174615f7365745f72656c6174696f6e73686970732041530a20202053454c45435420646174615f69645f706172656e742c20646174615f69645f6368696c64200a20202046524f4d20646174615f7365745f72656c6174696f6e73686970735f616c6c200a20202020204a4f494e20646174615f616c6c20706172656e74204f4e20646174615f69645f706172656e74203d20706172656e742e696420200a20202020204a4f494e20646174615f616c6c206368696c64204f4e20646174615f69645f6368696c64203d206368696c642e6964200a202020574845524520706172656e742e64656c5f6964204953204e554c4c20616e64206368696c642e64656c5f6964206973204e554c4c3b0a2020200a4752414e542053454c454354204f4e20646174615f7365745f72656c6174696f6e736869707320544f2047524f5550206f70656e6269735f726561646f6e6c793b0a0a435245415445204f52205245504c4143452052554c4520646174615f7365745f72656c6174696f6e73686970735f696e736572742041530a202020204f4e20494e5345525420544f20646174615f7365745f72656c6174696f6e736869707320444f20494e5354454144200a20202020202020494e5345525420494e544f20646174615f7365745f72656c6174696f6e73686970735f616c6c20280a202020202020202020646174615f69645f706172656e742c200a202020202020202020646174615f69645f6368696c64200a20202020202020292056414c55455320280a2020202020202020204e45572e646174615f69645f706172656e742c200a2020202020202020204e45572e646174615f69645f6368696c64200a20202020202020293b0a20202020200a435245415445204f52205245504c4143452052554c4520646174615f7365745f72656c6174696f6e73686970735f64656c6574652041530a202020204f4e2044454c45544520544f20646174615f7365745f72656c6174696f6e736869707320444f20494e53544541440a2020202020202044454c4554452046524f4d20646174615f7365745f72656c6174696f6e73686970735f616c6c0a2020202020202020202020202020574845524520646174615f69645f706172656e74203d204f4c442e646174615f69645f706172656e7420616e6420646174615f69645f6368696c64203d204f4c442e646174615f69645f6368696c643b0a0a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a2d2d2073616d706c655f72656c6174696f6e73686970730a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a414c544552205441424c452073616d706c655f72656c6174696f6e73686970732052454e414d4520544f2073616d706c655f72656c6174696f6e73686970735f616c6c3b0a0a43524541544520564945572073616d706c655f72656c6174696f6e73686970732041530a20202053454c45435420732e69642061732069642c2073616d706c655f69645f706172656e742c2072656c6174696f6e736869705f69642c2073616d706c655f69645f6368696c64200a20202046524f4d2073616d706c655f72656c6174696f6e73686970735f616c6c20730a20202020204a4f494e2073616d706c65735f616c6c20706172656e74204f4e2073616d706c655f69645f706172656e74203d20706172656e742e696420200a20202020204a4f494e2073616d706c65735f616c6c206368696c64204f4e2073616d706c655f69645f6368696c64203d206368696c642e6964200a202020574845524520706172656e742e64656c5f6964204953204e554c4c20616e64206368696c642e64656c5f6964206973204e554c4c3b0a2020200a4752414e542053454c454354204f4e2073616d706c655f72656c6174696f6e736869707320544f2047524f5550206f70656e6269735f726561646f6e6c793b0a0a435245415445204f52205245504c4143452052554c452073616d706c655f72656c6174696f6e73686970735f696e736572742041530a202020204f4e20494e5345525420544f2073616d706c655f72656c6174696f6e736869707320444f20494e5354454144200a20202020202020494e5345525420494e544f2073616d706c655f72656c6174696f6e73686970735f616c6c20280a20202020202020202069642c200a20202020202020202073616d706c655f69645f706172656e742c200a20202020202020202072656c6174696f6e736869705f69642c200a20202020202020202073616d706c655f69645f6368696c640a20202020202020292056414c55455320280a2020202020202020204e45572e69642c200a2020202020202020204e45572e73616d706c655f69645f706172656e742c200a2020202020202020204e45572e72656c6174696f6e736869705f69642c200a2020202020202020204e45572e73616d706c655f69645f6368696c640a20202020202020293b0a202020202020200a435245415445204f52205245504c4143452052554c452073616d706c655f72656c6174696f6e73686970735f7570646174652041530a202020204f4e2055504441544520544f2073616d706c655f72656c6174696f6e736869707320444f20494e5354454144200a202020202020205550444154452073616d706c655f72656c6174696f6e73686970735f616c6c0a20202020202020202020534554200a09090920202020202073616d706c655f69645f706172656e74203d204e45572e73616d706c655f69645f706172656e742c200a09090920202020202072656c6174696f6e736869705f6964203d204e45572e72656c6174696f6e736869705f69642c200a09090920202020202073616d706c655f69645f6368696c64203d204e45572e73616d706c655f69645f6368696c640a202020202020202020205748455245206964203d204e45572e69643b0a20202020200a435245415445204f52205245504c4143452052554c452073616d706c655f72656c6174696f6e73686970735f64656c6574652041530a202020204f4e2044454c45544520544f2073616d706c655f72656c6174696f6e736869707320444f20494e53544541440a2020202020202044454c4554452046524f4d2073616d706c655f72656c6174696f6e73686970735f616c6c0a20202020202020202020202020205748455245206964203d204f4c442e69643b0a20202020202020202020202020200a \N 082 source/sql/postgresql/migration/migration-081-082.sql SUCCESS 2011-09-19 11:19:33.552 \\x2d2d204d6967726174696f6e2066726f6d2030383120746f203038320a0a64656c6574652066726f6d20646174615f73746f72657320776865726520636f6465203d20275354414e444152442720616e64206964206e6f7420696e202873656c6563742064697374696e637420646173745f69642066726f6d2064617461290a \N -083 source/sql/postgresql/migration/migration-082-083.sql SUCCESS 2011-09-22 16:22:29.219 \\x2d2d204d6967726174696f6e2066726f6d2030383220746f203038330a0a2d2d20496e20736f6d6520696e7374616c6c6174696f6e7320747269676765722073616d706c655f737562636f64655f756e697175656e6573735f636865636b20646f6573206e6f74206578697374730a2d2d205468697320666978657320746869732070726f626c656d0a44524f502054524947474552204946204558495354532053414d504c455f535542434f44455f554e495155454e4553535f434845434b204f4e2053414d504c45535f414c4c3b0a43524541544520545249474745522053414d504c455f535542434f44455f554e495155454e4553535f434845434b204245464f524520494e53455254204f5220555044415445204f4e2053414d504c45535f414c4c0a20202020464f52204541434820524f5720455845435554452050524f4345445552452053414d504c455f535542434f44455f554e495155454e4553535f434845434b28293b0a0a2d2d0a2d2d2052656e616d696e67202a5f50524f50455254494553207461626c657320696e746f202a5f50524f504552544945535f414c4c207461626c65730a2d2d20416464696e6720636f6c756d6e2056414c49445f554e54494c5f54494d455354414d500a2d2d204372656174696e67207669657773202a5f50524f50455254494553206f6e202a5f50524f504552544945535f414c4c2073686f77696e67206f6e6c7920726f77732077697468206e6f2056414c49445f554e54494c5f54494d455354414d50207365740a2d2d0a0a435245415445205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592028494420544543485f4944204e4f54204e554c4c2c204d4154455f494420544543485f4944204e4f54204e554c4c2c204d5450545f494420544543485f4944204e4f54204e554c4c2c2056414c554520544558545f56414c55452c20435654455f494420544543485f49442c204d4154455f50524f505f494420544543485f49442c2056414c49445f554e54494c5f54494d455354414d502054494d455f5354414d502044454641554c542043555252454e545f54494d455354414d50293b0a435245415445205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592028494420544543485f4944204e4f54204e554c4c2c20455850455f494420544543485f4944204e4f54204e554c4c2c20455450545f494420544543485f4944204e4f54204e554c4c2c2056414c554520544558545f56414c55452c20435654455f494420544543485f49442c204d4154455f50524f505f494420544543485f49442c2056414c49445f554e54494c5f54494d455354414d502054494d455f5354414d502044454641554c542043555252454e545f54494d455354414d50293b0a435245415445205441424c452053414d504c455f50524f504552544945535f484953544f52592028494420544543485f4944204e4f54204e554c4c2c2053414d505f494420544543485f4944204e4f54204e554c4c2c20535450545f494420544543485f4944204e4f54204e554c4c2c2056414c554520544558545f56414c55452c20435654455f494420544543485f49442c204d4154455f50524f505f494420544543485f49442c2056414c49445f554e54494c5f54494d455354414d502054494d455f5354414d502044454641554c542043555252454e545f54494d455354414d50293b0a435245415445205441424c4520444154415f5345545f50524f504552544945535f484953544f52592028494420544543485f4944204e4f54204e554c4c2c2044535f494420544543485f4944204e4f54204e554c4c2c2044535450545f494420544543485f4944204e4f54204e554c4c2c2056414c554520544558545f56414c55452c20435654455f494420544543485f49442c204d4154455f50524f505f494420544543485f49442c2056414c49445f554e54494c5f54494d455354414d502054494d455f5354414d502044454641554c542043555252454e545f54494d455354414d50293b0a0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f504b205052494d415259204b4559284944293b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f504b205052494d415259204b4559284944293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f504b205052494d415259204b4559284944293b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f504b205052494d415259204b4559284944293b0a0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f435654455f464b20464f524549474e204b45592028435654455f494429205245464552454e43455320434f4e54524f4c4c45445f564f434142554c4152595f5445524d53284944293b0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f4d4150525f464b20464f524549474e204b455920284d4154455f50524f505f494429205245464552454e434553204d4154455249414c53284944293b0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f4d4154455f464b20464f524549474e204b455920284d4154455f494429205245464552454e434553204d4154455249414c5328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f4d5450545f464b20464f524549474e204b455920284d5450545f494429205245464552454e434553204d4154455249414c5f545950455f50524f50455254595f545950455328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f435654455f464b20464f524549474e204b45592028435654455f494429205245464552454e43455320434f4e54524f4c4c45445f564f434142554c4152595f5445524d53284944293b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f455450545f464b20464f524549474e204b45592028455450545f494429205245464552454e434553204558504552494d454e545f545950455f50524f50455254595f545950455328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f455850455f464b20464f524549474e204b45592028455850455f494429205245464552454e434553204558504552494d454e54535f414c4c28494429204f4e2044454c45544520434153434144453b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f4d4150525f464b20464f524549474e204b455920284d4154455f50524f505f494429205245464552454e434553204d4154455249414c53284944293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f435654455f464b20464f524549474e204b45592028435654455f494429205245464552454e43455320434f4e54524f4c4c45445f564f434142554c4152595f5445524d53284944293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f4d4150525f464b20464f524549474e204b455920284d4154455f50524f505f494429205245464552454e434553204d4154455249414c53284944293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f53414d505f464b20464f524549474e204b4559202853414d505f494429205245464552454e4345532053414d504c45535f414c4c28494429204f4e2044454c45544520434153434144453b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f535450545f464b20464f524549474e204b45592028535450545f494429205245464552454e4345532053414d504c455f545950455f50524f50455254595f545950455328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f435654455f464b20464f524549474e204b45592028435654455f494429205245464552454e43455320434f4e54524f4c4c45445f564f434142554c4152595f5445524d53284944293b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f44535450545f464b20464f524549474e204b4559202844535450545f494429205245464552454e43455320444154415f5345545f545950455f50524f50455254595f545950455328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f44535f464b20464f524549474e204b4559202844535f494429205245464552454e43455320444154415f414c4c28494429204f4e2044454c45544520434153434144453b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f4d4150525f464b20464f524549474e204b455920284d4154455f50524f505f494429205245464552454e434553204d4154455249414c53284944293b0a0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f434b20434845434b200a09282856414c5545204953204e4f54204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f52200a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e4f54204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f520a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e4f54204e554c4c290a09293b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f434b20434845434b200a09282856414c5545204953204e4f54204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f52200a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e4f54204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f520a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e4f54204e554c4c290a09293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f434b20434845434b200a09282856414c5545204953204e4f54204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f52200a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e4f54204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f520a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e4f54204e554c4c290a09293b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f434b20434845434b200a09282856414c5545204953204e4f54204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f52200a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e4f54204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f520a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e4f54204e554c4c290a09293b0a0a43524541544520494e444558204d415052485f435654455f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f52592028435654455f4944293b0a43524541544520494e444558204d415052485f455450545f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f525920284d5450545f4944293b0a43524541544520494e444558204d415052485f455850455f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f525920284d4154455f4944293b0a43524541544520494e444558204d415052485f4d4150525f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f525920284d4154455f50524f505f4944293b0a43524541544520494e444558204d415052485f565554535f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f5259202856414c49445f554e54494c5f54494d455354414d50293b0a43524541544520494e4445582045585052485f435654455f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f52592028435654455f4944293b0a43524541544520494e4445582045585052485f455450545f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f52592028455450545f4944293b0a43524541544520494e4445582045585052485f455850455f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f52592028455850455f4944293b0a43524541544520494e4445582045585052485f4d4150525f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f525920284d4154455f50524f505f4944293b0a43524541544520494e4445582045585052485f565554535f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f5259202856414c49445f554e54494c5f54494d455354414d50293b0a43524541544520494e4445582053415052485f435654455f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f52592028435654455f4944293b0a43524541544520494e4445582053415052485f455450545f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f52592028535450545f4944293b0a43524541544520494e4445582053415052485f455850455f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f5259202853414d505f4944293b0a43524541544520494e4445582053415052485f4d4150525f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f525920284d4154455f50524f505f4944293b0a43524541544520494e4445582053415052485f565554535f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f5259202856414c49445f554e54494c5f54494d455354414d50293b0a43524541544520494e4445582044535052485f435654455f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f52592028435654455f4944293b0a43524541544520494e4445582044535052485f455450545f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f5259202844535450545f4944293b0a43524541544520494e4445582044535052485f455850455f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f5259202844535f4944293b0a43524541544520494e4445582044535052485f4d4150525f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f525920284d4154455f50524f505f4944293b0a43524541544520494e4445582044535052485f565554535f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f5259202856414c49445f554e54494c5f54494d455354414d50293b0a0a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a2d2d2052756c657320666f722070726f7065727469657320686973746f72790a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a2d2d204d6174657269616c2050726f70657274696573202d2d0a0a435245415445204f52205245504c4143452052554c45206d6174657269616c5f70726f706572746965735f7570646174652041530a202020204f4e2055504441544520544f206d6174657269616c5f70726f7065727469657320444f20414c534f200a20202020202020494e5345525420494e544f206d6174657269616c5f70726f706572746965735f686973746f727920280a20202020202020202049442c200a2020202020202020204d4154455f49442c200a2020202020202020204d5450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c28274d4154455249414c5f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e4d4154455f49442c200a2020202020202020204f4c442e4d5450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a2d2d204578706572696d656e742050726f70657274696573202d2d0a0a435245415445204f52205245504c4143452052554c45206578706572696d656e745f70726f706572746965735f7570646174652041530a202020204f4e2055504441544520544f206578706572696d656e745f70726f7065727469657320444f20414c534f200a20202020202020494e5345525420494e544f206578706572696d656e745f70726f706572746965735f686973746f727920280a20202020202020202049442c200a202020202020202020455850455f49442c0a202020202020202020455450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c28274558504552494d454e545f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e455850455f49442c200a2020202020202020204f4c442e455450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a2d2d2053616d706c652050726f70657274696573202d2d0a0a435245415445204f52205245504c4143452052554c452073616d706c655f70726f706572746965735f7570646174652041530a202020204f4e2055504441544520544f2073616d706c655f70726f7065727469657320444f20414c534f0a20202020202020494e5345525420494e544f2073616d706c655f70726f706572746965735f686973746f727920280a20202020202020202049442c200a20202020202020202053414d505f49442c0a202020202020202020535450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c282753414d504c455f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e53414d505f49442c200a2020202020202020204f4c442e535450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a2d2d2044617461205365742050726f70657274696573202d2d0a0a435245415445204f52205245504c4143452052554c4520646174615f7365745f70726f706572746965735f7570646174652041530a202020204f4e2055504441544520544f20646174615f7365745f70726f7065727469657320444f20414c534f0a20202020202020494e5345525420494e544f20646174615f7365745f70726f706572746965735f686973746f727920280a20202020202020202049442c200a20202020202020202044535f49442c0a20202020202020202044535450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c2827444154415f5345545f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e44535f49442c200a2020202020202020204f4c442e44535450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a4752414e542053454c454354204f4e205441424c45206d6174657269616c5f70726f706572746965735f686973746f727920544f2047524f5550204f50454e4249535f524541444f4e4c593b0a4752414e542053454c454354204f4e205441424c45206578706572696d656e745f70726f706572746965735f686973746f727920544f2047524f5550204f50454e4249535f524541444f4e4c593b0a4752414e542053454c454354204f4e205441424c452073616d706c655f70726f706572746965735f686973746f727920544f2047524f5550204f50454e4249535f524541444f4e4c593b0a4752414e542053454c454354204f4e205441424c4520646174615f7365745f70726f706572746965735f686973746f727920544f2047524f5550204f50454e4249535f524541444f4e4c593b0a202020202020200a \N +083 source/sql/postgresql/migration/migration-082-083.sql SUCCESS 2011-09-27 10:25:16.609 \\x2d2d204d6967726174696f6e2066726f6d2030383220746f203038330a0a2d2d20496e20736f6d6520696e7374616c6c6174696f6e7320747269676765722073616d706c655f737562636f64655f756e697175656e6573735f636865636b20646f6573206e6f74206578697374730a2d2d205468697320666978657320746869732070726f626c656d0a44524f502054524947474552204946204558495354532053414d504c455f535542434f44455f554e495155454e4553535f434845434b204f4e2053414d504c45535f414c4c3b0a43524541544520545249474745522053414d504c455f535542434f44455f554e495155454e4553535f434845434b204245464f524520494e53455254204f5220555044415445204f4e2053414d504c45535f414c4c0a20202020464f52204541434820524f5720455845435554452050524f4345445552452053414d504c455f535542434f44455f554e495155454e4553535f434845434b28293b0a0a2d2d0a2d2d2052656e616d696e67202a5f50524f50455254494553207461626c657320696e746f202a5f50524f504552544945535f414c4c207461626c65730a2d2d20416464696e6720636f6c756d6e2056414c49445f554e54494c5f54494d455354414d500a2d2d204372656174696e67207669657773202a5f50524f50455254494553206f6e202a5f50524f504552544945535f414c4c2073686f77696e67206f6e6c7920726f77732077697468206e6f2056414c49445f554e54494c5f54494d455354414d50207365740a2d2d0a0a435245415445205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592028494420544543485f4944204e4f54204e554c4c2c204d4154455f494420544543485f4944204e4f54204e554c4c2c204d5450545f494420544543485f4944204e4f54204e554c4c2c2056414c554520544558545f56414c55452c20435654455f494420544543485f49442c204d4154455f50524f505f494420544543485f49442c2056414c49445f554e54494c5f54494d455354414d502054494d455f5354414d502044454641554c542043555252454e545f54494d455354414d50293b0a435245415445205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592028494420544543485f4944204e4f54204e554c4c2c20455850455f494420544543485f4944204e4f54204e554c4c2c20455450545f494420544543485f4944204e4f54204e554c4c2c2056414c554520544558545f56414c55452c20435654455f494420544543485f49442c204d4154455f50524f505f494420544543485f49442c2056414c49445f554e54494c5f54494d455354414d502054494d455f5354414d502044454641554c542043555252454e545f54494d455354414d50293b0a435245415445205441424c452053414d504c455f50524f504552544945535f484953544f52592028494420544543485f4944204e4f54204e554c4c2c2053414d505f494420544543485f4944204e4f54204e554c4c2c20535450545f494420544543485f4944204e4f54204e554c4c2c2056414c554520544558545f56414c55452c20435654455f494420544543485f49442c204d4154455f50524f505f494420544543485f49442c2056414c49445f554e54494c5f54494d455354414d502054494d455f5354414d502044454641554c542043555252454e545f54494d455354414d50293b0a435245415445205441424c4520444154415f5345545f50524f504552544945535f484953544f52592028494420544543485f4944204e4f54204e554c4c2c2044535f494420544543485f4944204e4f54204e554c4c2c2044535450545f494420544543485f4944204e4f54204e554c4c2c2056414c554520544558545f56414c55452c20435654455f494420544543485f49442c204d4154455f50524f505f494420544543485f49442c2056414c49445f554e54494c5f54494d455354414d502054494d455f5354414d502044454641554c542043555252454e545f54494d455354414d50293b0a0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f504b205052494d415259204b4559284944293b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f504b205052494d415259204b4559284944293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f504b205052494d415259204b4559284944293b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f504b205052494d415259204b4559284944293b0a0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f435654455f464b20464f524549474e204b45592028435654455f494429205245464552454e43455320434f4e54524f4c4c45445f564f434142554c4152595f5445524d53284944293b0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f4d4150525f464b20464f524549474e204b455920284d4154455f50524f505f494429205245464552454e434553204d4154455249414c53284944293b0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f4d4154455f464b20464f524549474e204b455920284d4154455f494429205245464552454e434553204d4154455249414c5328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f4d5450545f464b20464f524549474e204b455920284d5450545f494429205245464552454e434553204d4154455249414c5f545950455f50524f50455254595f545950455328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f435654455f464b20464f524549474e204b45592028435654455f494429205245464552454e43455320434f4e54524f4c4c45445f564f434142554c4152595f5445524d53284944293b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f455450545f464b20464f524549474e204b45592028455450545f494429205245464552454e434553204558504552494d454e545f545950455f50524f50455254595f545950455328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f455850455f464b20464f524549474e204b45592028455850455f494429205245464552454e434553204558504552494d454e54535f414c4c28494429204f4e2044454c45544520434153434144453b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f4d4150525f464b20464f524549474e204b455920284d4154455f50524f505f494429205245464552454e434553204d4154455249414c53284944293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f435654455f464b20464f524549474e204b45592028435654455f494429205245464552454e43455320434f4e54524f4c4c45445f564f434142554c4152595f5445524d53284944293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f4d4150525f464b20464f524549474e204b455920284d4154455f50524f505f494429205245464552454e434553204d4154455249414c53284944293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f53414d505f464b20464f524549474e204b4559202853414d505f494429205245464552454e4345532053414d504c45535f414c4c28494429204f4e2044454c45544520434153434144453b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f535450545f464b20464f524549474e204b45592028535450545f494429205245464552454e4345532053414d504c455f545950455f50524f50455254595f545950455328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f435654455f464b20464f524549474e204b45592028435654455f494429205245464552454e43455320434f4e54524f4c4c45445f564f434142554c4152595f5445524d53284944293b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f44535450545f464b20464f524549474e204b4559202844535450545f494429205245464552454e43455320444154415f5345545f545950455f50524f50455254595f545950455328494429204f4e2044454c45544520434153434144453b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f44535f464b20464f524549474e204b4559202844535f494429205245464552454e43455320444154415f414c4c28494429204f4e2044454c45544520434153434144453b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f4d4150525f464b20464f524549474e204b455920284d4154455f50524f505f494429205245464552454e434553204d4154455249414c53284944293b0a0a414c544552205441424c45204d4154455249414c5f50524f504552544945535f484953544f52592041444420434f4e53545241494e54204d415052485f434b20434845434b200a09282856414c5545204953204e4f54204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f52200a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e4f54204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f520a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e4f54204e554c4c290a09293b0a414c544552205441424c45204558504552494d454e545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542045585052485f434b20434845434b200a09282856414c5545204953204e4f54204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f52200a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e4f54204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f520a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e4f54204e554c4c290a09293b0a414c544552205441424c452053414d504c455f50524f504552544945535f484953544f52592041444420434f4e53545241494e542053415052485f434b20434845434b200a09282856414c5545204953204e4f54204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f52200a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e4f54204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f520a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e4f54204e554c4c290a09293b0a414c544552205441424c4520444154415f5345545f50524f504552544945535f484953544f52592041444420434f4e53545241494e542044535052485f434b20434845434b200a09282856414c5545204953204e4f54204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f52200a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e4f54204e554c4c20414e44204d4154455f50524f505f4944204953204e554c4c29204f520a09202856414c5545204953204e554c4c20414e4420435654455f4944204953204e554c4c20414e44204d4154455f50524f505f4944204953204e4f54204e554c4c290a09293b0a0a43524541544520494e444558204d415052485f435654455f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f52592028435654455f4944293b0a43524541544520494e444558204d415052485f455450545f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f525920284d5450545f4944293b0a43524541544520494e444558204d415052485f455850455f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f525920284d4154455f4944293b0a43524541544520494e444558204d415052485f4d4150525f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f525920284d4154455f50524f505f4944293b0a43524541544520494e444558204d415052485f565554535f464b5f49204f4e204d4154455249414c5f50524f504552544945535f484953544f5259202856414c49445f554e54494c5f54494d455354414d50293b0a43524541544520494e4445582045585052485f435654455f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f52592028435654455f4944293b0a43524541544520494e4445582045585052485f455450545f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f52592028455450545f4944293b0a43524541544520494e4445582045585052485f455850455f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f52592028455850455f4944293b0a43524541544520494e4445582045585052485f4d4150525f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f525920284d4154455f50524f505f4944293b0a43524541544520494e4445582045585052485f565554535f464b5f49204f4e204558504552494d454e545f50524f504552544945535f484953544f5259202856414c49445f554e54494c5f54494d455354414d50293b0a43524541544520494e4445582053415052485f435654455f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f52592028435654455f4944293b0a43524541544520494e4445582053415052485f455450545f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f52592028535450545f4944293b0a43524541544520494e4445582053415052485f455850455f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f5259202853414d505f4944293b0a43524541544520494e4445582053415052485f4d4150525f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f525920284d4154455f50524f505f4944293b0a43524541544520494e4445582053415052485f565554535f464b5f49204f4e2053414d504c455f50524f504552544945535f484953544f5259202856414c49445f554e54494c5f54494d455354414d50293b0a43524541544520494e4445582044535052485f435654455f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f52592028435654455f4944293b0a43524541544520494e4445582044535052485f455450545f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f5259202844535450545f4944293b0a43524541544520494e4445582044535052485f455850455f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f5259202844535f4944293b0a43524541544520494e4445582044535052485f4d4150525f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f525920284d4154455f50524f505f4944293b0a43524541544520494e4445582044535052485f565554535f464b5f49204f4e20444154415f5345545f50524f504552544945535f484953544f5259202856414c49445f554e54494c5f54494d455354414d50293b0a0a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a2d2d2052756c657320666f722070726f7065727469657320686973746f72790a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a2d2d204d6174657269616c2050726f70657274696573202d2d0a0a435245415445204f52205245504c4143452052554c45206d6174657269616c5f70726f706572746965735f7570646174652041530a202020204f4e2055504441544520544f206d6174657269616c5f70726f7065727469657320444f20414c534f200a20202020202020494e5345525420494e544f206d6174657269616c5f70726f706572746965735f686973746f727920280a20202020202020202049442c200a2020202020202020204d4154455f49442c200a2020202020202020204d5450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c28274d4154455249414c5f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e4d4154455f49442c200a2020202020202020204f4c442e4d5450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a435245415445204f52205245504c4143452052554c45206d6174657269616c5f70726f706572746965735f64656c6574652041530a202020204f4e2044454c45544520544f206d6174657269616c5f70726f7065727469657320444f20414c534f200a20202020202020494e5345525420494e544f206d6174657269616c5f70726f706572746965735f686973746f727920280a20202020202020202049442c200a2020202020202020204d4154455f49442c200a2020202020202020204d5450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c28274d4154455249414c5f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e4d4154455f49442c200a2020202020202020204f4c442e4d5450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a2d2d204578706572696d656e742050726f70657274696573202d2d0a0a435245415445204f52205245504c4143452052554c45206578706572696d656e745f70726f706572746965735f7570646174652041530a202020204f4e2055504441544520544f206578706572696d656e745f70726f7065727469657320444f20414c534f200a20202020202020494e5345525420494e544f206578706572696d656e745f70726f706572746965735f686973746f727920280a20202020202020202049442c200a202020202020202020455850455f49442c0a202020202020202020455450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c28274558504552494d454e545f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e455850455f49442c200a2020202020202020204f4c442e455450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a435245415445204f52205245504c4143452052554c45206578706572696d656e745f70726f706572746965735f64656c6574652041530a202020204f4e2044454c45544520544f206578706572696d656e745f70726f7065727469657320444f20414c534f200a20202020202020494e5345525420494e544f206578706572696d656e745f70726f706572746965735f686973746f727920280a20202020202020202049442c200a202020202020202020455850455f49442c0a202020202020202020455450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c28274558504552494d454e545f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e455850455f49442c200a2020202020202020204f4c442e455450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a2d2d2053616d706c652050726f70657274696573202d2d0a0a435245415445204f52205245504c4143452052554c452073616d706c655f70726f706572746965735f7570646174652041530a202020204f4e2055504441544520544f2073616d706c655f70726f7065727469657320444f20414c534f0a20202020202020494e5345525420494e544f2073616d706c655f70726f706572746965735f686973746f727920280a20202020202020202049442c200a20202020202020202053414d505f49442c0a202020202020202020535450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c282753414d504c455f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e53414d505f49442c200a2020202020202020204f4c442e535450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a435245415445204f52205245504c4143452052554c452073616d706c655f70726f706572746965735f64656c6574652041530a202020204f4e2044454c45544520544f2073616d706c655f70726f7065727469657320444f20414c534f0a20202020202020494e5345525420494e544f2073616d706c655f70726f706572746965735f686973746f727920280a20202020202020202049442c200a20202020202020202053414d505f49442c0a202020202020202020535450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c282753414d504c455f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e53414d505f49442c200a2020202020202020204f4c442e535450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a2d2d2044617461205365742050726f70657274696573202d2d0a0a435245415445204f52205245504c4143452052554c4520646174615f7365745f70726f706572746965735f7570646174652041530a202020204f4e2055504441544520544f20646174615f7365745f70726f7065727469657320444f20414c534f0a20202020202020494e5345525420494e544f20646174615f7365745f70726f706572746965735f686973746f727920280a20202020202020202049442c200a20202020202020202044535f49442c0a20202020202020202044535450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c2827444154415f5345545f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e44535f49442c200a2020202020202020204f4c442e44535450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a0a435245415445204f52205245504c4143452052554c4520646174615f7365745f70726f706572746965735f64656c6574652041530a202020204f4e2044454c45544520544f20646174615f7365745f70726f7065727469657320444f20414c534f0a20202020202020494e5345525420494e544f20646174615f7365745f70726f706572746965735f686973746f727920280a20202020202020202049442c200a20202020202020202044535f49442c0a20202020202020202044535450545f49442c200a20202020202020202056414c55452c200a202020202020202020435654455f49442c200a2020202020202020204d4154455f50524f505f49442c200a20202020202020202056414c49445f554e54494c5f54494d455354414d50200a20202020202020292056414c55455320280a2020202020202020206e65787476616c2827444154415f5345545f50524f50455254595f49445f53455127292c200a2020202020202020204f4c442e44535f49442c200a2020202020202020204f4c442e44535450545f49442c200a2020202020202020204f4c442e56414c55452c200a2020202020202020204f4c442e435654455f49442c200a2020202020202020204f4c442e4d4154455f50524f505f49442c200a20202020202020202063757272656e745f74696d657374616d700a20202020202020293b0a202020202020200a4752414e542053454c454354204f4e205441424c45206d6174657269616c5f70726f706572746965735f686973746f727920544f2047524f5550204f50454e4249535f524541444f4e4c593b0a4752414e542053454c454354204f4e205441424c45206578706572696d656e745f70726f706572746965735f686973746f727920544f2047524f5550204f50454e4249535f524541444f4e4c593b0a4752414e542053454c454354204f4e205441424c452073616d706c655f70726f706572746965735f686973746f727920544f2047524f5550204f50454e4249535f524541444f4e4c593b0a4752414e542053454c454354204f4e205441424c4520646174615f7365745f70726f706572746965735f686973746f727920544f2047524f5550204f50454e4249535f524541444f4e4c593b0a202020202020200a \N diff --git a/openbis/sourceTest/sql/postgresql/083/finish-083.sql b/openbis/sourceTest/sql/postgresql/083/finish-083.sql index e160a56a5709e05e9a38e594867db8377824413c..7497e000494119e393d9c50fe90ad28829905772 100644 --- a/openbis/sourceTest/sql/postgresql/083/finish-083.sql +++ b/openbis/sourceTest/sql/postgresql/083/finish-083.sql @@ -301,21 +301,25 @@ CREATE RULE data_all AS ON DELETE TO data DO INSTEAD DELETE FROM data_all WHERE CREATE RULE data_deleted_delete AS ON DELETE TO data_deleted DO INSTEAD DELETE FROM data_all WHERE ((data_all.id)::bigint = (old.id)::bigint); CREATE RULE data_deleted_update AS ON UPDATE TO data_deleted DO INSTEAD UPDATE data_all SET del_id = new.del_id, modification_timestamp = new.modification_timestamp WHERE ((data_all.id)::bigint = (new.id)::bigint); CREATE RULE data_insert AS ON INSERT TO data DO INSTEAD INSERT INTO data_all (id, code, ctnr_id, ctnr_order, del_id, expe_id, dast_id, data_producer_code, dsty_id, is_derived, is_placeholder, is_valid, modification_timestamp, pers_id_registerer, production_timestamp, registration_timestamp, samp_id) VALUES (new.id, new.code, new.ctnr_id, new.ctnr_order, new.del_id, new.expe_id, new.dast_id, new.data_producer_code, new.dsty_id, new.is_derived, new.is_placeholder, new.is_valid, new.modification_timestamp, new.pers_id_registerer, new.production_timestamp, new.registration_timestamp, new.samp_id); +CREATE RULE data_set_properties_delete AS ON DELETE TO data_set_properties DO INSERT INTO data_set_properties_history (id, ds_id, dstpt_id, value, cvte_id, mate_prop_id, valid_until_timestamp) VALUES (nextval('data_set_property_id_seq'::regclass), old.ds_id, old.dstpt_id, old.value, old.cvte_id, old.mate_prop_id, now()); CREATE RULE data_set_properties_update AS ON UPDATE TO data_set_properties DO INSERT INTO data_set_properties_history (id, ds_id, dstpt_id, value, cvte_id, mate_prop_id, valid_until_timestamp) VALUES (nextval('data_set_property_id_seq'::regclass), old.ds_id, old.dstpt_id, old.value, old.cvte_id, old.mate_prop_id, now()); CREATE RULE data_set_relationships_delete AS ON DELETE TO data_set_relationships DO INSTEAD DELETE FROM data_set_relationships_all WHERE (((data_set_relationships_all.data_id_parent)::bigint = (old.data_id_parent)::bigint) AND ((data_set_relationships_all.data_id_child)::bigint = (old.data_id_child)::bigint)); CREATE RULE data_set_relationships_insert AS ON INSERT TO data_set_relationships DO INSTEAD INSERT INTO data_set_relationships_all (data_id_parent, data_id_child) VALUES (new.data_id_parent, new.data_id_child); CREATE RULE data_update AS ON UPDATE TO data DO INSTEAD UPDATE data_all SET code = new.code, ctnr_id = new.ctnr_id, ctnr_order = new.ctnr_order, del_id = new.del_id, expe_id = new.expe_id, dast_id = new.dast_id, data_producer_code = new.data_producer_code, dsty_id = new.dsty_id, is_derived = new.is_derived, is_placeholder = new.is_placeholder, is_valid = new.is_valid, modification_timestamp = new.modification_timestamp, pers_id_registerer = new.pers_id_registerer, production_timestamp = new.production_timestamp, registration_timestamp = new.registration_timestamp, samp_id = new.samp_id WHERE ((data_all.id)::bigint = (new.id)::bigint); CREATE RULE experiment_delete AS ON DELETE TO experiments DO INSTEAD DELETE FROM experiments_all WHERE ((experiments_all.id)::bigint = (old.id)::bigint); CREATE RULE experiment_insert AS ON INSERT TO experiments DO INSTEAD INSERT INTO experiments_all (id, code, del_id, exty_id, is_public, mate_id_study_object, modification_timestamp, perm_id, pers_id_registerer, proj_id, registration_timestamp) VALUES (new.id, new.code, new.del_id, new.exty_id, new.is_public, new.mate_id_study_object, new.modification_timestamp, new.perm_id, new.pers_id_registerer, new.proj_id, new.registration_timestamp); +CREATE RULE experiment_properties_delete AS ON DELETE TO experiment_properties DO INSERT INTO experiment_properties_history (id, expe_id, etpt_id, value, cvte_id, mate_prop_id, valid_until_timestamp) VALUES (nextval('experiment_property_id_seq'::regclass), old.expe_id, old.etpt_id, old.value, old.cvte_id, old.mate_prop_id, now()); CREATE RULE experiment_properties_update AS ON UPDATE TO experiment_properties DO INSERT INTO experiment_properties_history (id, expe_id, etpt_id, value, cvte_id, mate_prop_id, valid_until_timestamp) VALUES (nextval('experiment_property_id_seq'::regclass), old.expe_id, old.etpt_id, old.value, old.cvte_id, old.mate_prop_id, now()); CREATE RULE experiment_update AS ON UPDATE TO experiments DO INSTEAD UPDATE experiments_all SET code = new.code, del_id = new.del_id, exty_id = new.exty_id, is_public = new.is_public, mate_id_study_object = new.mate_id_study_object, modification_timestamp = new.modification_timestamp, perm_id = new.perm_id, pers_id_registerer = new.pers_id_registerer, proj_id = new.proj_id, registration_timestamp = new.registration_timestamp WHERE ((experiments_all.id)::bigint = (new.id)::bigint); CREATE RULE experiments_deleted_delete AS ON DELETE TO experiments_deleted DO INSTEAD DELETE FROM experiments_all WHERE ((experiments_all.id)::bigint = (old.id)::bigint); CREATE RULE experiments_deleted_update AS ON UPDATE TO experiments_deleted DO INSTEAD UPDATE experiments_all SET del_id = new.del_id, modification_timestamp = new.modification_timestamp WHERE ((experiments_all.id)::bigint = (new.id)::bigint); +CREATE RULE material_properties_delete AS ON DELETE TO material_properties DO INSERT INTO material_properties_history (id, mate_id, mtpt_id, value, cvte_id, mate_prop_id, valid_until_timestamp) VALUES (nextval('material_property_id_seq'::regclass), old.mate_id, old.mtpt_id, old.value, old.cvte_id, old.mate_prop_id, now()); CREATE RULE material_properties_update AS ON UPDATE TO material_properties DO INSERT INTO material_properties_history (id, mate_id, mtpt_id, value, cvte_id, mate_prop_id, valid_until_timestamp) VALUES (nextval('material_property_id_seq'::regclass), old.mate_id, old.mtpt_id, old.value, old.cvte_id, old.mate_prop_id, now()); CREATE RULE sample_delete AS ON DELETE TO samples DO INSTEAD DELETE FROM samples_all WHERE ((samples_all.id)::bigint = (old.id)::bigint); CREATE RULE sample_deleted_delete AS ON DELETE TO samples_deleted DO INSTEAD DELETE FROM samples_all WHERE ((samples_all.id)::bigint = (old.id)::bigint); CREATE RULE sample_deleted_update AS ON UPDATE TO samples_deleted DO INSTEAD UPDATE samples_all SET del_id = new.del_id, modification_timestamp = new.modification_timestamp WHERE ((samples_all.id)::bigint = (new.id)::bigint); CREATE RULE sample_insert AS ON INSERT TO samples DO INSTEAD INSERT INTO samples_all (id, code, dbin_id, del_id, expe_id, modification_timestamp, perm_id, pers_id_registerer, registration_timestamp, samp_id_part_of, saty_id, space_id) VALUES (new.id, new.code, new.dbin_id, new.del_id, new.expe_id, new.modification_timestamp, new.perm_id, new.pers_id_registerer, new.registration_timestamp, new.samp_id_part_of, new.saty_id, new.space_id); +CREATE RULE sample_properties_delete AS ON DELETE TO sample_properties DO INSERT INTO sample_properties_history (id, samp_id, stpt_id, value, cvte_id, mate_prop_id, valid_until_timestamp) VALUES (nextval('sample_property_id_seq'::regclass), old.samp_id, old.stpt_id, old.value, old.cvte_id, old.mate_prop_id, now()); CREATE RULE sample_properties_update AS ON UPDATE TO sample_properties DO INSERT INTO sample_properties_history (id, samp_id, stpt_id, value, cvte_id, mate_prop_id, valid_until_timestamp) VALUES (nextval('sample_property_id_seq'::regclass), old.samp_id, old.stpt_id, old.value, old.cvte_id, old.mate_prop_id, now()); CREATE RULE sample_relationships_delete AS ON DELETE TO sample_relationships DO INSTEAD DELETE FROM sample_relationships_all WHERE ((sample_relationships_all.id)::bigint = (old.id)::bigint); CREATE RULE sample_relationships_insert AS ON INSERT TO sample_relationships DO INSTEAD INSERT INTO sample_relationships_all (id, sample_id_parent, relationship_id, sample_id_child) VALUES (new.id, new.sample_id_parent, new.relationship_id, new.sample_id_child); @@ -605,4 +609,3 @@ REVOKE ALL ON SCHEMA public FROM PUBLIC; REVOKE ALL ON SCHEMA public FROM postgres; GRANT ALL ON SCHEMA public TO postgres; GRANT ALL ON SCHEMA public TO PUBLIC; -