Skip to content
Snippets Groups Projects
Commit 137c02d4 authored by Patrick Godwin's avatar Patrick Godwin
Browse files

inj_simplify_and_cluster.sql, inj_snr_simplify_and_cluster.sql: de-duplicate...

inj_simplify_and_cluster.sql, inj_snr_simplify_and_cluster.sql: de-duplicate sim_inspiral table rather than dropping entirely
parent 25a69bce
No related branches found
No related tags found
No related merge requests found
......@@ -15,8 +15,6 @@
-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
DROP table if EXISTS sim_inspiral;
--
-- process clean up. same computer, unix process ID, and start time =
-- same process
......@@ -44,6 +42,7 @@ UPDATE coinc_event SET process_id = (SELECT new FROM _idmap_ WHERE old == proces
UPDATE segment SET process_id = (SELECT new FROM _idmap_ WHERE old == process_id);
UPDATE segment_definer SET process_id = (SELECT new FROM _idmap_ WHERE old == process_id);
UPDATE segment_summary SET process_id = (SELECT new FROM _idmap_ WHERE old == process_id);
UPDATE sim_inspiral SET process_id = (SELECT new FROM __idmap__ WHERE old == process_id);
UPDATE sngl_inspiral SET process_id = (SELECT new FROM _idmap_ WHERE old == process_id);
UPDATE time_slide SET process_id = (SELECT new FROM _idmap_ WHERE old == process_id);
......@@ -161,6 +160,33 @@ DROP INDEX tmpindex;
DROP TABLE _idmap_;
--
-- de-duplicate sim_inspiral rows, breaking ties by network SNR
-- NOTE: this assumes that nothing references sim_inspiral rows by ID,
-- so that redundant rows can be deleted without correcting references
-- to their IDs in other tables
--
CREATE INDEX tmpindex ON sim_inspiral(geocent_end_time, geocent_end_time_ns, alpha4, alpha5, alpha6);
DELETE FROM
sim_inspiral
WHERE
EXISTS (
SELECT
*
FROM
sim_inspiral AS other
WHERE
other.geocent_end_time == sim_inspiral.geocent_end_time
AND other.geocent_end_time_ns == sim_inspiral.geocent_end_time_ns
AND (other.alpha4 * other.alpha4 + other.alpha5 * other.alpha5 + other.alpha6 * other.alpha6) > (sim_inspiral.alpha4 * sim_inspiral.alpha4 + sim_inspiral.alpha5 * sim_inspiral.alpha5 + sim_inspiral.alpha6 * sim_inspiral.alpha6)
);
DROP INDEX tmpindex;
--
-- begin clustering
--
......
......@@ -14,8 +14,6 @@
-- with this program; if not, write to the Free Software Foundation, Inc.,
-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
DROP table if EXISTS sim_inspiral;
--
-- process clean up. same computer, unix process ID, and start time =
-- same process
......@@ -43,6 +41,7 @@ UPDATE coinc_event SET process_id = (SELECT new FROM __idmap__ WHERE old == proc
UPDATE segment SET process_id = (SELECT new FROM __idmap__ WHERE old == process_id);
UPDATE segment_definer SET process_id = (SELECT new FROM __idmap__ WHERE old == process_id);
UPDATE segment_summary SET process_id = (SELECT new FROM __idmap__ WHERE old == process_id);
UPDATE sim_inspiral SET process_id = (SELECT new FROM __idmap__ WHERE old == process_id);
UPDATE sngl_inspiral SET process_id = (SELECT new FROM __idmap__ WHERE old == process_id);
UPDATE time_slide SET process_id = (SELECT new FROM __idmap__ WHERE old == process_id);
......@@ -160,6 +159,33 @@ DROP INDEX tmpindex;
DROP TABLE __idmap__;
--
-- de-duplicate sim_inspiral rows, breaking ties by network SNR
-- NOTE: this assumes that nothing references sim_inspiral rows by ID,
-- so that redundant rows can be deleted without correcting references
-- to their IDs in other tables
--
CREATE INDEX tmpindex ON sim_inspiral(geocent_end_time, geocent_end_time_ns, alpha4, alpha5, alpha6);
DELETE FROM
sim_inspiral
WHERE
EXISTS (
SELECT
*
FROM
sim_inspiral AS other
WHERE
other.geocent_end_time == sim_inspiral.geocent_end_time
AND other.geocent_end_time_ns == sim_inspiral.geocent_end_time_ns
AND (other.alpha4 * other.alpha4 + other.alpha5 * other.alpha5 + other.alpha6 * other.alpha6) > (sim_inspiral.alpha4 * sim_inspiral.alpha4 + sim_inspiral.alpha5 * sim_inspiral.alpha5 + sim_inspiral.alpha6 * sim_inspiral.alpha6)
);
DROP INDEX tmpindex;
--
-- begin clustering
--
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment