comparison OrthancServer/PrepareDatabase2.sql @ 183:baada606da3c

databasewrapper
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 12 Nov 2012 14:52:30 +0100
parents 2dece1526c06
children ccbc2cf64a0d
comparison
equal deleted inserted replaced
182:93ff5babcaf8 183:baada606da3c
27 27
28 CREATE TABLE AttachedFiles( 28 CREATE TABLE AttachedFiles(
29 id INTEGER REFERENCES Resources(internalId) ON DELETE CASCADE, 29 id INTEGER REFERENCES Resources(internalId) ON DELETE CASCADE,
30 name TEXT, 30 name TEXT,
31 uuid TEXT, 31 uuid TEXT,
32 compressedSize INTEGER,
32 uncompressedSize INTEGER, 33 uncompressedSize INTEGER,
33 compressionType INTEGER, 34 compressionType INTEGER,
34 PRIMARY KEY(id, name) 35 PRIMARY KEY(id, name)
35 ); 36 );
36 37
38 CREATE TABLE Changes(
39 seq INTEGER PRIMARY KEY AUTOINCREMENT,
40 changeType INTEGER,
41 publicId TEXT,
42 resourceType INTEGER,
43 date TEXT
44 );
45
46 CREATE TABLE ExportedInstances(
47 seq INTEGER PRIMARY KEY AUTOINCREMENT,
48 remoteModality TEXT,
49 publicId TEXT,
50 patientId TEXT,
51 studyInstanceUid TEXT,
52 seriesInstanceUid TEXT,
53 sopInstanceUid TEXT,
54 date TEXT
55 );
56
37 CREATE INDEX ChildrenIndex ON Resources(parentId); 57 CREATE INDEX ChildrenIndex ON Resources(parentId);
38 CREATE INDEX PublicIndex ON Resources(publicId); 58 CREATE INDEX PublicIndex ON Resources(publicId);
39 59
60 CREATE INDEX MainDicomTagsIndex1 ON MainDicomTags(id);
61 CREATE INDEX MainDicomTagsIndex2 ON MainDicomTags(tagGroup, tagElement);
62 CREATE INDEX MainDicomTagsIndexValues ON MainDicomTags(value COLLATE BINARY);
63
64 CREATE INDEX ChangesIndex ON Changes(publicId);
40 65
41 CREATE TRIGGER AttachedFileDeleted 66 CREATE TRIGGER AttachedFileDeleted
42 AFTER DELETE ON AttachedFiles 67 AFTER DELETE ON AttachedFiles
43 BEGIN 68 BEGIN
44 SELECT SignalFileDeleted(old.uuid); 69 SELECT SignalFileDeleted(old.uuid);
45 END; 70 END;
46 71
47 CREATE TRIGGER ResourceDeleted 72 CREATE TRIGGER ResourceDeleted
48 AFTER DELETE ON Resources 73 AFTER DELETE ON Resources
49 BEGIN 74 BEGIN
50 SELECT SignalResourceDeleted(old.resourceType, old.parentId); 75 SELECT SignalRemainingAncestor(parent.publicId, parent.resourceType)
76 FROM Resources AS parent WHERE internalId = old.parentId;
51 END; 77 END;
52 78
53 79 -- Delete a parent resource when its unique child is deleted
54 -- -- Delete a resource when its unique child is deleted TODO TODO 80 CREATE TRIGGER ResourceDeletedParentCleaning
55 -- CREATE TRIGGER ResourceRemovedUpward 81 AFTER DELETE ON Resources
56 -- AFTER DELETE ON Resources 82 FOR EACH ROW WHEN (SELECT COUNT(*) FROM Resources WHERE parentId = old.parentId) = 0
57 -- FOR EACH ROW 83 BEGIN
58 -- WHEN (SELECT COUNT(*) FROM ParentRelationship WHERE parent = old. 84 DELETE FROM Resources WHERE internalId = old.parentId;
59 -- END; 85 END;