Structure Overhaul
This commit is contained in:
44
Code/MetadataDB/dbo/Stored Procedures/SetBucketProcesses.sql
Normal file
44
Code/MetadataDB/dbo/Stored Procedures/SetBucketProcesses.sql
Normal file
@@ -0,0 +1,44 @@
|
||||
|
||||
CREATE PROCEDURE [dbo].[SetBucketProcesses]
|
||||
(
|
||||
@DebugMode BIT = 0
|
||||
)
|
||||
AS
|
||||
|
||||
BEGIN
|
||||
|
||||
DELETE FROM [dbo].[BucketToProcessMap]
|
||||
|
||||
;WITH maxBuckets AS
|
||||
(
|
||||
SELECT MAX([BucketId]) AS 'MaxBucket' FROM [dbo].[Buckets]
|
||||
)
|
||||
|
||||
INSERT INTO [dbo].[BucketToProcessMap]
|
||||
SELECT
|
||||
CASE
|
||||
WHEN (ROW_NUMBER() OVER (ORDER BY p.[Duration] DESC) * 1) % maxBuckets.[MaxBucket] = 0 THEN maxBuckets.[MaxBucket]
|
||||
ELSE (ROW_NUMBER() OVER (ORDER BY p.[Duration] DESC) * 1) % maxBuckets.[MaxBucket]
|
||||
END AS 'NewBucketId',
|
||||
p.[ProcessId]
|
||||
FROM
|
||||
[dbo].[BucketProcesses] p
|
||||
CROSS JOIN maxBuckets
|
||||
|
||||
IF @DebugMode = 1
|
||||
BEGIN
|
||||
;WITH maxBuckets AS
|
||||
(
|
||||
SELECT MAX([BucketId]) AS 'MaxBucket' FROM [dbo].[Buckets]
|
||||
)
|
||||
SELECT
|
||||
CASE
|
||||
WHEN (ROW_NUMBER() OVER (ORDER BY p.[Duration] DESC) * 1) % maxBuckets.[MaxBucket] = 0 THEN maxBuckets.[MaxBucket]
|
||||
ELSE (ROW_NUMBER() OVER (ORDER BY p.[Duration] DESC) * 1) % maxBuckets.[MaxBucket]
|
||||
END AS 'NewBucketId',
|
||||
p.*
|
||||
FROM
|
||||
[dbo].[BucketProcesses] p
|
||||
CROSS JOIN maxBuckets
|
||||
END
|
||||
END
|
||||
Reference in New Issue
Block a user