Mercurial > hg > orthanc
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; |