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.

if '%1' == 'RF1' goto RF1<br />

if '%1' == 'RF1_LOAD' goto RF1_LOAD<br />

if '%1' == 'RF2' goto RF2<br />

if '%1' == 'RF2_LOAD' goto RF2_LOAD<br />

if '%1' == 'THROUGHPUT_STREAM' goto :THROUGHPUT_STREAM<br />

echo Checking for existence of HOMEDIR and OUTPUTDIR<br />

if NOT EXIST %HOMEDRIVE%%HOMEDIR% goto :ERROR_EXIT<br />

if NOT EXIST %OUTPUTDRIVE%%OUTPUTDIR% goto :ERROR_EXIT<br />

set OUTPUTNUMBER=1<br />

:OUTPUTLOOP<br />

if NOT EXIST<br />

%OUTPUTDRIVE%%OUTPUTDIR%\%OUTPUTNUMBER% goto<br />

:OUTPUTLOOPEND<br />

set /a OUTPUTNUMBER=%OUTPUTNUMBER%+1<br />

goto :OUTPUTLOOP<br />

:OUTPUTLOOPEND<br />

set<br />

OUTPUTPATH=%OUTPUTDRIVE%%OUTPUTDIR%\%OUTPUTNUM<br />

BER%<br />

echo Output will be found at %OUTPUTPATH%<br />

mkdir %OUTPUTPATH%<br />

rem<br />

rem Create the TIMES table<br />

rem<br />

sqlcmd -I -E -d%DB% -Q"if exists (select * from sysindexes where name =<br />

'TIMES') drop table TIMES"<br />

sqlcmd -I -E -d%DB% -Q"create table TIMES(QUERY char(5),STREAM<br />

int,START datetime)"<br />

if NOT '%DoRESTORE%' == 'TRUE' goto :SETUP<br />

rem<br />

rem Use the Restore.sql script in SETUP<br />

rem<br />

echo Starting Restore<br />

sqlcmd -I -E -i ..\Setup\%DB%\Restore.sql -b<br />

sqlcmd -I -E -d%DB% -i ..\Setup\CreateRF1Proc.sql<br />

sqlcmd -I -E -d%DB% -i ..\Setup\CreateRF2Proc.sql<br />

if ERRORLEVEL 1 goto :ERROR_EXIT<br />

:SETUP<br />

if NOT '%DoSETUP%' == 'TRUE' goto :POWER<br />

rem<br />

rem Create the Power and five Throughput Streams<br />

rem<br />

echo QGening the Power and Throughput Streams<br />

pushd templates<br />

for /l %%i in (0,1,%STREAMS%) do call :SETUP1 %%i<br />

for /l %%i in (1,1,%STREAMS%) do echo insert into TIMES values<br />

('QXX',%%i,getdate())>> %HOMEDIR%\Stream%%i.sql<br />

for /l %%i in (1,1,%STREAMS%) do echo go>><br />

%HOMEDIR%\Stream%%i.sql<br />

for /l %%i in (0,1,%STREAMS%) do copy %HOMEDIR%\Stream%%i.sql<br />

%OUTPUTPATH%<br />

popd<br />

goto :SETUP2<br />

:SETUP1<br />

echo Qgening using seed %SEED%<br />

%HOMEDIR%\qgen -s %SCALEFACTOR% -r %SEED% -p%1 ><br />

%HOMEDIR%\Stream%1.sql<br />

set /a SEED=%SEED% + 1<br />

goto :EOF<br />

:SETUP2<br />

rem<br />

rem Begin POWER run<br />

rem<br />

rem<br />

rem Execute the RF1 Transaction set in parallel<br />

rem<br />

:POWER<br />

if NOT '%DoPOWER%' == 'TRUE' goto :THROUGHPUT<br />

sqlcmd -I -E -d%DB% -Q"truncate table TIMES"<br />

sqlcmd -I -E -d%DB% -i RF_counts.sql -o<br />

%OUTPUTPATH%\Start_RF_Row_Count.out -b<br />

echo Beginning Power Run<br />

if NOT '%DoPOWERRefresh%' == 'TRUE' goto :STREAM0<br />

echo Running the RF1s<br />

set /a UPDATE_SEGMENT=%1+%UPDATESET%<br />

sqlcmd -I -E -d%DB% -Q"insert into TIMES values ('RF1',0,getdate())"<br />

sqlcmd -I -E -d%DB% -iRF_Procs\RF1_init.sql -o<br />

%OUTPUTPATH%\RF1_%UPDATE_SEGMENT%_init.out -b<br />

for /l %%i in (1,1,%UPDATESEGMENTS%) do start cmd /c Run<br />

RF1_LOAD %%i %UPDATE_SEGMENT%<br />

semaphore -wait RF1_LOAD -count %UPDATESEGMENTS%<br />

sqlcmd -I -E -d%DB% -iRF_Procs\RF1_index.sql -o<br />

%OUTPUTPATH%\RF1_%UPDATE_SEGMENT%_index.out -b<br />

for /l %%i in (1,1,%UPDATESEGMENTS%) do start cmd /C Run RF1 %%i<br />

10 %UPDATESEGMENTS% %UPDATESEGMENTS%<br />

%UPDATE_SEGMENT%<br />

semaphore -wait RF1 -count %UPDATESEGMENTS%<br />

sqlcmd -I -E -d%DB% -i RF_counts.sql -o<br />

%OUTPUTPATH%\Post_RF1_Row_Count_Stream0.out -b<br />

rem sqlcmd -I -E -d%DB% -Q "checkpoint" -o<br />

%OUTPUTPATH%\RF1_checkpoint.out -b<br />

rem sqlcmd -I -E -d%DB% -i cleantemp.sql -o<br />

%OUTPUTPATH%\CleanTempRF1.out -b<br />

rem<br />

rem Execute the PowerRun Queries<br />

rem<br />

:STREAM0<br />

if NOT '%DoPOWERStream0%' == 'TRUE' goto :STREAM0_DONE<br />

echo Running Stream0<br />

sqlcmd -I -E -d%DB% -iStream0.sql -o %OUTPUTPATH%\Stream0.out -b<br />

if ERRORLEVEL 1 goto :ERROR_EXIT<br />

:STREAM0_DONE<br />

rem<br />

rem Execute the RF2 Transaction set in Parallel<br />

rem<br />

if NOT '%DoPOWERRefresh%' == 'TRUE' goto :POWERDONE<br />

echo Running the RF2s<br />

sqlcmd -I -E -d%DB% -Q"insert into TIMES values ('RF2',0,getdate())"<br />

sqlcmd -I -E -d%DB% -iRF_Procs\RF2_init.sql -o<br />

%OUTPUTPATH%\RF2_%UPDATE_SEGMENT%_init.out -b<br />

for /l %%i in (1,1,%UPDATESEGMENTS%) do start cmd /c Run<br />

RF2_LOAD %%i %UPDATE_SEGMENT%<br />

semaphore -wait RF2_LOAD -count %UPDATESEGMENTS%<br />

sqlcmd -I -E -d%DB% -iRF_Procs\RF2_index.sql -o<br />

%OUTPUTPATH%\RF2_%UPDATE_SEGMENT%_index.out -b<br />

for /l %%i in (1,1,%UPDATESEGMENTS%) do start cmd /C Run RF2 %%i<br />

10 %UPDATESEGMENTS% %UPDATESEGMENTS%<br />

%UPDATE_SEGMENT%<br />

semaphore -wait RF2 -count %UPDATESEGMENTS%<br />

HP TPC-H FULL DISCLOSURE REPORT 87 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!