diff --git a/perl/exit_strategy.pl b/perl/exit_strategy.pl index 76fffbfca7e97ebca4567bcb10015a7525450887..218934c9655b4356d2c7385da4a974b840dd9b1a 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 6d47085c0d3f5acc6650241856498b6454da388e..ee3c516775d973068752a54ecfbb4960e313b4a3 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;