From fd04705e8fceb404d497366174eb97602f59a160 Mon Sep 17 00:00:00 2001
From: Andreas Romeyke <andreas.romeyke@slub-dresden.de>
Date: Mon, 16 Sep 2024 13:41:50 +0200
Subject: [PATCH] - updated enhanced tables

---
 perl/t/expected.sql | 36 ++++++++++++++++++++++++++++--------
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/perl/t/expected.sql b/perl/t/expected.sql
index 85b543f..35617bd 100644
--- a/perl/t/expected.sql
+++ b/perl/t/expected.sql
@@ -5,9 +5,10 @@ CREATE TABLE aip (
 	ie_id	TEXT NOT NULL,
 	lza_id  TEXT,
 	version INTEGER NOT NULL,
+	dir_path TEXT NOT NULL,
 	PRIMARY KEY(id AUTOINCREMENT)
   );
-INSERT INTO aip VALUES(1,'IE200928','SLUB:LZA:Kitodo:goobi:202001030001',1);
+INSERT INTO aip VALUES(1,'IE200928','SLUB:LZA:Kitodo:goobi:202001030001',1,'perl/t');
 CREATE TABLE metadatafile (
     id INTEGER,
     aip_id INTEGER NOT NULL REFERENCES aip (id),
@@ -50,33 +51,52 @@ CREATE TABLE sourcedatalocat (
     file_id INTEGER NOT NULL REFERENCES sourcedatafile (id),
     location TEXT NOT NULL,
     sourcetype TEXT NOT NULL,
+    filesize INTEGER,
     PRIMARY KEY(id AUTOINCREMENT)
   );
-INSERT INTO sourcedatalocat VALUES(1,1,'/permanent_storage/2020/01/03/IE200928/V1-FL200931.tif','hdd');
-INSERT INTO sourcedatalocat VALUES(2,2,'/permanent_storage/2020/01/03/IE200928/V1-FL200930.xml','hdd');
-INSERT INTO sourcedatalocat VALUES(3,3,'/permanent_storage/2020/01/03/IE200928/V1-FL200932.mkv','hdd');
+INSERT INTO sourcedatalocat VALUES(1,1,'/permanent_storage/2020/01/03/IE200928/V1-FL200931.tif','hdd',1357440);
+INSERT INTO sourcedatalocat VALUES(2,2,'/permanent_storage/2020/01/03/IE200928/V1-FL200930.xml','hdd',12158);
+INSERT INTO sourcedatalocat VALUES(3,3,'/permanent_storage/2020/01/03/IE200928/V1-FL200932.mkv','hdd',6971182);
 CREATE TABLE deleted (
     id INTEGER,
     aip_id INTEGER NOT NULL REFERENCES aip (id),
     state TEXT NOT NULL,
     reason TEXT NOT NULL,
+    note TEXT,
     date DATE,
     authorized_by TEXT NOT NULL,
     PRIMARY KEY(id AUTOINCREMENT)
   );
-CREATE TABLE transferAIP (
+CREATE TABLE transferaip (
   id INTEGER,
   aip_id INTEGER NOT NULL REFERENCES aip (id),
-  lza_id INTEGER,
+  lza_id TEXT NOT NULL,
   transfer_state TEXT NOT NULL,
   PRIMARY KEY(id AUTOINCREMENT)
   );
+CREATE TABLE purged (
+      id INTEGER,
+      aip_id INTEGER NOT NULL REFERENCES aip (id),
+      state TEXT NOT NULL,
+      reason TEXT,
+      note TEXT,
+      date DATE,
+      authorized_by TEXT NOT NULL,
+      PRIMARY KEY(id AUTOINCREMENT)
+  );
 DELETE FROM sqlite_sequence;
 INSERT INTO sqlite_sequence VALUES('aip',1);
 INSERT INTO sqlite_sequence VALUES('metadatafile',1);
 INSERT INTO sqlite_sequence VALUES('sourcedatafile',3);
 INSERT INTO sqlite_sequence VALUES('sourcedatalocat',3);
 INSERT INTO sqlite_sequence VALUES('dc',13);
-CREATE UNIQUE INDEX aip_index on aip (ie_id, version);
-CREATE UNIQUE INDEX sourcedata_index on sourcedatafile (aip_id, name);
+CREATE UNIQUE INDEX aip_index ON aip (ie_id, version);
+CREATE UNIQUE INDEX sourcedata_index ON sourcedatafile (aip_id, name);
+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
+    );
 COMMIT;
-- 
GitLab