- Timestamp:
- 01/18/18 15:08:25 (6 years ago)
- Location:
- branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3
- Files:
-
- 1 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/AssignedJobResourceDao.cs
r15577 r15630 159 159 ) 160 160 SELECT COUNT(ajr.JobId) 161 FROM rbranch, AssignedJobResourceajr161 FROM rbranch, [AssignedJobResource] ajr 162 162 WHERE rbranch.ResourceId = ajr.ResourceId 163 163 AND ajr.JobId = {0} … … 174 174 ) 175 175 SELECT COUNT(ajr.JobId) 176 FROM rbranch, AssignedJobResource ajr, Taskt176 FROM rbranch, [AssignedJobResource] ajr, [Task] t 177 177 WHERE rbranch.ResourceId = ajr.ResourceId 178 178 AND ajr.JobId = t.JobId -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/JobDao.cs
r14185 r15630 21 21 22 22 using System; 23 using System.Collections.Generic; 23 24 using System.Data.Linq; 24 25 using System.Linq; … … 31 32 return GetByIdQuery(DataContext, id); 32 33 } 34 35 public void DeleteByState(JobState state) { 36 DataContext.ExecuteCommand(DeleteByStateQueryString, Enum.GetName(typeof(JobState), state)); 37 } 38 39 public IEnumerable<Job> GetByState(JobState state) { 40 return GetByStateQuery(DataContext, state); 41 } 42 43 public IEnumerable<Guid> GetJobIdsByState(JobState state) { 44 return GetJobIdsByStateQuery(DataContext, state); 45 } 46 33 47 34 48 #region Compiled queries … … 38 52 where job.JobId == jobId 39 53 select job).SingleOrDefault()); 54 private static readonly Func<DataContext, JobState, IEnumerable<Job>> GetByStateQuery = 55 CompiledQuery.Compile((DataContext db, JobState jobState) => 56 (from job in db.GetTable<Job>() 57 where job.State == jobState 58 select job).ToList()); 59 private static readonly Func<DataContext, JobState, IEnumerable<Guid>> GetJobIdsByStateQuery = 60 CompiledQuery.Compile((DataContext db, JobState jobState) => 61 (from job in db.GetTable<Job>() 62 where job.State == jobState 63 select job.JobId).ToList()); 64 #endregion 65 66 #region String queries 67 private const string DeleteByStateQueryString = @" 68 DELETE FROM [Job] 69 WHERE JobState = {0} 70 "; 40 71 #endregion 41 72 } -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/TaskDao.cs
r15628 r15630 54 54 //Because there is at the moment no case where this makes sense (there don't exist parent tasks which need to be calculated), 55 55 //we skip this step because it's wasted runtime 56 return DataContext.ExecuteQuery<TaskPriorityInfo>(GetWaitingTasksQueryString, slave.ResourceId, Enum.GetName(typeof(TaskState), TaskState.Waiting), slave.FreeCores, slave.FreeMemory).ToList(); 56 return DataContext.ExecuteQuery<TaskPriorityInfo>(GetWaitingTasksQueryString, 57 slave.ResourceId, 58 Enum.GetName(typeof(TaskState), TaskState.Waiting), 59 slave.FreeCores, 60 slave.FreeMemory).ToList(); 57 61 } 58 62 … … 88 92 /// <param name="resourceIds">list of resourceids which for which the task should be valid</param> 89 93 /// <param name="count">maximum number of task to return</param> 90 /// <param name="finished">if true, all parent task which have FinishWhenChildJobsFinished=true are returned, otherwise only FinishWhenChildJobsFinished=false are returned</param>94 /// <param name="finished">if true, all parent tasks which have FinishWhenChildJobsFinished=true are returned, otherwise only FinishWhenChildJobsFinished=false are returned</param> 91 95 /// <returns></returns> 92 96 public IEnumerable<Task> GetParentTasks(IEnumerable<Guid> resourceIds, int count, bool finished) { … … 129 133 "; 130 134 private const string GetWaitingTasksQueryString = @" 135 WITH rbranch AS ( 136 SELECT ResourceId, ParentResourceId 137 FROM [Resource] 138 WHERE ResourceId = {0} 139 UNION ALL 140 SELECT r.ResourceId, r.ParentResourceId 141 FROM [Resource] r 142 JOIN rbranch rb ON rb.ParentResourceId = r.ResourceId 143 ) 144 SELECT DISTINCT t.TaskId, t.JobId, t.Priority 145 FROM [Task] t, [Job] j, [AssignedJobResource] ajr, rbranch 146 WHERE NOT (t.IsParentTask = 1 AND t.FinishWhenChildJobsFinished = 1) 147 AND t.TaskState = {1} 148 AND t.CoresNeeded <= {2} 149 AND t.MemoryNeeded <= {3} 150 AND t.JobId = j.JobId 151 AND j.JobState = 'Online' 152 AND j.JobId = ajr.JobId 153 AND ajr.ResourceId = rbranch.ResourceId 154 "; 155 private const string GetWaitingTasksQueryStringOld = @" 131 156 WITH pr AS ( 132 157 SELECT ResourceId, ParentResourceId -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HeuristicLab.Services.Hive.DataAccess-3.3.csproj
r15577 r15630 131 131 <Compile Include="Daos\UserPriorityDao.cs" /> 132 132 <Compile Include="Data\TableInformation.cs" /> 133 <Compile Include="Enums\JobState.cs" /> 133 134 <Compile Include="Interfaces\IGenericDao.cs" /> 134 135 <Compile Include="Enums\Command.cs" /> -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml
r15528 r15630 106 106 <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime" CanBeNull="false" /> 107 107 <Column Name="ProjectId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" /> 108 <Column Name="JobState" Member="State" Type="global::HeuristicLab.Services.Hive.DataAccess.JobState" DbType="VarChar(30)" CanBeNull="false" /> 108 109 <Association Name="Job_Task" Member="Tasks" Storage="_Jobs" ThisKey="JobId" OtherKey="JobId" Type="Task" /> 109 110 <Association Name="Job_JobPermission" Member="JobPermissions" Storage="_HiveExperimentPermissions" ThisKey="JobId" OtherKey="JobId" Type="JobPermission" /> -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout
r15577 r15630 39 39 </nestedChildShapes> 40 40 </classShape> 41 <classShape Id="e6f840cc-2968-4be1-b234-eef624ccacbb" absoluteBounds="4.125, 2.625, 2, 1.9631982421874996">41 <classShape Id="e6f840cc-2968-4be1-b234-eef624ccacbb" absoluteBounds="4.125, 2.625, 2, 2.1554996744791666"> 42 42 <DataClassMoniker Name="/HiveDataContext/Job" /> 43 43 <nestedChildShapes> 44 <elementListCompartment Id="0c65d4e1-256a-4a91-9a57-392f25e4de7f" absoluteBounds="4.1400000000000006, 3.0850000000000009, 1.9700000000000002, 1. 4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />44 <elementListCompartment Id="0c65d4e1-256a-4a91-9a57-392f25e4de7f" absoluteBounds="4.1400000000000006, 3.0850000000000009, 1.9700000000000002, 1.5954996744791665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> 45 45 </nestedChildShapes> 46 46 </classShape> … … 155 155 </nodes> 156 156 </associationConnector> 157 <associationConnector edgePoints="[(6.5 : 2.50564697265625); (3.75 : 2.50564697265625)]" fixedFrom=" NotFixed" fixedTo="NotFixed">157 <associationConnector edgePoints="[(6.5 : 2.50564697265625); (3.75 : 2.50564697265625)]" fixedFrom="Algorithm" fixedTo="Algorithm"> 158 158 <AssociationMoniker Name="/HiveDataContext/Task/Task_StateLog" /> 159 159 <nodes> … … 162 162 </nodes> 163 163 </associationConnector> 164 <associationConnector edgePoints="[(6.125 : 3.37100341796875); (6.5 : 3.37100341796875)]" fixedFrom=" NotFixed" fixedTo="NotFixed">164 <associationConnector edgePoints="[(6.125 : 3.37100341796875); (6.5 : 3.37100341796875)]" fixedFrom="Algorithm" fixedTo="Algorithm"> 165 165 <AssociationMoniker Name="/HiveDataContext/Job/Job_Task" /> 166 166 <nodes> … … 169 169 </nodes> 170 170 </associationConnector> 171 <associationConnector edgePoints="[(4.125 : 4. 10659912109375); (3.75 : 4.10659912109375)]" fixedFrom="NotFixed" fixedTo="NotFixed">171 <associationConnector edgePoints="[(4.125 : 4.20274983723958); (3.75 : 4.20274983723958)]" fixedFrom="Algorithm" fixedTo="Algorithm"> 172 172 <AssociationMoniker Name="/HiveDataContext/Job/Job_JobPermission" /> 173 173 <nodes> … … 279 279 </nodes> 280 280 </associationConnector> 281 <associationConnector edgePoints="[(11.25 : 9.42390055338542); (10.375 : 9.42390055338542); (10.375 : 8); (4 : 8); (4 : 4.9631982421875); (5.125 : 4.9631982421875); (5.125 : 4.5881982421875)]" fixedFrom="NotFixed" fixedTo="NotFixed">281 <associationConnector edgePoints="[(11.25 : 9.42390055338542); (10.375 : 9.42390055338542); (10.375 : 8); (4 : 8); (4 : 5.15549967447917); (4.80957165625 : 5.15549967447917); (4.80957165625 : 4.78049967447917)]" fixedFrom="Algorithm" fixedTo="Algorithm"> 282 282 <AssociationMoniker Name="/HiveDataContext/Project/Project_Job" /> 283 283 <nodes> … … 333 333 </nodes> 334 334 </associationConnector> 335 <associationConnector edgePoints="[(5. 656252 : 4.5881982421875); (5.656252 : 5.07535062109375); (8.875 : 5.07535062109375)]" fixedFrom="NotFixed" fixedTo="NotFixed">335 <associationConnector edgePoints="[(5.498537828125 : 4.78049967447917); (5.498537828125 : 5.14024983723958); (7.41666666666667 : 5.14024983723958 : JumpStart); (7.58333333333333 : 5.14024983723958 : JumpEnd); (8.875 : 5.14024983723958)]" fixedFrom="Algorithm" fixedTo="Algorithm"> 336 336 <AssociationMoniker Name="/HiveDataContext/Job/Job_AssignedJobResource" /> 337 337 <nodes> -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs
r15577 r15630 390 390 } 391 391 392 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedProjectResource", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, Delete OnNull=true)]392 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedProjectResource", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteRule="CASCADE")] 393 393 public Resource Resource 394 394 { … … 424 424 } 425 425 426 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_AssignedProjectResource", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true, Delete OnNull=true)]426 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_AssignedProjectResource", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true, DeleteRule="CASCADE")] 427 427 public Project Project 428 428 { … … 2486 2486 private System.Guid _ProjectId; 2487 2487 2488 private global::HeuristicLab.Services.Hive.DataAccess.JobState _State; 2489 2488 2490 private EntitySet<Task> _Jobs; 2489 2491 … … 2510 2512 partial void OnProjectIdChanging(System.Guid value); 2511 2513 partial void OnProjectIdChanged(); 2514 partial void OnStateChanging(global::HeuristicLab.Services.Hive.DataAccess.JobState value); 2515 partial void OnStateChanged(); 2512 2516 #endregion 2513 2517 … … 2641 2645 this.SendPropertyChanged("ProjectId"); 2642 2646 this.OnProjectIdChanged(); 2647 } 2648 } 2649 } 2650 2651 [global::System.Data.Linq.Mapping.ColumnAttribute(Name="JobState", Storage="_State", DbType="VarChar(30)", CanBeNull=false)] 2652 public global::HeuristicLab.Services.Hive.DataAccess.JobState State 2653 { 2654 get 2655 { 2656 return this._State; 2657 } 2658 set 2659 { 2660 if ((this._State != value)) 2661 { 2662 this.OnStateChanging(value); 2663 this.SendPropertyChanging(); 2664 this._State = value; 2665 this.SendPropertyChanged("State"); 2666 this.OnStateChanged(); 2643 2667 } 2644 2668 } … … 5809 5833 } 5810 5834 5811 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_AssignedProjectResource", Storage="_AssignedResources", ThisKey="ProjectId", OtherKey="ProjectId" , DeleteRule="CASCADE")]5835 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_AssignedProjectResource", Storage="_AssignedResources", ThisKey="ProjectId", OtherKey="ProjectId")] 5812 5836 public EntitySet<AssignedProjectResource> AssignedProjectResources 5813 5837 { … … 5848 5872 } 5849 5873 5850 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_ProjectPermission", Storage="_ProjectPermissions", ThisKey="ProjectId", OtherKey="ProjectId" , DeleteRule="CASCADE")]5874 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_ProjectPermission", Storage="_ProjectPermissions", ThisKey="ProjectId", OtherKey="ProjectId")] 5851 5875 public EntitySet<ProjectPermission> ProjectPermissions 5852 5876 { … … 6060 6084 } 6061 6085 6062 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_ProjectPermission", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true , DeleteOnNull=true)]6086 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_ProjectPermission", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] 6063 6087 public Project Project 6064 6088 { -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql
r15552 r15630 111 111 [DateCreated] DateTime NOT NULL, 112 112 [ProjectId] UniqueIdentifier NOT NULL, 113 [JobState] VarChar(30) NOT NULL, 113 114 CONSTRAINT [PK_dbo.Job] PRIMARY KEY ([JobId]) 114 115 ) … … 172 173 173 174 ALTER TABLE [dbo].[AssignedProjectResource] 174 ADD CONSTRAINT [Resource_AssignedProjectResource] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) 175 ADD CONSTRAINT [Resource_AssignedProjectResource] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) ON UPDATE CASCADE ON DELETE CASCADE; 175 176 ALTER TABLE [dbo].[AssignedProjectResource] 176 ADD CONSTRAINT [Project_AssignedProjectResource] FOREIGN KEY ([ProjectId]) REFERENCES [dbo].[Project]([ProjectId]) 177 ADD CONSTRAINT [Project_AssignedProjectResource] FOREIGN KEY ([ProjectId]) REFERENCES [dbo].[Project]([ProjectId]) ON UPDATE CASCADE ON DELETE CASCADE; 177 178 ALTER TABLE [dbo].[AssignedTaskResource] 178 ADD CONSTRAINT [Resource_AssignedTaskResource] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) 179 ADD CONSTRAINT [Resource_AssignedTaskResource] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) ON UPDATE CASCADE ON DELETE CASCADE; 179 180 ALTER TABLE [dbo].[AssignedTaskResource] 180 ADD CONSTRAINT [Task_AssignedTaskResource] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId]) 181 ADD CONSTRAINT [Task_AssignedTaskResource] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId]) ON UPDATE CASCADE ON DELETE CASCADE; 181 182 ALTER TABLE [dbo].[AssignedJobResource] 182 ADD CONSTRAINT [Resource_AssignedJobResource] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) 183 ADD CONSTRAINT [Resource_AssignedJobResource] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) ON UPDATE CASCADE ON DELETE CASCADE; 183 184 ALTER TABLE [dbo].[AssignedJobResource] 184 ADD CONSTRAINT [Job_AssignedJobResource] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId]) 185 ADD CONSTRAINT [Job_AssignedJobResource] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId]) ON UPDATE CASCADE ON DELETE CASCADE; 185 186 ALTER TABLE [dbo].[RequiredPlugins] 186 ADD CONSTRAINT [Plugin_RequiredPlugin] FOREIGN KEY ([PluginId]) REFERENCES [dbo].[Plugin]([PluginId]) 187 ADD CONSTRAINT [Plugin_RequiredPlugin] FOREIGN KEY ([PluginId]) REFERENCES [dbo].[Plugin]([PluginId]) ON UPDATE CASCADE ON DELETE CASCADE; 187 188 ALTER TABLE [dbo].[RequiredPlugins] 188 ADD CONSTRAINT [Task_RequiredPlugin] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId]) 189 ADD CONSTRAINT [Task_RequiredPlugin] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId]) ON UPDATE CASCADE ON DELETE CASCADE; 189 190 ALTER TABLE [dbo].[Resource] 190 ADD CONSTRAINT [Resource_Resource] FOREIGN KEY ([ParentResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) 191 ADD CONSTRAINT [Resource_Resource] FOREIGN KEY ([ParentResourceId]) REFERENCES [dbo].[Resource]([ResourceId]); 191 192 ALTER TABLE [dbo].[Task] 192 ADD CONSTRAINT [Task_Task] FOREIGN KEY ([ParentTaskId]) REFERENCES [dbo].[Task]([TaskId]) 193 ADD CONSTRAINT [Task_Task] FOREIGN KEY ([ParentTaskId]) REFERENCES [dbo].[Task]([TaskId]) ON UPDATE CASCADE ON DELETE CASCADE; 193 194 ALTER TABLE [dbo].[Task] 194 ADD CONSTRAINT [Job_Job] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId]) 195 ADD CONSTRAINT [Job_Job] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId]) ON UPDATE CASCADE ON DELETE CASCADE; 195 196 ALTER TABLE [dbo].[Downtime] 196 ADD CONSTRAINT [Resource_Downtime] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) 197 ADD CONSTRAINT [Resource_Downtime] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) ON UPDATE CASCADE ON DELETE CASCADE; 197 198 ALTER TABLE [dbo].[Job] 198 ADD CONSTRAINT [Project_Job] FOREIGN KEY ([ProjectId]) REFERENCES [dbo].[Project]([ProjectId]) 199 ADD CONSTRAINT [Project_Job] FOREIGN KEY ([ProjectId]) REFERENCES [dbo].[Project]([ProjectId]); 199 200 ALTER TABLE [dbo].[TaskData] 200 ADD CONSTRAINT [Task_TaskData] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId]) 201 ADD CONSTRAINT [Task_TaskData] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId]) ON UPDATE CASCADE ON DELETE CASCADE; 201 202 ALTER TABLE [dbo].[PluginData] 202 ADD CONSTRAINT [Plugin_PluginData] FOREIGN KEY ([PluginId]) REFERENCES [dbo].[Plugin]([PluginId]) 203 ADD CONSTRAINT [Plugin_PluginData] FOREIGN KEY ([PluginId]) REFERENCES [dbo].[Plugin]([PluginId]) ON UPDATE CASCADE ON DELETE CASCADE; 203 204 ALTER TABLE [dbo].[StateLog] 204 ADD CONSTRAINT [Task_StateLog] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId]) 205 ADD CONSTRAINT [Task_StateLog] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId]) ON UPDATE CASCADE ON DELETE CASCADE; 205 206 ALTER TABLE [dbo].[StateLog] 206 ADD CONSTRAINT [Resource_StateLog] FOREIGN KEY ([SlaveId]) REFERENCES [dbo].[Resource]([ResourceId]) 207 ADD CONSTRAINT [Resource_StateLog] FOREIGN KEY ([SlaveId]) REFERENCES [dbo].[Resource]([ResourceId]) ON UPDATE CASCADE ON DELETE CASCADE; 207 208 ALTER TABLE [dbo].[JobPermission] 208 ADD CONSTRAINT [Job_JobPermission] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId]) 209 ADD CONSTRAINT [Job_JobPermission] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId]) ON UPDATE CASCADE ON DELETE CASCADE; 209 210 ALTER TABLE [dbo].[Project] 210 ADD CONSTRAINT [Project_Project] FOREIGN KEY ([ParentProjectId]) REFERENCES [dbo].[Project]([ProjectId]) 211 ADD CONSTRAINT [Project_Project] FOREIGN KEY ([ParentProjectId]) REFERENCES [dbo].[Project]([ProjectId]) ON UPDATE CASCADE ON DELETE CASCADE; 211 212 ALTER TABLE [dbo].[ProjectPermission] 212 ADD CONSTRAINT [Project_ProjectPermission] FOREIGN KEY ([ProjectId]) REFERENCES [dbo].[Project]([ProjectId]) 213 ADD CONSTRAINT [Project_ProjectPermission] FOREIGN KEY ([ProjectId]) REFERENCES [dbo].[Project]([ProjectId]) ON UPDATE CASCADE ON DELETE CASCADE; 213 214 214 215 GO -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Prepare Hive Database.sql
r15552 r15630 33 33 ON DELETE CASCADE 34 34 GO 35 35 -- OBSOLETE (start) 36 36 ALTER TABLE [dbo].[AssignedTaskResource] DROP CONSTRAINT [Task_AssignedTaskResource] 37 37 ALTER TABLE [dbo].[AssignedTaskResource] WITH CHECK ADD CONSTRAINT [Task_AssignedTaskResource] FOREIGN KEY([TaskId]) … … 46 46 ON DELETE CASCADE 47 47 GO 48 48 -- OBSOLETE (end) 49 49 ALTER TABLE [dbo].[AssignedJobResource] DROP CONSTRAINT [Job_AssignedJobResource] 50 50 ALTER TABLE [dbo].[AssignedJobResource] WITH CHECK ADD CONSTRAINT [Job_AssignedJobResource] FOREIGN KEY([JobId]) … … 118 118 REFERENCES [dbo].[Project] ([ProjectId]) 119 119 ON UPDATE CASCADE 120 -- ON DELETE CASCADE 120 -- ON DELETE CASCADE (no "ON DELETE CASCADE" >>> if project is deleted, jobs (actually job-belonging tasks) should be aborted, but not deleted 121 121 GO 122 122 … … 158 158 159 159 160 161 -- OBSOLETE (start) 160 162 /****** Object: Trigger [dbo].[tr_JobDeleteCascade] Script Date: 04/19/2011 16:31:53 ******/ 161 163 SET ANSI_NULLS ON … … 210 212 END 211 213 GO 212 213 214 -- OBSOLETE (end) 215
Note: See TracChangeset
for help on using the changeset viewer.