From bc5b05aad555b0d7ea53889672c7e4d637a8e423 Mon Sep 17 00:00:00 2001 From: Steve Shaw Date: Fri, 16 Jun 2017 18:08:43 +0100 Subject: [PATCH] Version 2.23 --- agent/hdbagent.tcl | 2 +- config.xml | 15 ++ hammerdb.tcl | 2 +- hdb-components/hdb_ed.tcl | 318 +++++++++++++++++++++++++++++++----- hdb-components/hdb_tpcc.tcl | 171 +++++++++++++++---- hdb-components/hdb_tpch.tcl | 32 ++-- hdb-components/hdb_xml.tcl | 2 +- readme | 2 +- 8 files changed, 449 insertions(+), 95 deletions(-) diff --git a/agent/hdbagent.tcl b/agent/hdbagent.tcl index a025b200..76989537 100755 --- a/agent/hdbagent.tcl +++ b/agent/hdbagent.tcl @@ -43,7 +43,7 @@ namespace import comm::* interp recursionlimit {} 3000 global agentlist S iswin set iswin "false" -set version 2.22 +set version 2.23 if {$tcl_platform(platform) == "windows"} { package require twapi diff --git a/config.xml b/config.xml index b3bbb6e1..138fec1e 100644 --- a/config.xml +++ b/config.xml @@ -31,6 +31,7 @@ false + false false @@ -41,6 +42,8 @@ standard 2 5 + false + false @@ -101,6 +104,8 @@ standard 2 5 + false + false @@ -144,6 +149,8 @@ standard 2 5 + false + false @@ -193,6 +200,8 @@ standard 2 5 + false + false @@ -239,6 +248,8 @@ standard 2 5 + false + false @@ -269,6 +280,8 @@ standard 2 5 + false + false @@ -292,6 +305,8 @@ 2 5 0 + false + false diff --git a/hammerdb.tcl b/hammerdb.tcl index 5b23d2e2..962c6e45 100755 --- a/hammerdb.tcl +++ b/hammerdb.tcl @@ -48,7 +48,7 @@ exit #hdb_go.tcl - Run HammerDB ###################################################################### global hdb_version -set hdb_version "v2.22" +set hdb_version "v2.23" set mainGeometry +10+10 set UserDefaultDir [ file dirname [ info script ] ] ::tcl::tm::path add "$UserDefaultDir/hdb-modules" diff --git a/hdb-components/hdb_ed.tcl b/hdb-components/hdb_ed.tcl index 2fa4ee5d..480f5180 100644 --- a/hdb-components/hdb_ed.tcl +++ b/hdb-components/hdb_ed.tcl @@ -673,7 +673,7 @@ highlight_off } proc loadtpcc {} { -global _ED rdbms oradriver mysqldriver mssqlsdriver db2driver pg_driver redis_driver trafodion_driver +global _ED rdbms oradriver mysqldriver mssqlsdriver db2driver pg_driver redis_driver trafodion_driver allwarehouse my_allwarehouse mssqls_allwarehouse db2_allwarehouse pg_allwarehouse redis_allwarehouse trafodion_allwarehouse timeprofile mssqls_timeprofile my_timeprofile pg_timeprofile redis_timeprofile trafodion_timeprofile db2_timeprofile set _ED(packagekeyname) "TPC-C" ed_status_message -show "TPC-C Driver Script" if { [ info exists rdbms ] } { ; } else { set rdbms "Oracle" } @@ -684,12 +684,28 @@ if { ![ info exists db2driver ] } { set db2driver "standard" } if { ![ info exists pg_driver ] } { set pg_driver "standard" } if { ![ info exists redis_driver ] } { set redis_driver "standard" } if { ![ info exists trafodion_driver ] } { set trafodion_driver "standard" } +if { ![ info exists allwarehouse ] } { set allwarehouse "false" } +if { ![ info exists my_allwarehouse ] } { set my_allwarehouse "false" } +if { ![ info exists mssqls_allwarehouse ] } { set mssqls_allwarehouse "false" } +if { ![ info exists db2_allwarehouse ] } { set db2_allwarehouse "false" } +if { ![ info exists pg_allwarehouse ] } { set pg_allwarehouse "false" } +if { ![ info exists redis_allwarehouse ] } { set redis_allwarehouse "false" } +if { ![ info exists trafodion_allwarehouse ] } { set trafodion_allwarehouse "false" } +if { ![ info exists timeprofile ] } { set timeprofile "false" } +if { ![ info exists my_timeprofile ] } { set my_timeprofile "false" } +if { ![ info exists mssqls_timeprofile ] } { set mssqls_timeprofile "false" } +if { ![ info exists db2_timeprofile ] } { set db2_timeprofile "false" } +if { ![ info exists pg_timeprofile ] } { set pg_timeprofile "false" } +if { ![ info exists redis_timeprofile ] } { set redis_timeprofile "false" } +if { ![ info exists trafodion_timeprofile ] } { set trafodion_timeprofile "false" } switch $rdbms { Oracle { if {$oradriver == "standard"} { loadoratpcc } else { loadoraawrtpcc +if { $allwarehouse } { shared_tpcc_functions "allwarehouse" } +if { $timeprofile } { shared_tpcc_functions "timeprofile" } } } MySQL { @@ -697,6 +713,8 @@ if {$mysqldriver == "standard"} { loadmytpcc } else { loadtimedmytpcc +if { $my_allwarehouse } { shared_tpcc_functions "allwarehouse" } +if { $my_timeprofile } { shared_tpcc_functions "timeprofile" } } } MSSQLServer { @@ -704,6 +722,8 @@ if {$mssqlsdriver == "standard"} { loadmssqlstpcc } else { loadtimedmssqlstpcc +if { $mssqls_allwarehouse } { shared_tpcc_functions "allwarehouse" } +if { $mssqls_timeprofile } { shared_tpcc_functions "timeprofile" } } } DB2 { @@ -711,6 +731,8 @@ if {$db2driver == "standard"} { loaddb2tpcc } else { loadtimeddb2tpcc +if { $db2_allwarehouse } { shared_tpcc_functions "allwarehouse" } +if { $db2_timeprofile } { shared_tpcc_functions "timeprofile" } } } PostgreSQL { @@ -718,6 +740,8 @@ if {$pg_driver == "standard"} { loadpgtpcc } else { loadtimedpgtpcc +if { $pg_allwarehouse } { shared_tpcc_functions "allwarehouse" } +if { $pg_timeprofile } { shared_tpcc_functions "timeprofile" } } } Redis { @@ -725,6 +749,8 @@ if {$redis_driver == "standard"} { loadredistpcc } else { loadtimedredistpcc +if { $redis_allwarehouse } { shared_tpcc_functions "allwarehouse" } +if { $redis_timeprofile } { shared_tpcc_functions "timeprofile" } } } Trafodion { @@ -732,6 +758,8 @@ if {$trafodion_driver == "standard"} { loadtraftpcc } else { loadtimedtraftpcc +if { $trafodion_allwarehouse } { shared_tpcc_functions "allwarehouse" } +if { $trafodion_timeprofile } { shared_tpcc_functions "timeprofile" } } } default { @@ -739,6 +767,8 @@ if {$oradriver == "standard"} { loadoratpcc } else { loadoraawrtpcc +if { $allwarehouse } { shared_tpcc_functions "allwarehouse" } +if { $timeprofile } { shared_tpcc_functions "timeprofile" } } } } @@ -3658,7 +3688,7 @@ configoratpch $option } proc configoratpcc {option} { -global instance system_user system_password count_ware tpcc_user tpcc_pass tpcc_def_tab tpcc_ol_tab tpcc_def_temp count_ware plsql directory partition tpcc_tt_compat num_threads boxes driveroptlo total_iterations raiseerror keyandthink oradriver checkpoint rampup duration defaultBackground defaultForeground +global instance system_user system_password count_ware tpcc_user tpcc_pass tpcc_def_tab tpcc_ol_tab tpcc_def_temp count_ware plsql directory partition hash_clusters tpcc_tt_compat num_threads boxes driveroptlo total_iterations raiseerror keyandthink oradriver checkpoint rampup duration allwarehouse timeprofile defaultBackground defaultForeground if { ![ info exists system_user ] } { set system_user "system" } if { ![ info exists system_password ] } { set system_password "manager" } if { ![ info exists instance ] } { set instance "oracle" } @@ -3671,6 +3701,7 @@ if { ![ info exists tpcc_def_temp ] } { set tpcc_def_temp "temp" } if { ![ info exists plsql ] } { set plsql 0 } if { ![ info exists directory ] } { set directory [ findtempdir ] } if { ![ info exists partition ] } { set partition "false" } +if { ![ info exists hash_clusters ] } { set hash_clusters "false" } if { ![ info exists tpcc_tt_compat ] } { set tpcc_tt_compat "false" } if { ![ info exists num_threads ] } { set num_threads 1 } if { ![ info exists total_iterations ] } { set total_iterations 1000000 } @@ -3680,6 +3711,8 @@ if { ![ info exists checkpoint ] } { set checkpoint "false" } if { ![ info exists oradriver ] } { set oradriver "standard" } if { ![ info exists rampup ] } { set rampup "2" } if { ![ info exists duration ] } { set duration "5" } +if { ![ info exists allwarehouse ] } { set allwarehouse "false" } +if { ![ info exists timeprofile ] } { set timeprofile "false" } global _ED catch "destroy .tpc" ttk::toplevel .tpc @@ -3767,12 +3800,14 @@ ttk::checkbutton $Name -text "" -variable tpcc_tt_compat -onvalue "true" -offval if { $tpcc_tt_compat eq "false" } { foreach field {e2 e3 e6 e7} { catch {.tpc.f1.$field configure -state normal} -if { $partition eq "true" } { -catch {.tpc.f1.6a configure -state normal} } +if { $partition eq "true" } { +catch {.tpc.f1.e6a configure -state normal} +catch {.tpc.f1.e9a configure -state normal} } } else { set plsql 0 +set hash clusters "false" foreach field {e2 e3 e6 e6a e7} { catch {.tpc.f1.$field configure -state disabled} } @@ -3784,39 +3819,59 @@ catch {.tpc.f1.$field configure -state normal} } if { $partition eq "true" } { catch {.tpc.f1.e6a configure -state normal} +.tpc.f1.e9a configure -state normal + } else { +catch {.tpc.f1.e9a configure -state disabled} +set hash_clusters "false" } if {$count_ware < 200 } { catch {.tpc.f1.e9 configure -state disabled} -catch {.tpc.f1.6a configure -state disabled} +catch {.tpc.f1.e6a configure -state disabled} +catch {.tpc.f1.e9a configure -state disabled} set partition "false" +set hash_clusters "false" } if {$num_threads eq 1 } { catch {.tpc.f1.e12 configure -state normal} } } else { set plsql 0 -foreach field {e2 e3 e6 e6a e7 e12 e13} { +set hash_clusters "false" +foreach field {e2 e3 e6 e6a e7 e9a e12 e13} { catch {.tpc.f1.$field configure -state disabled} } +if {$count_ware >= 200 } { catch {.tpc.f1.e9 configure -state normal} } + } } if { $option eq "all" || $option eq "build" } { + set Prompt $Parent.f1.p9a +ttk::label $Prompt -text "Use Hash Clusters :" + set Name $Parent.f1.e9a +ttk::checkbutton $Name -text "" -variable hash_clusters -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 10 -sticky e + grid $Name -column 1 -row 10 -sticky w set Prompt $Parent.f1.p9 ttk::label $Prompt -text "Partition Order Line Table :" set Name $Parent.f1.e9 ttk::checkbutton $Name -text "" -variable partition -onvalue "true" -offvalue "false" - grid $Prompt -column 0 -row 10 -sticky e - grid $Name -column 1 -row 10 -sticky w + grid $Prompt -column 0 -row 11 -sticky e + grid $Name -column 1 -row 11 -sticky w if {$count_ware < 200 && $tpcc_tt_compat eq "false" } { set partition false $Name configure -state disabled .tpc.f1.e6a configure -state disabled + .tpc.f1.e9a configure -state disabled } if { $partition eq "false" } { + set hash_clusters false .tpc.f1.e6a configure -state disabled + .tpc.f1.e9a configure -state disabled } bind .tpc.f1.e9 { +set hash_clusters false +.tpc.f1.e9a configure -state disabled if { $partition eq "true" && $plsql eq "false" } { set plsql 0 .tpc.f1.e13 configure -state disabled @@ -3833,9 +3888,11 @@ if { $partition eq "true" && $num_threads eq 1 && $tpcc_tt_compat eq "false" } { } if { $partition eq "true" && $tpcc_tt_compat eq "false" } { .tpc.f1.e6a configure -state disabled +.tpc.f1.e9a configure -state disabled } else { if { $partition eq "false" && $count_ware >= 200 && $tpcc_tt_compat eq "false" } { .tpc.f1.e6a configure -state normal +.tpc.f1.e9a configure -state normal } } } @@ -3856,14 +3913,16 @@ set plsql 0 } if {$count_ware < 200 && $tpcc_tt_compat eq "false" } { .tpc.f1.e9 configure -state disabled +.tpc.f1.e9a configure -state disabled .tpc.f1.e6a configure -state disabled set partition "false" +set hash_clusters "false" } else { .tpc.f1.e9 configure -state enabled } } - grid $Prompt -column 0 -row 11 -sticky e - grid $Name -column 1 -row 11 -sticky ew + grid $Prompt -column 0 -row 12 -sticky e + grid $Name -column 1 -row 12 -sticky ew set Prompt $Parent.f1.p11 ttk::label $Prompt -text "Virtual Users to Build Schema :" set Name $Parent.f1.e11 @@ -3880,14 +3939,14 @@ if {$num_threads eq 1 && $partition eq "false" && $tpcc_tt_compat eq "false"} { set plsql 0 } } - grid $Prompt -column 0 -row 12 -sticky e - grid $Name -column 1 -row 12 -sticky ew + grid $Prompt -column 0 -row 13 -sticky e + grid $Name -column 1 -row 13 -sticky ew set Prompt $Parent.f1.p12 ttk::label $Prompt -text "Use PL/SQL Server Side Load :" set Name $Parent.f1.e12 ttk::checkbutton $Name -text "" -variable plsql -onvalue 1 -offvalue 0 - grid $Prompt -column 0 -row 13 -sticky e - grid $Name -column 1 -row 13 -sticky w + grid $Prompt -column 0 -row 14 -sticky e + grid $Name -column 1 -row 14 -sticky w if { $num_threads eq 1 && $tpcc_tt_compat eq "false" } { .tpc.f1.e12 configure -state normal } else { .tpc.f1.e12 configure -state disabled } bind .tpc.f1.e12 { @@ -3901,8 +3960,8 @@ set partition "false" set Prompt $Parent.f1.p13 ttk::label $Prompt -text "Server Side Log Directory :" ttk::entry $Name -width 30 -textvariable directory - grid $Prompt -column 0 -row 14 -sticky e - grid $Name -column 1 -row 14 -sticky ew + grid $Prompt -column 0 -row 15 -sticky e + grid $Name -column 1 -row 15 -sticky ew if {$plsql == 0} { $Name configure -state disabled } @@ -3911,55 +3970,61 @@ if { $option eq "all" || $option eq "drive" } { if { $option eq "all" } { set Prompt $Parent.f1.h3 ttk::label $Prompt -image [image create photo -data $driveroptlo] -grid $Prompt -column 0 -row 15 -sticky e +grid $Prompt -column 0 -row 16 -sticky e set Prompt $Parent.f1.h4 ttk::label $Prompt -text "Driver Options" -grid $Prompt -column 1 -row 15 -sticky w +grid $Prompt -column 1 -row 16 -sticky w } set Prompt $Parent.f1.p15 ttk::label $Prompt -text "TPC-C Driver Script :" -grid $Prompt -column 0 -row 16 -sticky e +grid $Prompt -column 0 -row 17 -sticky e set Name $Parent.f1.r1 ttk::radiobutton $Name -value "standard" -text "Standard Driver Script" -variable oradriver -grid $Name -column 1 -row 16 -sticky w +grid $Name -column 1 -row 17 -sticky w bind .tpc.f1.r1 { set checkpoint "false" +set allwarehouse "false" +set timeprofile "false" .tpc.f1.e20 configure -state disabled .tpc.f1.e21 configure -state disabled .tpc.f1.e22 configure -state disabled +.tpc.f1.e23 configure -state disabled +.tpc.f1.e24 configure -state disabled } set Name $Parent.f1.r2 ttk::radiobutton $Name -value "awr" -text "AWR Snapshot Driver Script" -variable oradriver -grid $Name -column 1 -row 17 -sticky w +grid $Name -column 1 -row 18 -sticky w bind .tpc.f1.r2 { .tpc.f1.e20 configure -state normal .tpc.f1.e21 configure -state normal .tpc.f1.e22 configure -state normal +.tpc.f1.e23 configure -state normal +.tpc.f1.e24 configure -state normal } set Name $Parent.f1.e17 set Prompt $Parent.f1.p17 ttk::label $Prompt -text "Total Transactions per User :" ttk::entry $Name -width 30 -textvariable total_iterations - grid $Prompt -column 0 -row 18 -sticky e - grid $Name -column 1 -row 18 -sticky ew + grid $Prompt -column 0 -row 19 -sticky e + grid $Name -column 1 -row 19 -sticky ew set Prompt $Parent.f1.p18 ttk::label $Prompt -text "Exit on Oracle Error :" set Name $Parent.f1.e18 ttk::checkbutton $Name -text "" -variable raiseerror -onvalue "true" -offvalue "false" - grid $Prompt -column 0 -row 19 -sticky e - grid $Name -column 1 -row 19 -sticky w + grid $Prompt -column 0 -row 20 -sticky e + grid $Name -column 1 -row 20 -sticky w set Prompt $Parent.f1.p19 ttk::label $Prompt -text "Keying and Thinking Time :" set Name $Parent.f1.e19 ttk::checkbutton $Name -text "" -variable keyandthink -onvalue "true" -offvalue "false" - grid $Prompt -column 0 -row 20 -sticky e - grid $Name -column 1 -row 20 -sticky w + grid $Prompt -column 0 -row 21 -sticky e + grid $Name -column 1 -row 21 -sticky w set Prompt $Parent.f1.p20 ttk::label $Prompt -text "Checkpoint when complete :" set Name $Parent.f1.e20 ttk::checkbutton $Name -text "" -variable checkpoint -onvalue "true" -offvalue "false" - grid $Prompt -column 0 -row 21 -sticky e - grid $Name -column 1 -row 21 -sticky w + grid $Prompt -column 0 -row 22 -sticky e + grid $Name -column 1 -row 22 -sticky w if {$oradriver == "standard" } { $Name configure -state disabled } @@ -3967,8 +4032,8 @@ set Name $Parent.f1.e21 set Prompt $Parent.f1.p21 ttk::label $Prompt -text "Minutes of Rampup Time :" ttk::entry $Name -width 30 -textvariable rampup - grid $Prompt -column 0 -row 22 -sticky e - grid $Name -column 1 -row 22 -sticky ew + grid $Prompt -column 0 -row 23 -sticky e + grid $Name -column 1 -row 23 -sticky ew if {$oradriver == "standard" } { $Name configure -state disabled } @@ -3976,8 +4041,26 @@ set Name $Parent.f1.e22 set Prompt $Parent.f1.p22 ttk::label $Prompt -text "Minutes for Test Duration :" ttk::entry $Name -width 30 -textvariable duration - grid $Prompt -column 0 -row 23 -sticky e - grid $Name -column 1 -row 23 -sticky ew + grid $Prompt -column 0 -row 24 -sticky e + grid $Name -column 1 -row 24 -sticky ew +if {$oradriver == "standard" } { + $Name configure -state disabled + } +set Name $Parent.f1.e23 + set Prompt $Parent.f1.p23 + ttk::label $Prompt -text "Use All Warehouses :" +ttk::checkbutton $Name -text "" -variable allwarehouse -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 25 -sticky e + grid $Name -column 1 -row 25 -sticky ew +if {$oradriver == "standard" } { + $Name configure -state disabled + } +set Name $Parent.f1.e24 + set Prompt $Parent.f1.p24 + ttk::label $Prompt -text "Time Profile :" +ttk::checkbutton $Name -text "" -variable timeprofile -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 26 -sticky e + grid $Name -column 1 -row 26 -sticky ew if {$oradriver == "standard" } { $Name configure -state disabled } @@ -4013,7 +4096,7 @@ if { $option eq "all" || $option eq "drive" } { } proc configmytpcc {option} { -global mysql_host mysql_port my_count_ware mysql_user mysql_pass mysql_dbase storage_engine mysql_partition mysql_num_threads my_total_iterations my_raiseerror my_keyandthink boxes driveroptlo mysqldriver my_rampup my_duration storage_engine defaultBackground defaultForeground +global mysql_host mysql_port my_count_ware mysql_user mysql_pass mysql_dbase storage_engine mysql_partition mysql_num_threads my_total_iterations my_raiseerror my_keyandthink boxes driveroptlo mysqldriver my_rampup my_duration my_allwarehouse my_timeprofile storage_engine defaultBackground defaultForeground if { ![ info exists mysql_host ] } { set mysql_host "127.0.0.1" } if { ![ info exists mysql_port ] } { set mysql_port "3306" } @@ -4030,6 +4113,8 @@ if { ![ info exists my_keyandthink ] } { set my_keyandthink "false" } if { ![ info exists mysqldriver ] } { set mysqldriver "standard" } if { ![ info exists my_rampup ] } { set my_rampup "2" } if { ![ info exists my_duration ] } { set my_duration "5" } +if { ![ info exists my_allwarehouse ] } { set my_allwarehouse "false" } +if { ![ info exists my_timeprofile ] } { set my_timeprofile "false" } global _ED catch "destroy .tpc" ttk::toplevel .tpc @@ -4149,8 +4234,12 @@ set Name $Parent.f1.r1 ttk::radiobutton $Name -value "standard" -text "Standard Driver Script" -variable mysqldriver grid $Name -column 1 -row 12 -sticky w bind .tpc.f1.r1 { +set my_allwarehouse "false" +set my_timeprofile "false" .tpc.f1.e17 configure -state disabled .tpc.f1.e18 configure -state disabled +.tpc.f1.e19 configure -state disabled +.tpc.f1.e20 configure -state disabled } set Name $Parent.f1.r2 ttk::radiobutton $Name -value "timed" -text "Timed Test Driver Script" -variable mysqldriver @@ -4158,6 +4247,8 @@ grid $Name -column 1 -row 13 -sticky w bind .tpc.f1.r2 { .tpc.f1.e17 configure -state normal .tpc.f1.e18 configure -state normal +.tpc.f1.e19 configure -state normal +.tpc.f1.e20 configure -state normal } set Name $Parent.f1.e14 set Prompt $Parent.f1.p14 @@ -4195,6 +4286,24 @@ set Name $Parent.f1.e18 if {$mysqldriver == "standard" } { $Name configure -state disabled } +set Name $Parent.f1.e19 + set Prompt $Parent.f1.p19 + ttk::label $Prompt -text "Use All Warehouses :" +ttk::checkbutton $Name -text "" -variable my_allwarehouse -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 19 -sticky e + grid $Name -column 1 -row 19 -sticky ew +if {$mysqldriver == "standard" } { + $Name configure -state disabled + } +set Name $Parent.f1.e20 + set Prompt $Parent.f1.p20 + ttk::label $Prompt -text "Time Profile :" +ttk::checkbutton $Name -text "" -variable my_timeprofile -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 20 -sticky e + grid $Name -column 1 -row 20 -sticky ew +if {$mysqldriver == "standard" } { + $Name configure -state disabled + } } set Name $Parent.b2 ttk::button $Name -command {destroy .tpc} -text Cancel @@ -4224,7 +4333,7 @@ if { $option eq "all" || $option eq "drive" } { } proc configmssqlstpcc {option} { -global mssqls_server mssqls_port mssqls_authentication mssqls_odbc_driver mssqls_count_ware mssqls_num_threads mssqls_uid mssqls_pass mssqls_dbase mssqls_imdb mssqls_bucket mssqls_durability mssqls_total_iterations mssqls_raiseerror mssqls_keyandthink mssqlsdriver mssqls_rampup mssqls_duration mssqls_checkpoint boxes driveroptlo defaultBackground defaultForeground +global mssqls_server mssqls_port mssqls_authentication mssqls_odbc_driver mssqls_count_ware mssqls_num_threads mssqls_uid mssqls_pass mssqls_dbase mssqls_imdb mssqls_bucket mssqls_durability mssqls_total_iterations mssqls_raiseerror mssqls_keyandthink mssqlsdriver mssqls_rampup mssqls_duration mssqls_allwarehouse mssqls_timeprofile mssqls_checkpoint boxes driveroptlo defaultBackground defaultForeground if { ![ info exists mssqls_server ] } { set mssqls_server "(local)" } if { ![ info exists mssqls_port ] } { set mssqls_port "1433" } if { ![ info exists mssqls_count_ware ] } { set mssqls_count_ware "1" } @@ -4244,6 +4353,8 @@ if { ![ info exists mssqlsdriver ] } { set mssqlsdriver "standard" } if { ![ info exists mssqls_rampup ] } { set mssqls_rampup "2" } if { ![ info exists mssqls_duration ] } { set mssqls_duration "5" } if { ![ info exists mssqls_checkpoint ] } { set mssqls_checkpoint "false" } +if { ![ info exists mssqls_allwarehouse ] } { set mssqls_allwarehouse "false" } +if { ![ info exists mssqls_timeprofile ] } { set mssqls_timeprofile "false" } global _ED catch "destroy .tpc" ttk::toplevel .tpc @@ -4416,9 +4527,13 @@ ttk::radiobutton $Name -value "standard" -text "Standard Driver Script" -variabl grid $Name -column 1 -row 16 -sticky w bind .tpc.f1.r3 { set mssqls_checkpoint "false" +set mssqls_allwarehouse "false" +set mssqls_timeprofile "false" .tpc.f1.e17 configure -state disabled .tpc.f1.e18 configure -state disabled .tpc.f1.e19 configure -state disabled +.tpc.f1.e20 configure -state disabled +.tpc.f1.e21 configure -state disabled } set Name $Parent.f1.r4 ttk::radiobutton $Name -value "timed" -text "Timed Test Driver Script" -variable mssqlsdriver @@ -4427,6 +4542,8 @@ bind .tpc.f1.r4 { .tpc.f1.e17 configure -state normal .tpc.f1.e18 configure -state normal .tpc.f1.e19 configure -state normal +.tpc.f1.e20 configure -state normal +.tpc.f1.e21 configure -state normal } set Name $Parent.f1.e14 set Prompt $Parent.f1.p14 @@ -4473,6 +4590,24 @@ set Name $Parent.f1.e19 if {$mssqlsdriver == "standard" } { $Name configure -state disabled } +set Name $Parent.f1.e20 + set Prompt $Parent.f1.p20 + ttk::label $Prompt -text "Use All Warehouses :" +ttk::checkbutton $Name -text "" -variable mssqls_allwarehouse -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 24 -sticky e + grid $Name -column 1 -row 24 -sticky ew +if {$mssqlsdriver == "standard" } { + $Name configure -state disabled + } +set Name $Parent.f1.e21 + set Prompt $Parent.f1.p21 + ttk::label $Prompt -text "Time Profile :" +ttk::checkbutton $Name -text "" -variable mssqls_timeprofile -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 25 -sticky e + grid $Name -column 1 -row 25 -sticky ew +if {$mssqlsdriver == "standard" } { + $Name configure -state disabled + } } set Name $Parent.b2 ttk::button $Name -command {destroy .tpc} -text Cancel @@ -4503,7 +4638,7 @@ if { $option eq "all" || $option eq "drive" } { } proc configdb2tpcc {option} { -global db2_count_ware db2_num_threads db2_user db2_pass db2_dbase db2_def_tab db2_tab_list db2_partition db2_total_iterations db2_raiseerror db2_keyandthink db2driver db2_rampup db2_duration db2_monreport boxes driveroptlo defaultBackground defaultForeground +global db2_count_ware db2_num_threads db2_user db2_pass db2_dbase db2_def_tab db2_tab_list db2_partition db2_total_iterations db2_raiseerror db2_keyandthink db2driver db2_rampup db2_duration db2_allwarehouse db2_timeprofile db2_monreport boxes driveroptlo defaultBackground defaultForeground if { ![ info exists db2_count_ware ] } { set db2_count_ware "1" } if { ![ info exists db2_user ] } { set db2_user "db2inst1" } if { ![ info exists db2_pass ] } { set db2_pass "ibmdb2" } @@ -4519,6 +4654,8 @@ if { ![ info exists db2driver ] } { set db2driver "standard" } if { ![ info exists db2_rampup ] } { set db2_rampup "2" } if { ![ info exists db2_duration ] } { set db2_duration "5" } if { ![ info exists db2_monreport ] } { set db2_monreport "0" } +if { ![ info exists db2_allwarehouse ] } { set db2_allwarehouse "false" } +if { ![ info exists db2_timeprofile ] } { set db2_timeprofile "false" } global _ED catch "destroy .tpc" ttk::toplevel .tpc @@ -4632,9 +4769,13 @@ set Name $Parent.f1.r1 ttk::radiobutton $Name -value "standard" -text "Standard Driver Script" -variable db2driver grid $Name -column 1 -row 12 -sticky w bind .tpc.f1.r1 { +set db2_allwarehouse "false" +set db2_timeprofile "false" .tpc.f1.e17 configure -state disabled .tpc.f1.e18 configure -state disabled .tpc.f1.e19 configure -state disabled +.tpc.f1.e20 configure -state disabled +.tpc.f1.e21 configure -state disabled if {$db2_monreport >= $db2_duration} { set db2_monreport 0 } @@ -4645,7 +4786,8 @@ grid $Name -column 1 -row 13 -sticky w bind .tpc.f1.r2 { .tpc.f1.e17 configure -state normal .tpc.f1.e18 configure -state normal -.tpc.f1.e19 configure -state normal +.tpc.f1.e20 configure -state normal +.tpc.f1.e21 configure -state normal if {$db2_monreport >= $db2_duration} { set db2_monreport 0 } @@ -4698,6 +4840,24 @@ if {$db2driver == "standard" } { if {$db2_monreport >= $db2_duration} { set db2_monreport 0 } +set Name $Parent.f1.e20 + set Prompt $Parent.f1.p20 + ttk::label $Prompt -text "Use All Warehouses :" +ttk::checkbutton $Name -text "" -variable db2_allwarehouse -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 20 -sticky e + grid $Name -column 1 -row 20 -sticky ew +if {$db2driver == "standard" } { + $Name configure -state disabled + } +set Name $Parent.f1.e21 + set Prompt $Parent.f1.p21 + ttk::label $Prompt -text "Time Profile :" +ttk::checkbutton $Name -text "" -variable db2_timeprofile -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 21 -sticky e + grid $Name -column 1 -row 21 -sticky ew +if {$db2driver == "standard" } { + $Name configure -state disabled + } } set Name $Parent.b2 ttk::button $Name -command {destroy .tpc} -text Cancel @@ -4730,7 +4890,7 @@ set db2_monreport 0 } proc configpgtpcc {option} { -global pg_host pg_port pg_count_ware pg_superuser pg_superuserpass pg_defaultdbase pg_user pg_pass pg_dbase pg_vacuum pg_dritasnap pg_oracompat pg_num_threads pg_total_iterations pg_raiseerror pg_keyandthink pg_driver pg_rampup pg_duration boxes driveroptlo defaultBackground defaultForeground +global pg_host pg_port pg_count_ware pg_superuser pg_superuserpass pg_defaultdbase pg_user pg_pass pg_dbase pg_vacuum pg_dritasnap pg_oracompat pg_num_threads pg_total_iterations pg_raiseerror pg_keyandthink pg_driver pg_rampup pg_duration pg_allwarehouse pg_timeprofile boxes driveroptlo defaultBackground defaultForeground if { ![ info exists pg_host ] } { set pg_host "localhost" } if { ![ info exists pg_port ] } { set pg_port "5432" } if { ![ info exists pg_count_ware ] } { set pg_count_ware "1" } @@ -4750,6 +4910,8 @@ if { ![ info exists pg_keyandthink ] } { set pg_keyandthink "false" } if { ![ info exists pg_driver ] } { set pg_driver "standard" } if { ![ info exists pg_rampup ] } { set pg_rampup "2" } if { ![ info exists pg_duration ] } { set pg_duration "5" } +if { ![ info exists pg_allwarehouse ] } { set pg_allwarehouse "false" } +if { ![ info exists pg_timeprofile ] } { set pg_timeprofile "false" } if { $pg_oracompat eq "true" } { if { $pg_port eq "5432" } { set pg_port "5444" } if { $pg_superuser eq "postgres" } { set pg_superuser "enterprisedb" } @@ -4894,10 +5056,14 @@ grid $Name -column 1 -row 13 -sticky w bind .tpc.f1.r1 { set pg_vacuum "false" set pg_dritasnap "false" +set pg_allwarehouse "false" +set pg_timeprofile "false" .tpc.f1.e19 configure -state disabled .tpc.f1.e20 configure -state disabled .tpc.f1.e21 configure -state disabled .tpc.f1.e22 configure -state disabled +.tpc.f1.e23 configure -state disabled +.tpc.f1.e24 configure -state disabled } set Name $Parent.f1.r2 ttk::radiobutton $Name -value "timed" -text "Timed Test Driver Script" -variable pg_driver @@ -4907,6 +5073,8 @@ bind .tpc.f1.r2 { .tpc.f1.e20 configure -state normal .tpc.f1.e21 configure -state normal .tpc.f1.e22 configure -state normal +.tpc.f1.e23 configure -state normal +.tpc.f1.e24 configure -state normal } set Name $Parent.f1.e15 set Prompt $Parent.f1.p15 @@ -4962,6 +5130,24 @@ set Name $Parent.f1.e22 if {$pg_driver == "standard" } { $Name configure -state disabled } +set Name $Parent.f1.e23 + set Prompt $Parent.f1.p23 + ttk::label $Prompt -text "Use All Warehouses :" + ttk::checkbutton $Name -text "" -variable pg_allwarehouse -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 23 -sticky e + grid $Name -column 1 -row 23 -sticky ew +if {$pg_driver == "standard" } { + $Name configure -state disabled + } +set Name $Parent.f1.e24 + set Prompt $Parent.f1.p24 + ttk::label $Prompt -text "Time Profile :" + ttk::checkbutton $Name -text "" -variable pg_timeprofile -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 24 -sticky e + grid $Name -column 1 -row 24 -sticky ew +if {$pg_driver == "standard" } { + $Name configure -state disabled + } } set Name $Parent.b2 ttk::button $Name -command {destroy .tpc} -text Cancel @@ -4991,7 +5177,7 @@ if { $option eq "all" || $option eq "drive" } { } proc configredistpcc { option } { -global redis_host redis_port redis_namespace redis_count_ware redis_num_threads redis_total_iterations redis_raiseerror redis_keyandthink redis_driver redis_rampup redis_duration boxes driveroptlo defaultBackground defaultForeground +global redis_host redis_port redis_namespace redis_count_ware redis_num_threads redis_total_iterations redis_raiseerror redis_keyandthink redis_driver redis_rampup redis_duration redis_allwarehouse redis_timeprofile boxes driveroptlo defaultBackground defaultForeground if { ![ info exists redis_host ] } { set redis_host "127.0.0.1" } if { ![ info exists redis_port ] } { set redis_port "6379" } if { ![ info exists redis_namespace ] } { set redis_namespace "1" } @@ -5003,6 +5189,8 @@ if { ![ info exists redis_keyandthink ] } { set redis_keyandthink "false" } if { ![ info exists redis_driver ] } { set redis_driver "standard" } if { ![ info exists redis_rampup ] } { set redis_rampup "2" } if { ![ info exists redis_duration ] } { set redis_duration "5" } +if { ![ info exists redis_allwarehouse ] } { set redis_allwarehouse "false" } +if { ![ info exists redis_timeprofile ] } { set redis_timeprofile "false" } global _ED catch "destroy .tpc" ttk::toplevel .tpc @@ -5089,8 +5277,12 @@ set Name $Parent.f1.r1 ttk::radiobutton $Name -value "standard" -text "Standard Driver Script" -variable redis_driver grid $Name -column 1 -row 7 -sticky w bind .tpc.f1.r1 { +set redis_allwarehouse "false" +set redis_timeprofile "false" .tpc.f1.e11 configure -state disabled .tpc.f1.e12 configure -state disabled +.tpc.f1.e13 configure -state disabled +.tpc.f1.e14 configure -state disabled } set Name $Parent.f1.r2 ttk::radiobutton $Name -value "timed" -text "Timed Test Driver Script" -variable redis_driver @@ -5098,6 +5290,8 @@ grid $Name -column 1 -row 8 -sticky w bind .tpc.f1.r2 { .tpc.f1.e11 configure -state normal .tpc.f1.e12 configure -state normal +.tpc.f1.e13 configure -state normal +.tpc.f1.e14 configure -state normal } set Name $Parent.f1.e8 set Prompt $Parent.f1.p8 @@ -5135,6 +5329,24 @@ set Name $Parent.f1.e12 if {$redis_driver == "standard" } { $Name configure -state disabled } +set Name $Parent.f1.e13 + set Prompt $Parent.f1.p13 + ttk::label $Prompt -text "Use All Warehouses :" +ttk::checkbutton $Name -text "" -variable redis_allwarehouse -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 14 -sticky e + grid $Name -column 1 -row 14 -sticky ew +if {$redis_driver == "standard" } { + $Name configure -state disabled + } +set Name $Parent.f1.e14 + set Prompt $Parent.f1.p14 + ttk::label $Prompt -text "Time Profile :" +ttk::checkbutton $Name -text "" -variable redis_timeprofile -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 15 -sticky e + grid $Name -column 1 -row 15 -sticky ew +if {$redis_driver == "standard" } { + $Name configure -state disabled + } } set Name $Parent.b2 ttk::button $Name -command {destroy .tpc} -text Cancel @@ -5159,7 +5371,7 @@ if { $option eq "all" || $option eq "drive" } { } proc configtraftpcc { option } { -global trafodion_dsn trafodion_odbc_driver trafodion_server trafodion_port trafodion_userid trafodion_password trafodion_schema trafodion_count_ware trafodion_num_threads trafodion_load_type trafodion_load_data trafodion_node_list trafodion_copy_remote trafodion_build_jsps trafodion_total_iterations trafodion_raiseerror trafodion_keyandthink trafodion_driver trafodion_rampup trafodion_duration boxes driveroptlo defaultBackground defaultForeground +global trafodion_dsn trafodion_odbc_driver trafodion_server trafodion_port trafodion_userid trafodion_password trafodion_schema trafodion_count_ware trafodion_num_threads trafodion_load_type trafodion_load_data trafodion_node_list trafodion_copy_remote trafodion_build_jsps trafodion_total_iterations trafodion_raiseerror trafodion_keyandthink trafodion_driver trafodion_rampup trafodion_duration trafodion_allwarehouse trafodion_timeprofile boxes driveroptlo defaultBackground defaultForeground if { ![ info exists trafodion_dsn ] } { set trafodion_dsn "Default_DataSource" } if { ![ info exists trafodion_odbc_driver ] } { set trafodion_odbc_driver "Trafodion" } if { ![ info exists trafodion_server ] } { set trafodion_server "sandbox" } @@ -5180,6 +5392,8 @@ if { ![ info exists trafodion_keyandthink ] } { set trafodion_keyandthink "fals if { ![ info exists trafodion_driver ] } { set trafodion_driver "standard" } if { ![ info exists trafodion_rampup ] } { set trafodion_rampup "2" } if { ![ info exists trafodion_duration ] } { set trafodion_duration "5" } +if { ![ info exists trafodion_allwarehouse ] } { set trafodion_allwarehouse "false" } +if { ![ info exists trafodion_timeprofile ] } { set trafodion_timeprofile "false" } global _ED catch "destroy .tpc" ttk::toplevel .tpc @@ -5380,8 +5594,12 @@ set Name $Parent.f1.r3 ttk::radiobutton $Name -value "standard" -text "Standard Driver Script" -variable trafodion_driver grid $Name -column 1 -row 17 -sticky w bind .tpc.f1.r3 { +set trafodion_allwarehouse "false" +set trafodion_timeprofile "false" .tpc.f1.e22 configure -state disabled .tpc.f1.e23 configure -state disabled +.tpc.f1.e24 configure -state disabled +.tpc.f1.e25 configure -state disabled } set Name $Parent.f1.r4 ttk::radiobutton $Name -value "timed" -text "Timed Test Driver Script" -variable trafodion_driver @@ -5389,6 +5607,8 @@ grid $Name -column 1 -row 18 -sticky w bind .tpc.f1.r4 { .tpc.f1.e22 configure -state normal .tpc.f1.e23 configure -state normal +.tpc.f1.e24 configure -state normal +.tpc.f1.e25 configure -state normal } set Name $Parent.f1.e19 set Prompt $Parent.f1.p19 @@ -5426,6 +5646,24 @@ set Name $Parent.f1.e23 if {$trafodion_driver == "standard" } { $Name configure -state disabled } +set Name $Parent.f1.e24 + set Prompt $Parent.f1.p24 + ttk::label $Prompt -text "Use All Warehouses :" +ttk::checkbutton $Name -text "" -variable trafodion_allwarehouse -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 24 -sticky e + grid $Name -column 1 -row 24 -sticky ew +if {$trafodion_driver == "standard" } { + $Name configure -state disabled + } +set Name $Parent.f1.e25 + set Prompt $Parent.f1.p25 + ttk::label $Prompt -text "Time Profile :" +ttk::checkbutton $Name -text "" -variable trafodion_timeprofile -onvalue "true" -offvalue "false" + grid $Prompt -column 0 -row 25 -sticky e + grid $Name -column 1 -row 25 -sticky ew +if {$trafodion_driver == "standard" } { + $Name configure -state disabled + } } set Name $Parent.b2 ttk::button $Name -command {destroy .tpc} -text Cancel diff --git a/hdb-components/hdb_tpcc.tcl b/hdb-components/hdb_tpcc.tcl index bbd66113..59623e27 100644 --- a/hdb-components/hdb_tpcc.tcl +++ b/hdb-components/hdb_tpcc.tcl @@ -1,5 +1,5 @@ proc check_oratpcc {} { -global instance system_user system_password count_ware tpcc_user tpcc_pass tpcc_def_tab tpcc_ol_tab tpcc_def_temp count_ware plsql directory partition tpcc_tt_compat num_threads maxvuser suppo ntimes threadscreated _ED +global instance system_user system_password count_ware tpcc_user tpcc_pass tpcc_def_tab tpcc_ol_tab tpcc_def_temp count_ware plsql directory partition hash_clusters tpcc_tt_compat num_threads maxvuser suppo ntimes threadscreated _ED if { ![ info exists system_user ] } { set system_user "system" } if { ![ info exists system_password ] } { set system_password "manager" } if { ![ info exists instance ] } { set instance "oracle" } @@ -13,6 +13,7 @@ if { ![ info exists count_ware ] } { set count_ware 1 } if { ![ info exists plsql ] } { set plsql 0 } if { ![ info exists directory ] } { set directory [ findtempdir ] } if { ![ info exists partition ] } { set partition "false" } +if { ![ info exists hash_clusters ] } { set hash_clusters "false" } if { ![ info exists tpcc_tt_compat ] } { set tpcc_tt_compat "false" } if { ![ info exists num_threads ] } { set num_threads "1" } if { $tpcc_tt_compat eq "true" } { @@ -35,7 +36,7 @@ puts "Failed to create thread(s) for schema creation: $message" return 1 } set act [ .ed_mainFrame.mainwin.textFrame.left.text index 1.0 ] -.ed_mainFrame.mainwin.textFrame.left.text fastinsert $act { #!/usr/local/bin/tclsh8.6 +.ed_mainFrame.mainwin.textFrame.left.text fastinsert $act {#!/usr/local/bin/tclsh8.6 if [catch {package require Oratcl} ] { error "Failed to load Oratcl - Oracle OCI Library Error" } proc CreateStoredProcs { lda timesten num_part } { puts "CREATING TPCC STORED PROCEDURES" @@ -891,7 +892,7 @@ oraclose $curn1 return } -proc CreateTables { lda num_part tpcc_ol_tab timesten } { +proc CreateTables { lda num_part tpcc_ol_tab timesten hash_clusters count_ware } { puts "CREATING TPCC TABLES" set curn1 [ oraopen $lda ] if { $timesten } { @@ -920,6 +921,30 @@ set sql(7$idx) "$sql(7$idx) SELECT * FROM ORDER_LINE_$p )" set sql(8) "create table TPCC.STOCK (S_I_ID TT_BIGINT, S_W_ID TT_INTEGER, S_QUANTITY TT_INTEGER, S_DIST_01 CHAR(24), S_DIST_02 CHAR(24), S_DIST_03 CHAR(24), S_DIST_04 CHAR(24), S_DIST_05 CHAR(24), S_DIST_06 CHAR(24), S_DIST_07 CHAR(24), S_DIST_08 CHAR(24), S_DIST_09 CHAR(24), S_DIST_10 CHAR(24), S_YTD TT_BIGINT, S_ORDER_CNT TT_INTEGER, S_REMOTE_CNT TT_INTEGER, S_DATA CHAR(50))" set sql(9) "create table TPCC.WAREHOUSE (W_ID TT_INTEGER, W_YTD BINARY_DOUBLE, W_TAX BINARY_DOUBLE, W_NAME CHAR(10), W_STREET_1 CHAR(20), W_STREET_2 CHAR(20), W_CITY CHAR(20), W_STATE CHAR(2), W_ZIP CHAR(9))" } else { +if { $hash_clusters } { +set blocksize 8000 +while 1 { if { ![ expr {$count_ware % 100} ] } { break } else { incr $count_ware } } +set ware_hkeys $count_ware +set dist_hkeys [ expr {$ware_hkeys * 10} ] +set cust_hkeys [ expr {$count_ware * 30000} ] +set cust_mult [ expr {$cust_hkeys / 3000} ] +set stock_hkeys [ expr {$count_ware * 100000} ] +set stock_mult $count_ware +set sqlclust(1) "CREATE CLUSTER CUSTCLUSTER (C_ID NUMBER(5, 0), C_D_ID NUMBER(2, 0), C_W_ID NUMBER(4, 0)) SINGLE TABLE HASHKEYS $cust_hkeys hash is ((c_id * $cust_mult)+(c_w_id * 10) + c_d_id) size 650 INITRANS 4 PCTFREE 0" +set sqlclust(2) "CREATE CLUSTER DISTCLUSTER (D_W_ID NUMBER(4, 0), D_ID NUMBER(2, 0)) SINGLE TABLE HASHKEYS $dist_hkeys hash is ((d_w_id) * 10 + d_id) size $blocksize INITRANS 4 PCTFREE 0" +set sqlclust(3) "CREATE CLUSTER ITEMCLUSTER (I_ID NUMBER(6, 0)) SINGLE TABLE HASHKEYS 100000 hash is i_id size 120 INITRANS 4 PCTFREE 0" +set sqlclust(4) "CREATE CLUSTER WARECLUSTER (W_ID NUMBER(4, 0)) SINGLE TABLE HASHKEYS $ware_hkeys hash is w_id size $blocksize INITRANS 4 PCTFREE 0" +set sqlclust(5) "CREATE CLUSTER STOCKCLUSTER (S_I_ID NUMBER(6, 0), S_W_ID NUMBER(4, 0)) SINGLE TABLE HASHKEYS $stock_hkeys hash is (s_i_id * $stock_mult + s_w_id) size 350 INITRANS 4 PCTFREE 0" +set sql(1) "CREATE TABLE CUSTOMER (C_ID NUMBER(5, 0), C_D_ID NUMBER(2, 0), C_W_ID NUMBER(4, 0), C_FIRST VARCHAR2(16), C_MIDDLE CHAR(2), C_LAST VARCHAR2(16), C_STREET_1 VARCHAR2(20), C_STREET_2 VARCHAR2(20), C_CITY VARCHAR2(20), C_STATE CHAR(2), C_ZIP CHAR(9), C_PHONE CHAR(16), C_SINCE DATE, C_CREDIT CHAR(2), C_CREDIT_LIM NUMBER(12, 2), C_DISCOUNT NUMBER(4, 4), C_BALANCE NUMBER(12, 2), C_YTD_PAYMENT NUMBER(12, 2), C_PAYMENT_CNT NUMBER(8, 0), C_DELIVERY_CNT NUMBER(8, 0), C_DATA VARCHAR2(500)) CLUSTER CUSTCLUSTER (C_ID, C_D_ID, C_W_ID)" +set sql(2) "CREATE TABLE DISTRICT (D_ID NUMBER(2, 0), D_W_ID NUMBER(4, 0), D_YTD NUMBER(12, 2), D_TAX NUMBER(4, 4), D_NEXT_O_ID NUMBER, D_NAME VARCHAR2(10), D_STREET_1 VARCHAR2(20), D_STREET_2 VARCHAR2(20), D_CITY VARCHAR2(20), D_STATE CHAR(2), D_ZIP CHAR(9)) CLUSTER DISTCLUSTER (D_W_ID, D_ID)" +set sql(3) "CREATE TABLE HISTORY (H_C_ID NUMBER, H_C_D_ID NUMBER, H_C_W_ID NUMBER, H_D_ID NUMBER, H_W_ID NUMBER, H_DATE DATE, H_AMOUNT NUMBER(6, 2), H_DATA VARCHAR2(24)) INITRANS 4 MAXTRANS 16 PCTFREE 10" +set sql(4) "CREATE TABLE ITEM (I_ID NUMBER(6, 0), I_IM_ID NUMBER, I_NAME VARCHAR2(24), I_PRICE NUMBER(5, 2), I_DATA VARCHAR2(50)) CLUSTER ITEMCLUSTER(I_ID)" +set sql(5) "CREATE TABLE WAREHOUSE (W_ID NUMBER(4, 0), W_YTD NUMBER(12, 2), W_TAX NUMBER(4, 4), W_NAME VARCHAR2(10), W_STREET_1 VARCHAR2(20), W_STREET_2 VARCHAR2(20), W_CITY VARCHAR2(20), W_STATE CHAR(2), W_ZIP CHAR(9)) CLUSTER WARECLUSTER(W_ID)" +set sql(6) "CREATE TABLE STOCK (S_I_ID NUMBER(6, 0), S_W_ID NUMBER(4, 0), S_QUANTITY NUMBER(6, 0), S_DIST_01 CHAR(24), S_DIST_02 CHAR(24), S_DIST_03 CHAR(24), S_DIST_04 CHAR(24), S_DIST_05 CHAR(24), S_DIST_06 CHAR(24), S_DIST_07 CHAR(24), S_DIST_08 CHAR(24), S_DIST_09 CHAR(24), S_DIST_10 CHAR(24), S_YTD NUMBER(10, 0), S_ORDER_CNT NUMBER(6, 0), S_REMOTE_CNT NUMBER(6, 0), S_DATA VARCHAR2(50)) CLUSTER STOCKCLUSTER(S_I_ID, S_W_ID)" +set sql(7) "CREATE TABLE NEW_ORDER (NO_W_ID NUMBER, NO_D_ID NUMBER, NO_O_ID NUMBER, CONSTRAINT INORD PRIMARY KEY (NO_W_ID, NO_D_ID, NO_O_ID) ENABLE) ORGANIZATION INDEX NOCOMPRESS INITRANS 4 MAXTRANS 16 PCTFREE 10" +set sql(8) "CREATE TABLE ORDERS (O_ID NUMBER, O_W_ID NUMBER, O_D_ID NUMBER, O_C_ID NUMBER, O_CARRIER_ID NUMBER, O_OL_CNT NUMBER, O_ALL_LOCAL NUMBER, O_ENTRY_D DATE) INITRANS 4 MAXTRANS 16 PCTFREE 10" +set sql(9) "CREATE TABLE ORDER_LINE (OL_W_ID NUMBER, OL_D_ID NUMBER, OL_O_ID NUMBER, OL_NUMBER NUMBER, OL_I_ID NUMBER, OL_DELIVERY_D DATE, OL_AMOUNT NUMBER, OL_SUPPLY_W_ID NUMBER, OL_QUANTITY NUMBER, OL_DIST_INFO CHAR(24), CONSTRAINT IORDL PRIMARY KEY (OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER) ENABLE) ORGANIZATION INDEX NOCOMPRESS INITRANS 4 MAXTRANS 16 PCTFREE 10 PARTITION BY HASH(OL_W_ID) PARTITIONS $num_part TABLESPACE $tpcc_ol_tab" + } else { set sql(1) "CREATE TABLE CUSTOMER (C_ID NUMBER(5, 0), C_D_ID NUMBER(2, 0), C_W_ID NUMBER(4, 0), C_FIRST VARCHAR2(16), C_MIDDLE CHAR(2), C_LAST VARCHAR2(16), C_STREET_1 VARCHAR2(20), C_STREET_2 VARCHAR2(20), C_CITY VARCHAR2(20), C_STATE CHAR(2), C_ZIP CHAR(9), C_PHONE CHAR(16), C_SINCE DATE, C_CREDIT CHAR(2), C_CREDIT_LIM NUMBER(12, 2), C_DISCOUNT NUMBER(4, 4), C_BALANCE NUMBER(12, 2), C_YTD_PAYMENT NUMBER(12, 2), C_PAYMENT_CNT NUMBER(8, 0), C_DELIVERY_CNT NUMBER(8, 0), C_DATA VARCHAR2(500)) INITRANS 4 MAXTRANS 16 PCTFREE 10" set sql(2) "CREATE TABLE DISTRICT (D_ID NUMBER(2, 0), D_W_ID NUMBER(4, 0), D_YTD NUMBER(12, 2), D_TAX NUMBER(4, 4), D_NEXT_O_ID NUMBER, D_NAME VARCHAR2(10), D_STREET_1 VARCHAR2(20), D_STREET_2 VARCHAR2(20), D_CITY VARCHAR2(20), D_STATE CHAR(2), D_ZIP CHAR(9)) INITRANS 4 MAXTRANS 16 PCTFREE 99 PCTUSED 1" set sql(3) "CREATE TABLE HISTORY (H_C_ID NUMBER, H_C_D_ID NUMBER, H_C_W_ID NUMBER, H_D_ID NUMBER, H_W_ID NUMBER, H_DATE DATE, H_AMOUNT NUMBER(6, 2), H_DATA VARCHAR2(24)) INITRANS 4 MAXTRANS 16 PCTFREE 10" @@ -933,8 +958,16 @@ set sql(9) "CREATE TABLE ORDER_LINE (OL_W_ID NUMBER, OL_D_ID NUMBER, OL_O_ID NUM } else { set sql(9) "CREATE TABLE ORDER_LINE (OL_W_ID NUMBER, OL_D_ID NUMBER, OL_O_ID NUMBER, OL_NUMBER NUMBER, OL_I_ID NUMBER, OL_DELIVERY_D DATE, OL_AMOUNT NUMBER, OL_SUPPLY_W_ID NUMBER, OL_QUANTITY NUMBER, OL_DIST_INFO CHAR(24), CONSTRAINT IORDL PRIMARY KEY (OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER) ENABLE) ORGANIZATION INDEX NOCOMPRESS INITRANS 4 MAXTRANS 16 PCTFREE 10 PARTITION BY HASH(OL_W_ID) PARTITIONS $num_part TABLESPACE $tpcc_ol_tab" } - } - + } +} +if { $hash_clusters } { +for { set j 1 } { $j <= 5 } { incr j } { +if {[ catch {orasql $curn1 $sqlclust($j)} message ] } { +puts "$message $sql($j)" +puts [ oramsg $curn1 all ] + } + } + } for { set i 1 } { $i <= 9 } { incr i } { if { $i eq 7 && $timesten && $num_part eq 10 } { set partidx [ list a b c d e f g h i j k ] @@ -954,7 +987,7 @@ oraclose $curn1 return } -proc CreateIndexes { lda timesten num_part } { +proc CreateIndexes { lda timesten num_part hash_clusters } { puts "CREATING TPCC INDEXES" set curn1 [ oraopen $lda ] set stmt_cnt 9 @@ -994,6 +1027,27 @@ set sql(18) "create unique index TPCC.CUSTOMER_I1 on TPCC.CUSTOMER (C_W_ID, C_D_ set sql(19) "create unique index TPCC.CUSTOMER_I2 on TPCC.CUSTOMER (C_LAST, C_W_ID, C_D_ID, C_FIRST, C_ID)" } } else { +if { $hash_clusters } { +set stmt_cnt 18 +set sql(1) "alter session set sort_area_size=5000000" +set sql(2) "CREATE UNIQUE INDEX CUSTOMER_I1 ON CUSTOMER (C_W_ID, C_D_ID, C_ID) INITRANS 4 PCTFREE 1" +set sql(3) "CREATE UNIQUE INDEX CUSTOMER_I2 ON CUSTOMER (C_LAST, C_D_ID, C_W_ID, C_FIRST) INITRANS 4 PCTFREE 1" +set sql(4) "CREATE UNIQUE INDEX DISTRICT_I1 ON DISTRICT (D_W_ID, D_ID) INITRANS 4 PCTFREE 5" +set sql(5) "CREATE UNIQUE INDEX ITEM_I1 ON ITEM (I_ID) INITRANS 4 PCTFREE 5" +set sql(6) "CREATE UNIQUE INDEX ORDERS_I1 ON ORDERS (O_W_ID, O_D_ID, O_ID) INITRANS 4 PCTFREE 1" +set sql(7) "CREATE UNIQUE INDEX ORDERS_I2 ON ORDERS (O_W_ID, O_D_ID, O_C_ID, O_ID) INITRANS 4 PCTFREE 25" +set sql(8) "CREATE UNIQUE INDEX STOCK_I1 ON STOCK (S_I_ID, S_W_ID) INITRANS 4 PCTFREE 1" +set sql(9) "CREATE UNIQUE INDEX WAREHOUSE_I1 ON WAREHOUSE (W_ID) INITRANS 4 PCTFREE 1" +set sql(10) "ALTER TABLE WAREHOUSE DISABLE TABLE LOCK" +set sql(11) "ALTER TABLE DISTRICT DISABLE TABLE LOCK" +set sql(12) "ALTER TABLE CUSTOMER DISABLE TABLE LOCK" +set sql(13) "ALTER TABLE ITEM DISABLE TABLE LOCK" +set sql(14) "ALTER TABLE STOCK DISABLE TABLE LOCK" +set sql(15) "ALTER TABLE ORDERS DISABLE TABLE LOCK" +set sql(16) "ALTER TABLE NEW_ORDER DISABLE TABLE LOCK" +set sql(17) "ALTER TABLE ORDER_LINE DISABLE TABLE LOCK" +set sql(18) "ALTER TABLE HISTORY DISABLE TABLE LOCK" + } else { set sql(1) "alter session set sort_area_size=5000000" set sql(2) "CREATE UNIQUE INDEX CUSTOMER_I1 ON CUSTOMER ( C_W_ID, C_D_ID, C_ID) INITRANS 4 MAXTRANS 16 PCTFREE 10" set sql(3) "CREATE UNIQUE INDEX CUSTOMER_I2 ON CUSTOMER ( C_LAST, C_W_ID, C_D_ID, C_FIRST, C_ID) INITRANS 4 MAXTRANS 16 PCTFREE 10" @@ -1003,6 +1057,7 @@ set sql(6) "CREATE UNIQUE INDEX ORDERS_I1 ON ORDERS (O_W_ID, O_D_ID, O_ID) INITR set sql(7) "CREATE UNIQUE INDEX ORDERS_I2 ON ORDERS (O_W_ID, O_D_ID, O_C_ID, O_ID) INITRANS 4 MAXTRANS 16 PCTFREE 10" set sql(8) "CREATE UNIQUE INDEX STOCK_I1 ON STOCK (S_I_ID, S_W_ID) INITRANS 4 MAXTRANS 16 PCTFREE 10" set sql(9) "CREATE UNIQUE INDEX WAREHOUSE_I1 ON WAREHOUSE (W_ID) INITRANS 4 MAXTRANS 16 PCTFREE 10" + } } for { set i 1 } { $i <= $stmt_cnt } { incr i } { if {[ catch {orasql $curn1 $sql($i)} message ] } { @@ -2760,7 +2815,7 @@ for {set d_id 1} {$d_id <= $DIST_PER_WARE } {incr d_id } { return } -proc do_tpcc { system_user system_password instance count_ware tpcc_user tpcc_pass tpcc_def_tab tpcc_ol_tab tpcc_def_temp plsql directory partition timesten num_threads } { +proc do_tpcc { system_user system_password instance count_ware tpcc_user tpcc_pass tpcc_def_tab tpcc_ol_tab tpcc_def_temp plsql directory partition timesten hash_clusters num_threads } { set MAXITEMS 100000 set CUST_PER_DIST 3000 set DIST_PER_WARE 10 @@ -2825,18 +2880,20 @@ SetNLS $lda if { $partition eq "true" } { if {$count_ware < 200} { set num_part 0 +set hash_clusters "false" } else { set num_part [ expr round($count_ware/100) ] } } else { set num_part 0 +set hash_clusters "false" }} -CreateTables $lda $num_part $tpcc_ol_tab $timesten +CreateTables $lda $num_part $tpcc_ol_tab $timesten $hash_clusters $count_ware if { $plsql eq 1 } { puts "DOING PL/SQL SERVER SIDE LOAD LOGGING TO $directory/tpcc_load.log" set timesten 0 ServerSidePackage $lda $count_ware -CreateIndexes $lda $timesten $num_part +CreateIndexes $lda $timesten $num_part $hash_clusters CreateStoredProcs $lda $timesten $num_part GatherStatistics $lda [ string toupper $tpcc_user ] $timesten $num_part puts "[ string toupper $tpcc_user ] SCHEMA COMPLETE" @@ -2919,7 +2976,7 @@ tsv::lreplace common thrdlst $myposition $myposition done } } if { $threaded eq "SINGLE-THREADED" || $threaded eq "MULTI-THREADED" && $myposition eq 1 } { -CreateIndexes $lda $timesten $num_part +CreateIndexes $lda $timesten $num_part $hash_clusters if { $timesten } { TTPLSQLSettings $lda } CreateStoredProcs $lda $timesten $num_part GatherStatistics $lda [ string toupper $tpcc_user ] $timesten $num_part @@ -2929,8 +2986,8 @@ return } } } -set act [ .ed_mainFrame.mainwin.textFrame.left.text index 2894.0 ] -.ed_mainFrame.mainwin.textFrame.left.text fastinsert $act "do_tpcc $system_user $system_password $instance $count_ware $tpcc_user $tpcc_pass $tpcc_def_tab $tpcc_ol_tab $tpcc_def_temp $plsql $directory $partition $tpcc_tt_compat $num_threads" +set act [ .ed_mainFrame.mainwin.textFrame.left.text index 2951.0 ] +.ed_mainFrame.mainwin.textFrame.left.text fastinsert $act "do_tpcc $system_user $system_password $instance $count_ware $tpcc_user $tpcc_pass $tpcc_def_tab $tpcc_ol_tab $tpcc_def_temp $plsql $directory $partition $tpcc_tt_compat $hash_clusters $num_threads" } else { return } } @@ -3229,7 +3286,7 @@ oralogoff $lda } proc loadoraawrtpcc { } { -global system_user system_password instance tpcc_user tpcc_pass total_iterations raiseerror keyandthink rampup duration opmode checkpoint tpcc_tt_compat _ED +global system_user system_password instance tpcc_user tpcc_pass total_iterations raiseerror keyandthink rampup duration allwarehouse timeprofile opmode checkpoint tpcc_tt_compat _ED if { ![ info exists system_user ] } { set system_user "system" } if { ![ info exists system_password ] } { set system_password "manager" } if { ![ info exists instance ] } { set instance "oracle" } @@ -3243,6 +3300,8 @@ if { ![ info exists duration ] } { set duration "5" } if { ![ info exists opmode ] } { set opmode "Local" } if { ![ info exists checkpoint ] } { set checkpoint "false" } if { ![ info exists tpcc_tt_compat ] } { set tpcc_tt_compat "false" } +if { ![ info exists allwarehouse ] } { set allwarehouse "false" } +if { ![ info exists timeprofile ] } { set timeprofile "false" } ed_edit_clear .ed_mainFrame.notebook select .ed_mainFrame.mainwin set _ED(packagekeyname) "TPC-C AWR" @@ -3685,8 +3744,7 @@ oraclose $curn_sl oraclose $curn_os oralogoff $lda } - } - } + }} } proc check_mssqltpcc {} { @@ -3940,7 +3998,6 @@ FROM dbo.new_order OUTPUT deleted.no_o_id INTO @d_out -- @d_no_o_id WHERE new_order.no_w_id = @d_w_id AND new_order.no_d_id = @d_d_id -AND new_order.no_o_id = @d_no_o_id SELECT @d_no_o_id = d_no_o_id FROM @d_out @@ -4644,7 +4701,6 @@ FROM dbo.new_order OUTPUT deleted.no_o_id INTO @d_out -- @d_no_o_id WHERE new_order.no_w_id = @d_w_id AND new_order.no_d_id = @d_d_id -AND new_order.no_o_id = @d_no_o_id SELECT @d_no_o_id = d_no_o_id FROM @d_out @@ -6451,8 +6507,7 @@ slev_st drop ostat_st drop odbc disconnect } - } - } + }} } proc check_db2tpcc {} { @@ -8188,8 +8243,7 @@ db2_finish $select_handle_no db2_finish $select_handle_dl db2_disconnect $db_handle } -} -} + }} } proc check_mytpcc {} { @@ -9824,8 +9878,7 @@ if { $KEYANDTHINK } { thinktime 5 } } mysqlclose $mysql_handler } - } - } + }} } proc check_pgtpcc {} { @@ -10746,11 +10799,12 @@ pg_result $result -clear return $lda } -proc CreateUserDatabase { lda db user password } { +proc CreateUserDatabase { lda db superuser user password } { puts "CREATING DATABASE $db under OWNER $user" set sql(1) "CREATE USER $user PASSWORD '$password'" -set sql(2) "CREATE DATABASE $db OWNER $user" -for { set i 1 } { $i <= 2 } { incr i } { +set sql(2) "GRANT $user to $superuser" +set sql(3) "CREATE DATABASE $db OWNER $user" +for { set i 1 } { $i <= 3 } { incr i } { set result [ pg_exec $lda $sql($i) ] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { error "[pg_result $result -error]" @@ -11265,12 +11319,12 @@ set threaded "SINGLE-THREADED" set num_threads 1 } if { $threaded eq "SINGLE-THREADED" || $threaded eq "MULTI-THREADED" && $myposition eq 1 } { -puts "CREATING [ string toupper $superuser ] SCHEMA" +puts "CREATING [ string toupper $user ] SCHEMA" set lda [ ConnectToPostgres $host $port $superuser $superuser_password $defaultdb ] if { $lda eq "Failed" } { error "error, the database connection to $host could not be established" } else { -CreateUserDatabase $lda $db $user $password +CreateUserDatabase $lda $db $superuser $user $password set result [ pg_exec $lda "commit" ] pg_result $result -clear pg_disconnect $lda @@ -11365,7 +11419,7 @@ return } } } -set act [ .ed_mainFrame.mainwin.textFrame.left.text index 1510.0 ] +set act [ .ed_mainFrame.mainwin.textFrame.left.text index 1511.0 ] .ed_mainFrame.mainwin.textFrame.left.text fastinsert $act "do_tpcc $pg_host $pg_port $pg_count_ware $pg_superuser $pg_superuserpass $pg_defaultdbase $pg_user $pg_pass $pg_dbase $pg_oracompat $pg_num_threads" } else { return } } @@ -12080,8 +12134,7 @@ if { $KEYANDTHINK } { thinktime 5 } } pg_disconnect $lda } - } - } + }} } proc check_redistpcc { } { @@ -13314,8 +13367,7 @@ if { $KEYANDTHINK } { thinktime 5 } } } } -$redis QUIT - } +$redis QUIT} } proc check_traftpcc { } { @@ -15915,3 +15967,56 @@ odbc close } }} } + +proc shared_tpcc_functions { tpccfunc } { +switch $tpccfunc { +allwarehouse { +#set additional text for all warehouses +set allwt(1) {set allwarehouses "true";# Use all warehouses to increase I/O +} +set allwt(2) {#2.4.1.1 does not apply when allwarehouses is true +if { $allwarehouses == "true" } { +set loadUserCount [expr $totalvirtualusers - 1] +set myWarehouses {} +lappend myWarehouses $myposition +set addMore 1 +while {$addMore > 0} { +set wh [expr $myposition + ($addMore * $loadUserCount)] +if {$wh > $w_id_input || $wh eq 1} { +set addMore 0 +} else { +lappend myWarehouses $wh +set addMore [expr $addMore + 1] +}} +set myWhCount [llength $myWarehouses] +} +} +set allwt(3) {if { $allwarehouses == "true" } { +set w_id [lindex $myWarehouses [expr [RandomNumber 1 $myWhCount] -1]] +} +} +#search for insert points and insert functions +set allwi(1) [.ed_mainFrame.mainwin.textFrame.left.text search -backwards "#EDITABLE OPTIONS##################################################" end ] +.ed_mainFrame.mainwin.textFrame.left.text fastinsert $allwi(1) $allwt(1) +set allwi(2) [.ed_mainFrame.mainwin.textFrame.left.text search -forwards "#2.4.1.1" $allwi(1) ] +.ed_mainFrame.mainwin.textFrame.left.text fastinsert $allwi(2) $allwt(2) +set allwi(3) [.ed_mainFrame.mainwin.textFrame.left.text search -forwards "set choice" $allwi(2) ] +.ed_mainFrame.mainwin.textFrame.left.text fastinsert $allwi(3) $allwt(3) + } +timeprofile { +#set additional text for all warehouses +set timept(1) {set timeprofile "true";# Output virtual user response times +} +set timept(2) {if {$timeprofile eq "true" && $myposition eq 2} {package require etprof} +} +set timept(3) {if {$timeprofile eq "true" && $myposition eq 2} {::etprof::printLiveInfo} +} +#search for insert points and insert functions +set timepi(1) [.ed_mainFrame.mainwin.textFrame.left.text search -backwards "#EDITABLE OPTIONS##################################################" end ] +.ed_mainFrame.mainwin.textFrame.left.text fastinsert $timepi(1) $timept(1) +set timepi(2) [.ed_mainFrame.mainwin.textFrame.left.text search -backwards "default \{" end ] +.ed_mainFrame.mainwin.textFrame.left.text fastinsert $timepi(2)+1l $timept(2) +.ed_mainFrame.mainwin.textFrame.left.text fastinsert end-2l $timept(3) + } + } +} diff --git a/hdb-components/hdb_tpch.tcl b/hdb-components/hdb_tpch.tcl index ce304d3d..cae11239 100644 --- a/hdb-components/hdb_tpch.tcl +++ b/hdb-components/hdb_tpch.tcl @@ -2979,17 +2979,18 @@ pg_result $result -clear return $lda } -proc CreateUserDatabase { lda db user password } { -puts "CREATING DATABASE $db under OWNER $user" +proc CreateUserDatabase { lda db superuser user password } { +puts "CREATING DATABASE $db under OWNER $user" set sql(1) "CREATE USER $user PASSWORD '$password'" -set sql(2) "CREATE DATABASE $db OWNER $user" -for { set i 1 } { $i <= 2 } { incr i } { +set sql(2) "GRANT $user to $superuser" +set sql(3) "CREATE DATABASE $db OWNER $user" +for { set i 1 } { $i <= 3 } { incr i } { set result [ pg_exec $lda $sql($i) ] if {[pg_result $result -status] != "PGRES_COMMAND_OK"} { error "[pg_result $result -error]" - } else { + } else { pg_result $result -clear - } + } } return } @@ -3768,7 +3769,7 @@ set lda [ ConnectToPostgres $host $port $superuser $superuser_password $defaultd if { $lda eq "Failed" } { error "error, the database connection to $host could not be established" } else { -CreateUserDatabase $lda $db $user $password +CreateUserDatabase $lda $db $superuser $user $password set result [ pg_exec $lda "commit" ] pg_result $result -clear pg_disconnect $lda @@ -3872,7 +3873,7 @@ return } } } -set act [ .ed_mainFrame.mainwin.textFrame.left.text index 934.0 ] +set act [ .ed_mainFrame.mainwin.textFrame.left.text index 935.0 ] .ed_mainFrame.mainwin.textFrame.left.text fastinsert $act "do_tpch $pg_host $pg_port $pg_scale_fact $pg_tpch_superuser $pg_tpch_superuserpass $pg_tpch_defaultdbase $pg_tpch_dbase $pg_tpch_user $pg_tpch_pass $pg_tpch_gpcompat $pg_tpch_gpcompress $pg_num_tpch_threads" } else { return } } @@ -5646,8 +5647,7 @@ do_tpch $connect $scale_factor $RAISEERROR $VERBOSE $degree_of_parallel $total_q } } else { do_tpch $connect $scale_factor $RAISEERROR $VERBOSE $degree_of_parallel $total_querysets $timesten $myposition - } - } + }} } proc loadmytpch { } { @@ -6461,8 +6461,7 @@ do_tpch $host $port $user $password $db $scale_factor $RAISEERROR $VERBOSE $tota } } else { do_tpch $host $port $user $password $db $scale_factor $RAISEERROR $VERBOSE $total_querysets $myposition - } - } + }} } proc loadmssqlstpch {} { @@ -7292,8 +7291,7 @@ do_tpch $server $port $scale_factor $odbc_driver $authentication $uid $pwd $data } } else { do_tpch $server $port $scale_factor $odbc_driver $authentication $uid $pwd $database $RAISEERROR $VERBOSE $maxdop $total_querysets $myposition - } - } + }} } proc loadpgtpch {} { @@ -8143,8 +8141,7 @@ do_tpch $host $port $db $user $password $scale_factor $RAISEERROR $VERBOSE $tota } } else { do_tpch $host $port $db $user $password $scale_factor $RAISEERROR $VERBOSE $total_querysets $myposition - } - } + }} } proc loaddb2tpch {} { @@ -8958,8 +8955,7 @@ do_tpch $dbname $user $password $scale_factor $RAISEERROR $VERBOSE $degree_of_pa } } else { do_tpch $dbname $user $password $scale_factor $RAISEERROR $VERBOSE $degree_of_parallel $total_querysets $myposition - } - } + }} } proc loadoracloud {} { diff --git a/hdb-components/hdb_xml.tcl b/hdb-components/hdb_xml.tcl index 2ab3c5a0..92e40088 100644 --- a/hdb-components/hdb_xml.tcl +++ b/hdb-components/hdb_xml.tcl @@ -1,5 +1,5 @@ proc get_xml_data {} { -global rdbms bm instance system_user system_password count_ware tpcc_user tpcc_pass tpcc_def_tab tpcc_def_temp num_threads plsql partition tpcc_tt_compat directory total_iterations raiseerror keyandthink checkpoint oradriver mysqldriver rampup duration tpch_user tpch_pass tpch_def_tab tpch_def_temp num_tpch_threads tpch_tt_compat scale_fact total_querysets raise_query_error verbose degree_of_parallel refresh_on update_sets trickle_refresh refresh_verbose maxvuser delayms conpause ntimes suppo optlog unique_log_name no_log_buffer unwind connectstr interval autor rac hostname id agent_hostname agent_id mysql_host mysql_port my_count_ware mysql_user mysql_pass mysql_dbase storage_engine mysql_partition mysql_num_threads my_total_iterations my_raiseerror my_keyandthink my_rampup my_duration mysql_scale_fact mysql_tpch_user mysql_tpch_pass mysql_tpch_dbase mysql_num_tpch_threads mysql_tpch_storage_engine mysql_refresh_on mysql_total_querysets mysql_raise_query_error mysql_verbose mysql_update_sets mysql_trickle_refresh mysql_refresh_verbose apmode apduration apsequence mssqls_server mssqls_linux_server mssqls_port mssqls_authentication mssqls_linux_authent mssqls_odbc_driver mssqls_linux_odbc mssqls_imdb mssqls_bucket mssqls_durability mssqls_count_ware mssqls_num_threads mssqls_uid mssqls_pass mssqls_dbase mssqls_total_iterations mssqls_raiseerror mssqls_keyandthink mssqlsdriver mssqls_rampup mssqls_duration mssqls_checkpoint mssqls_scale_fact mssqls_maxdop mssqls_uid mssqls_pass mssqls_tpch_dbase mssqls_num_tpch_threads mssqls_refresh_on mssqls_total_querysets mssqls_raise_query_error mssqls_verbose mssqls_update_sets mssqls_trickle_refresh mssqls_refresh_verbose mssqls_colstore pg_host pg_port pg_count_ware pg_superuser pg_superuserpass pg_defaultdbase pg_user pg_pass pg_dbase pg_vacuum pg_dritasnap pg_oracompat pg_num_threads pg_total_iterations pg_raiseerror pg_keyandthink pg_driver pg_rampup pg_duration pg_scale_fact pg_tpch_superuser pg_tpch_superuserpass pg_tpch_defaultdbase pg_tpch_user pg_tpch_pass pg_tpch_dbase pg_tpch_gpcompat pg_tpch_gpcompress pg_num_tpch_threads pg_total_querysets pg_raise_query_error pg_verbose pg_refresh_on pg_update_sets pg_trickle_refresh pg_refresh_verbose redis_host redis_port redis_namespace redis_count_ware redis_num_threads redis_total_iterations redis_raiseerror redis_keyandthink redis_driver redis_rampup redis_duration trafodion_dsn trafodion_odbc_driver trafodion_server trafodion_port trafodion_userid trafodion_password trafodion_schema trafodion_count_ware trafodion_num_threads trafodion_load_type trafodion_load_data trafodion_node_list trafodion_copy_remote trafodion_build_jsps trafodion_total_iterations trafodion_raiseerror trafodion_keyandthink trafodion_driver trafodion_rampup trafodion_duration db2_count_ware db2_num_threads db2_user db2_pass db2_dbase db2_def_tab db2_tab_list db2_partition db2_total_iterations db2_raiseerror db2_keyandthink db2driver db2_rampup db2_duration db2_monreport db2_scale_fact db2_tpch_user db2_tpch_pass db2_tpch_dbase db2_tpch_def_tab db2_num_tpch_threads db2_tpch_organizeby db2_total_querysets db2_raise_query_error db2_verbose db2_degree_of_parallel db2_refresh_on db2_update_sets db2_trickle_refresh db2_refresh_verbose highlight gen_count_ware gen_scale_fact gen_directory gen_num_threads cloud_query mysql_cloud_query pg_cloud_query pg_rs_compat +global rdbms bm instance system_user system_password count_ware tpcc_user tpcc_pass tpcc_def_tab tpcc_def_temp num_threads plsql partition hash_clusters tpcc_tt_compat directory total_iterations raiseerror keyandthink checkpoint oradriver mysqldriver rampup duration allwarehouse timeprofile tpch_user tpch_pass tpch_def_tab tpch_def_temp num_tpch_threads tpch_tt_compat scale_fact total_querysets raise_query_error verbose degree_of_parallel refresh_on update_sets trickle_refresh refresh_verbose maxvuser delayms conpause ntimes suppo optlog unique_log_name no_log_buffer unwind connectstr interval autor rac hostname id agent_hostname agent_id mysql_host mysql_port my_count_ware mysql_user mysql_pass mysql_dbase storage_engine mysql_partition mysql_num_threads my_total_iterations my_raiseerror my_keyandthink my_rampup my_duration my_allwarehouse my_timeprofile mysql_scale_fact mysql_tpch_user mysql_tpch_pass mysql_tpch_dbase mysql_num_tpch_threads mysql_tpch_storage_engine mysql_refresh_on mysql_total_querysets mysql_raise_query_error mysql_verbose mysql_update_sets mysql_trickle_refresh mysql_refresh_verbose apmode apduration apsequence mssqls_server mssqls_linux_server mssqls_port mssqls_authentication mssqls_linux_authent mssqls_odbc_driver mssqls_linux_odbc mssqls_imdb mssqls_bucket mssqls_durability mssqls_count_ware mssqls_num_threads mssqls_uid mssqls_pass mssqls_dbase mssqls_total_iterations mssqls_raiseerror mssqls_keyandthink mssqlsdriver mssqls_rampup mssqls_duration mssqls_timeprofile mssqls_allwarehouse mssqls_checkpoint mssqls_scale_fact mssqls_maxdop mssqls_uid mssqls_pass mssqls_tpch_dbase mssqls_num_tpch_threads mssqls_refresh_on mssqls_total_querysets mssqls_raise_query_error mssqls_verbose mssqls_update_sets mssqls_trickle_refresh mssqls_refresh_verbose mssqls_colstore pg_host pg_port pg_count_ware pg_superuser pg_superuserpass pg_defaultdbase pg_user pg_pass pg_dbase pg_vacuum pg_dritasnap pg_oracompat pg_num_threads pg_total_iterations pg_raiseerror pg_keyandthink pg_driver pg_rampup pg_duration pg_timeprofile pg_allwarehouse pg_scale_fact pg_tpch_superuser pg_tpch_superuserpass pg_tpch_defaultdbase pg_tpch_user pg_tpch_pass pg_tpch_dbase pg_tpch_gpcompat pg_tpch_gpcompress pg_num_tpch_threads pg_total_querysets pg_raise_query_error pg_verbose pg_refresh_on pg_update_sets pg_trickle_refresh pg_refresh_verbose redis_host redis_port redis_namespace redis_count_ware redis_num_threads redis_total_iterations redis_raiseerror redis_keyandthink redis_driver redis_rampup redis_duration redis_timeprofile redis_allwarehouse trafodion_dsn trafodion_odbc_driver trafodion_server trafodion_port trafodion_userid trafodion_password trafodion_schema trafodion_count_ware trafodion_num_threads trafodion_load_type trafodion_load_data trafodion_node_list trafodion_copy_remote trafodion_build_jsps trafodion_total_iterations trafodion_raiseerror trafodion_keyandthink trafodion_driver trafodion_rampup trafodion_duration trafodion_timeprofile trafodion_allwarehouse db2_count_ware db2_num_threads db2_user db2_pass db2_dbase db2_def_tab db2_tab_list db2_partition db2_total_iterations db2_raiseerror db2_keyandthink db2driver db2_rampup db2_duration db2_timeprofile db2_allwarehouse db2_monreport db2_scale_fact db2_tpch_user db2_tpch_pass db2_tpch_dbase db2_tpch_def_tab db2_num_tpch_threads db2_tpch_organizeby db2_total_querysets db2_raise_query_error db2_verbose db2_degree_of_parallel db2_refresh_on db2_update_sets db2_trickle_refresh db2_refresh_verbose highlight gen_count_ware gen_scale_fact gen_directory gen_num_threads cloud_query mysql_cloud_query pg_cloud_query pg_rs_compat if {[catch {set xml_fd [open "config.xml" r]}]} { puts "Could not open XML config file using default values" return diff --git a/readme b/readme index 0c5be06c..b888eb76 100644 --- a/readme +++ b/readme @@ -1,4 +1,4 @@ -HammerDB v2.22 for Linux/Windows 32bit/64-bit x86/x86-64 +HammerDB v2.23 for Linux 64-bit x86-64 If running from the installer executable package at a minimum only the Oracle Instant Client is required for Oracle functionality, SQL Server ODBC libraries for Microsoft SQL Server, DB2 CLI client for DB2, MySQL Client libraries for MySQL and Aurora, PostgreSQL client libraries for PostgreSQL, Greenplum and Redshift, TimesTen client libraries for TimesTen and Trafodion ODBC client libraries for Trafodion. Redis client interface is included. On both Linux and Windows the libraries must correspond to the same 32 or 64-bit version as the HammerDB release and the host operating system.