From 7d5368075f92384b786ec8d34d88894c7a35b130 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Thu, 19 Sep 2024 20:36:09 +0200 Subject: [PATCH] - fixed view 'non_deleted_aip', also changed to use faster 'NOT EXISTS', because it uses indices --- perl/exit_strategy.pl | 6 ++++-- perl/t/expected.sql | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/perl/exit_strategy.pl b/perl/exit_strategy.pl index 76fffbf..218934c 100644 --- a/perl/exit_strategy.pl +++ b/perl/exit_strategy.pl @@ -363,8 +363,10 @@ SQL_INDEX4 SQL_INDEX5 my $sql6=<<"SQL_VIEW"; CREATE VIEW non_deleted_aip(id,ie_id,lza_id,version,dir_path) AS - SELECT * FROM aip WHERE aip.id NOT IN ( - SELECT aip_id FROM deleted + SELECT * FROM aip WHERE NOT EXISTS ( + SELECT aip_id FROM deleted WHERE aip.id == aip_id + ) AND NOT EXISTS ( + SELECT aip_id FROM purged WHERE aip.id == aip_id ); SQL_VIEW my $sth1 = $dbh->prepare($sql1); $sth1->execute() or die "sql problem detected", $dbh->errstr; diff --git a/perl/t/expected.sql b/perl/t/expected.sql index 6d47085..ee3c516 100644 --- a/perl/t/expected.sql +++ b/perl/t/expected.sql @@ -94,7 +94,9 @@ CREATE INDEX delete_index ON deleted (aip_id); CREATE INDEX aip_index2 ON aip (lza_id); CREATE INDEX aip_index3 ON aip (ie_id,lza_id); CREATE VIEW non_deleted_aip(id,ie_id,lza_id,version,dir_path) AS - SELECT * FROM aip WHERE aip.id NOT IN ( - SELECT aip_id FROM deleted + SELECT * FROM aip WHERE NOT EXISTS ( + SELECT aip_id FROM deleted WHERE aip.id == aip_id + ) AND NOT EXISTS ( + SELECT aip_id FROM purged WHERE aip.id == aip_id ); COMMIT; -- GitLab