08.11.2014 Views

Full Disclosure Report

Full Disclosure Report

Full Disclosure Report

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

declare @div INTEGER<br />

declare @mod INTEGER<br />

declare @skip INTEGER<br />

declare @i INTEGER<br />

declare @rangeSum INTEGER<br />

declare @totRangeSize INTEGER<br />

declare @sql NCHAR(1000)<br />

declare @orderSql NCHAR(1000)<br />

declare @liSql NCHAR(1000)<br />

DECLARE @ErrorMessage NVARCHAR(4000)<br />

DECLARE @ErrorNumber INT<br />

DECLARE @ErrorSeverity INT<br />

DECLARE @ErrorState INT<br />

DECLARE @ErrorLine INT<br />

DECLARE @ErrorProcedure NVARCHAR(200)<br />

SET @skip = @total_executions/@parallel_executions<br />

SET @div = floor((@current_execution-1)/@parallel_executions)<br />

SET @mod = (@current_execution - 1) - @div * @parallel_executions<br />

SET @index = @mod*@skip + @div + 1<br />

SET @sql = N'SELECT @sdate = dateadd(day,-1,min(O_ORDERDATE)),<br />

@edate = max(O_ORDERDATE)<br />

FROM MOD_OLDORDERS'<br />

EXEC sp_executesql @sql,N'@sdate DATE output, @edate DATE<br />

output',@startdate output, @enddate output<br />

select 'start RF2'<br />

--SELECT 'CurrExec:'+cast(@current_execution as varchar(200))<br />

+','+cast(scheduler_id as varchar(200)) as [sched] from<br />

sys.dm_exec_requests where session_id=@@spid<br />

IF (@total_executions > @parallel_executions)<br />

BEGIN<br />

SET @div = (@index-1)/@skip<br />

SET @mod = (@index-1) - @div * @skip<br />

--SET @rangeSize = datediff(day, @startdate,<br />

@enddate)/@parallel_executions + 1<br />

SET @rangeSize = ((@div+1) * datediff(day, @startdate,<br />

@enddate))/@parallel_executions - (@div * datediff(day, @startdate,<br />

@enddate))/@parallel_executions<br />

--SET @rangeStart = @div * @rangeSize<br />

SET @rangeStart = (@div * datediff(day, @startdate,<br />

@enddate))/@parallel_executions<br />

SET @rangeStart = @rangeStart + (@rangeSize * @mod)/@skip<br />

SET @totRangeSize = ((@mod + 1) * @rangeSize)/@skip -<br />

(@mod * @rangeSize)/@skip<br />

SET @rangeSize = @totRangeSize<br />

IF (@rangeSize < 0)<br />

SET @rangeSize = 0<br />

IF (@delete_sets 0)<br />

ROLLBACK TRANSACTION<br />

END<br />

ELSE<br />

BEGIN<br />

-- not a<br />

deadlock<br />

PRINT ERROR_MESSAGE()<br />

SELECT @ErrorNumber =<br />

ERROR_NUMBER(),<br />

@ErrorSeverity =<br />

ERROR_SEVERITY(),<br />

@ErrorState = ERROR_STATE(),<br />

@ErrorLine = ERROR_LINE(),<br />

@ErrorProcedure =<br />

ISNULL(ERROR_PROCEDURE(), '-');<br />

SELECT @ErrorMessage = N'Error %d,<br />

Level %d, State %d, Procedure %s, Line %d, ' +<br />

'Message: '+ ERROR_MESSAGE();<br />

IF (@@trancount>0)<br />

ROLLBACK TRANSACTION<br />

RAISERROR<br />

(<br />

HP TPC-H FULL DISCLOSURE REPORT 82 July, 2010<br />

© 2010 Hewlett-Packard Company. All rights reserved.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!