Changeset 12761 for branches/HiveStatistics/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts
- Timestamp:
- 07/14/15 15:56:26 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveStatistics/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Prepare Hive Database.sql
r9665 r12761 182 182 CREATE TRIGGER [dbo].[tr_JobDeleteCascade] ON [dbo].[Job] INSTEAD OF DELETE AS 183 183 BEGIN 184 185 184 DELETE Task FROM deleted, Task WHERE deleted.JobId = Task.JobId 185 DELETE Job FROM deleted, Job WHERE deleted.JobId = Job.JobId 186 186 END 187 187 GO … … 194 194 CREATE TRIGGER [dbo].[tr_TaskDeleteCascade] ON [dbo].[Task] INSTEAD OF DELETE AS 195 195 BEGIN 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 196 -- add statistics 197 INSERT INTO dbo.DeletedJobStatistics (UserId, ExecutionTimeS, ExecutionTimeSFinishedJobs, StartToEndTimeS) 198 SELECT 199 he.OwnerUserId AS UserId, 200 ROUND(SUM(j.ExecutionTimeMs) / 1000, 0) AS ExecutionTimeS, 201 ROUND(ISNULL(SUM(CASE ls.State WHEN 'Finished' THEN j.ExecutionTimeMs END), 0) / 1000, 0) AS ExecutionTimeSFinishedJobs, 202 ISNULL(SUM(CASE ls.State WHEN 'Finished' THEN DATEDIFF(s, fs.DateTime, ls.DateTime) ELSE 0 END), 0) AS StartToEndTimeS 203 FROM 204 deleted j, 205 Job he, 206 view_FirstState fs, 207 view_LastState ls 208 WHERE 209 he.JobId = j.JobId AND 210 fs.TaskId = j.TaskId AND 211 ls.TaskId = j.TaskId 212 GROUP BY he.OwnerUserId 213 214 -- recursively delete jobs 215 CREATE TABLE #Table( 216 TaskId uniqueidentifier 217 ) 218 INSERT INTO #Table (TaskId) 219 SELECT TaskId FROM deleted 220 221 DECLARE @c INT 222 SET @c = 0 223 224 WHILE @c <> (SELECT COUNT(TaskId) FROM #Table) BEGIN 225 SELECT @c = COUNT(TaskId) FROM #Table 226 227 INSERT INTO #Table (TaskId) 228 SELECT Task.TaskId 229 FROM Task 230 LEFT OUTER JOIN #Table ON Task.TaskId = #Table.TaskId 231 WHERE Task.ParentTaskId IN (SELECT TaskId FROM #Table) 232 AND #Table.TaskId IS NULL 233 END 234 235 DELETE TaskData FROM TaskData INNER JOIN #Table ON TaskData.TaskId = #Table.TaskId 236 DELETE Task FROM Task INNER JOIN #Table ON Task.TaskId = #Table.TaskId 237 237 END 238 238 GO … … 241 241 CREATE TRIGGER [dbo].[tr_StatisticsDeleteCascade] ON [dbo].[Statistics] INSTEAD OF DELETE AS 242 242 BEGIN 243 244 245 243 DELETE SlaveStatistics FROM deleted, SlaveStatistics WHERE deleted.StatisticsId = SlaveStatistics.StatisticsId 244 -- should also remove UserStatistics here 245 DELETE [Statistics] FROM deleted, [Statistics] WHERE deleted.StatisticsId = [Statistics].StatisticsId 246 246 END 247 247 GO
Note: See TracChangeset
for help on using the changeset viewer.