From 6481cddbbee3e5193abbb06c38276ac834f306e8 Mon Sep 17 00:00:00 2001 From: Chengyou Liu Date: Thu, 29 Feb 2024 14:39:00 +0800 Subject: [PATCH 1/2] tpch prepare support skip and only ddl --- cmd/go-tpc/tpch.go | 10 ++++++++++ tpch/workload.go | 11 ++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/cmd/go-tpc/tpch.go b/cmd/go-tpc/tpch.go index 963e7dd..15549ed 100644 --- a/cmd/go-tpc/tpch.go +++ b/cmd/go-tpc/tpch.go @@ -132,6 +132,16 @@ func registerTpch(root *cobra.Command) { 20, "kafka flush timeout seconds", ) + cmdPrepare.PersistentFlags().BoolVar(&tpchConfig.SkipDdl, + "skip-ddl", + false, + "tpch prepare skip ddl (default false)", + ) + cmdPrepare.PersistentFlags().BoolVar(&tpchConfig.OnlyDdl, + "only-ddl", + false, + "tpch prepare only ddl (default false)", + ) var cmdRun = &cobra.Command{ Use: "run", diff --git a/tpch/workload.go b/tpch/workload.go index 020ccdb..03a741a 100644 --- a/tpch/workload.go +++ b/tpch/workload.go @@ -57,6 +57,10 @@ type Config struct { KafkaAddr string KafkaFlushMsgCount int KafkaFlushTimeoutSeconds int + + // DDL + SkipDdl bool + OnlyDdl bool } type tpchState struct { @@ -128,11 +132,16 @@ func (w *Workloader) Prepare(ctx context.Context, threadID int) error { if threadID != 0 { return nil } - if w.cfg.OutputType != "kafka" { + if w.cfg.OutputType != "kafka" && !w.cfg.SkipDdl{ if err := w.createTables(ctx); err != nil { return err } } + + if w.cfg.OnlyDdl { + return nil + } + var sqlLoader map[dbgen.Table]dbgen.Loader if w.cfg.OutputType == "csv" { if _, err := os.Stat(w.cfg.OutputDir); err != nil { From eb5d49d557f4ca364a2d6599fb1a557e67d00188 Mon Sep 17 00:00:00 2001 From: Chengyou Liu Date: Thu, 29 Feb 2024 14:42:23 +0800 Subject: [PATCH 2/2] fix format --- tpch/workload.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tpch/workload.go b/tpch/workload.go index 03a741a..684c421 100644 --- a/tpch/workload.go +++ b/tpch/workload.go @@ -132,7 +132,7 @@ func (w *Workloader) Prepare(ctx context.Context, threadID int) error { if threadID != 0 { return nil } - if w.cfg.OutputType != "kafka" && !w.cfg.SkipDdl{ + if w.cfg.OutputType != "kafka" && !w.cfg.SkipDdl { if err := w.createTables(ctx); err != nil { return err }