Full Disclosure Report
Full Disclosure Report
Full Disclosure Report
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Appendix F: Implementation Specific Layer and<br />
Source Code<br />
F.1. Setup.cmd<br />
echo off<br />
rem<br />
rem Modify the following parameters for your configuration<br />
rem<br />
set DB=tpch100g<br />
set HOMEDRIVE=C:<br />
set HOMEDIR=\HP_TPCH_KIT\Setup<br />
set OUTPUTDRIVE=C:<br />
set OUTPUTDIR=\HP_TPCH_KIT\Output<br />
set SCALEFACTOR=100<br />
set DBGEN_SEGMENTS=32<br />
set DBGEN_PARALLELISM=32<br />
set FLATFILEDRIVE=z:<br />
set FLATFILEDIR=Flatfiles\<br />
set FLATFILESUBDIR=\<br />
set RF1_PARALLELISM=48<br />
set RF2_PARALLELISM=48<br />
set UPDATEDRIVE=Z:<br />
set UPDATEDIR=\UF_Flatfiles<br />
set UPDATE_SETS=14<br />
set DoDBGEN=FALSE<br />
set DoDBCREATE=TRUE<br />
set DoBULKINSERT=TRUE<br />
set DoCREATEINDEX=TRUE<br />
set DoCLEANUP=TRUE<br />
set DoBACKUP=TRUE<br />
set DoENDSTATS=TRUE<br />
%HOMEDRIVE%<br />
cd %HOMEDIR%<br />
if '%1' == 'DBGEN' goto :DBGEN<br />
if '%1' == 'BULKINSERTn' goto :BULKINSERTn<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 />
if NOT EXIST %UPDATEDRIVE%%UPDATEDIR% goto :ERROR_EXIT<br />
echo Finding next output directory in<br />
%OUTPUTDRIVE%%OUTPUTDIR%<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 />
if NOT '%DoDBGEN%' == 'TRUE' goto :DBCREATE<br />
rem<br />
rem DBGEN invokes dbgen.exe in parallel<br />
rem<br />
echo Starting DBGEN of FlatFiles<br />
for /l %%i in (1,1,%DBGEN_SEGMENTS%) do copy dists.dss<br />
%FLATFILEDRIVE%\%FLATFILEDIR%%%i%FLATFILESUBDIR%<br />
copy dists.dss %UPDATEDRIVE%%UPDATEDIR%<br />
for /l %%i in (1,%DBGEN_PARALLELISM%,%DBGEN_SEGMENTS%)<br />
do call :DBGEN_ITERATE %%i<br />
echo Starting DBGEN of Update Files<br />
%UPDATEDRIVE%<br />
cd %UPDATEDIR%<br />
%HOMEDRIVE%%HOMEDIR%\dbgen -U %UPDATE_SETS% -s<br />
%SCALEFACTOR% -qf -i %RF1_PARALLELISM% -d<br />
%RF2_PARALLELISM% 2>%OUTPUTPATH%\dbgen_Update.out<br />
%HOMEDRIVE%<br />
cd %HOMEDIR%<br />
goto :DBCREATE<br />
:DBGEN_ITERATE<br />
set FIRST=%1<br />
set /a LAST=%FIRST%+%DBGEN_PARALLELISM%-1<br />
echo DBGening sets %FIRST% through %LAST%<br />
for /l %%i in (%FIRST%,1,%LAST%) do start cmd /C Setup DBGEN %%i<br />
semaphore -wait DBGEN -count %DBGEN_PARALLELISM%<br />
goto :EOF<br />
:DBGEN<br />
%FLATFILEDRIVE%<br />
cd \%FLATFILEDIR%%2%FLATFILESUBDIR%<br />
%HOMEDRIVE%%HOMEDIR%\dbgen -qfF -s%SCALEFACTOR% -<br />
C%DBGEN_SEGMENTS% -S%2 2>%OUTPUTPATH%\dbgen_%2%.out<br />
%HOMEDRIVE%<br />
cd %HOMEDIR%<br />
semaphore -release DBGEN<br />
goto :EOF<br />
:DBCREATE<br />
if NOT '%DoDBCREATE%' == 'TRUE' goto :BULKINSERT<br />
rem<br />
rem DBCREATE invokes the file %DBNAME%\CreateDatabase.sql<br />
rem<br />
echo Starting database creation<br />
sqlcmd -E -Q"if exists (select * from sysdatabases where<br />
name='%DB%')drop database %DB%" -o<br />
%OUTPUTPATH%\DropDatabase.out -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -e -i %DB%\CreateDatabase.sql -o<br />
%OUTPUTPATH%\CreateDatabase.out -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -Q"sp_dboption %DB%,'trunc. log on chkpt.',TRUE" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -Q"sp_dboption %DB%,'auto create statistics','OFF'" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -Q"sp_dboption %DB%,'auto update statistics','OFF'" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
HP TPC-H FULL DISCLOSURE REPORT 84 July, 2010<br />
© 2010 Hewlett-Packard Company. All rights reserved.