Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/18/18 15:08:25 (6 years ago)
Author:
jzenisek
Message:

#2839

  • updated Heartbeat processing (regarding: checking against AssignedJobResources and handling of the updated Job deletion routine)
  • updated Job deletion routine(still in progress at GenerateStatistics)
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  
    159159      )
    160160      SELECT COUNT(ajr.JobId)
    161       FROM rbranch, AssignedJobResource ajr
     161      FROM rbranch, [AssignedJobResource] ajr
    162162      WHERE rbranch.ResourceId = ajr.ResourceId
    163163      AND ajr.JobId = {0}
     
    174174      )
    175175      SELECT COUNT(ajr.JobId)
    176       FROM rbranch, AssignedJobResource ajr, Task t
     176      FROM rbranch, [AssignedJobResource] ajr, [Task] t
    177177      WHERE rbranch.ResourceId = ajr.ResourceId
    178178      AND ajr.JobId = t.JobId
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/JobDao.cs

    r14185 r15630  
    2121
    2222using System;
     23using System.Collections.Generic;
    2324using System.Data.Linq;
    2425using System.Linq;
     
    3132      return GetByIdQuery(DataContext, id);
    3233    }
     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
    3347
    3448    #region Compiled queries
     
    3852         where job.JobId == jobId
    3953         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    ";
    4071    #endregion
    4172  }
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/TaskDao.cs

    r15628 r15630  
    5454      //Because there is at the moment no case where this makes sense (there don't exist parent tasks which need to be calculated),
    5555      //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();
    5761    }
    5862
     
    8892    /// <param name="resourceIds">list of resourceids which for which the task should be valid</param>
    8993    /// <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>
    9195    /// <returns></returns>
    9296    public IEnumerable<Task> GetParentTasks(IEnumerable<Guid> resourceIds, int count, bool finished) {
     
    129133    ";
    130134    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 = @"
    131156      WITH pr AS (
    132157        SELECT ResourceId, ParentResourceId
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HeuristicLab.Services.Hive.DataAccess-3.3.csproj

    r15577 r15630  
    131131    <Compile Include="Daos\UserPriorityDao.cs" />
    132132    <Compile Include="Data\TableInformation.cs" />
     133    <Compile Include="Enums\JobState.cs" />
    133134    <Compile Include="Interfaces\IGenericDao.cs" />
    134135    <Compile Include="Enums\Command.cs" />
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml

    r15528 r15630  
    106106      <Column Name="DateCreated" Type="System.DateTime" DbType="DateTime" CanBeNull="false" />
    107107      <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" />
    108109      <Association Name="Job_Task" Member="Tasks" Storage="_Jobs" ThisKey="JobId" OtherKey="JobId" Type="Task" />
    109110      <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  
    3939      </nestedChildShapes>
    4040    </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">
    4242      <DataClassMoniker Name="/HiveDataContext/Job" />
    4343      <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" />
    4545      </nestedChildShapes>
    4646    </classShape>
     
    155155      </nodes>
    156156    </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">
    158158      <AssociationMoniker Name="/HiveDataContext/Task/Task_StateLog" />
    159159      <nodes>
     
    162162      </nodes>
    163163    </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">
    165165      <AssociationMoniker Name="/HiveDataContext/Job/Job_Task" />
    166166      <nodes>
     
    169169      </nodes>
    170170    </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">
    172172      <AssociationMoniker Name="/HiveDataContext/Job/Job_JobPermission" />
    173173      <nodes>
     
    279279      </nodes>
    280280    </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">
    282282      <AssociationMoniker Name="/HiveDataContext/Project/Project_Job" />
    283283      <nodes>
     
    333333      </nodes>
    334334    </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">
    336336      <AssociationMoniker Name="/HiveDataContext/Job/Job_AssignedJobResource" />
    337337      <nodes>
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs

    r15577 r15630  
    390390    }
    391391   
    392     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedProjectResource", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteOnNull=true)]
     392    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Resource_AssignedProjectResource", Storage="_Resource", ThisKey="ResourceId", OtherKey="ResourceId", IsForeignKey=true, DeleteRule="CASCADE")]
    393393    public Resource Resource
    394394    {
     
    424424    }
    425425   
    426     [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_AssignedProjectResource", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true, DeleteOnNull=true)]
     426    [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Project_AssignedProjectResource", Storage="_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true, DeleteRule="CASCADE")]
    427427    public Project Project
    428428    {
     
    24862486    private System.Guid _ProjectId;
    24872487   
     2488    private global::HeuristicLab.Services.Hive.DataAccess.JobState _State;
     2489   
    24882490    private EntitySet<Task> _Jobs;
    24892491   
     
    25102512    partial void OnProjectIdChanging(System.Guid value);
    25112513    partial void OnProjectIdChanged();
     2514    partial void OnStateChanging(global::HeuristicLab.Services.Hive.DataAccess.JobState value);
     2515    partial void OnStateChanged();
    25122516    #endregion
    25132517   
     
    26412645          this.SendPropertyChanged("ProjectId");
    26422646          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();
    26432667        }
    26442668      }
     
    58095833    }
    58105834   
    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")]
    58125836    public EntitySet<AssignedProjectResource> AssignedProjectResources
    58135837    {
     
    58485872    }
    58495873   
    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")]
    58515875    public EntitySet<ProjectPermission> ProjectPermissions
    58525876    {
     
    60606084    }
    60616085   
    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)]
    60636087    public Project Project
    60646088    {
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql

    r15552 r15630  
    111111  [DateCreated] DateTime NOT NULL,
    112112  [ProjectId] UniqueIdentifier NOT NULL,
     113  [JobState] VarChar(30) NOT NULL,
    113114  CONSTRAINT [PK_dbo.Job] PRIMARY KEY ([JobId])
    114115  )
     
    172173
    173174ALTER 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;
    175176ALTER 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;
    177178ALTER 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;
    179180ALTER 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;
    181182ALTER 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;
    183184ALTER 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;
    185186ALTER 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;
    187188ALTER 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;
    189190ALTER 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]);
    191192ALTER 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;
    193194ALTER 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;
    195196ALTER 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;
    197198ALTER 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]);
    199200ALTER 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;
    201202ALTER 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;
    203204ALTER 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;
    205206ALTER 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;
    207208ALTER 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;
    209210ALTER 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;
    211212ALTER 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;
    213214
    214215GO
  • branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Prepare Hive Database.sql

    r15552 r15630  
    3333ON DELETE CASCADE
    3434GO
    35 
     35-- OBSOLETE (start)
    3636ALTER TABLE [dbo].[AssignedTaskResource]  DROP  CONSTRAINT [Task_AssignedTaskResource]
    3737ALTER TABLE [dbo].[AssignedTaskResource]  WITH CHECK ADD  CONSTRAINT [Task_AssignedTaskResource] FOREIGN KEY([TaskId])
     
    4646ON DELETE CASCADE
    4747GO
    48 
     48-- OBSOLETE (end)
    4949ALTER TABLE [dbo].[AssignedJobResource]  DROP  CONSTRAINT [Job_AssignedJobResource]
    5050ALTER TABLE [dbo].[AssignedJobResource]  WITH CHECK ADD  CONSTRAINT [Job_AssignedJobResource] FOREIGN KEY([JobId])
     
    118118REFERENCES [dbo].[Project] ([ProjectId])
    119119ON 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
    121121GO
    122122
     
    158158
    159159
     160
     161-- OBSOLETE (start)
    160162/****** Object:  Trigger [dbo].[tr_JobDeleteCascade]    Script Date: 04/19/2011 16:31:53 ******/
    161163SET ANSI_NULLS ON
     
    210212END
    211213GO
    212 
    213 
     214-- OBSOLETE (end)
     215
Note: See TracChangeset for help on using the changeset viewer.