From 14208b281f643644a3f86be88ded86b79c8feaf4 Mon Sep 17 00:00:00 2001 From: i-norden Date: Fri, 10 Sep 2021 13:23:06 -0500 Subject: [PATCH] new cli flag for initializing db first time service is ran --- cmd/geth/config.go | 3 +++ cmd/geth/main.go | 1 + cmd/geth/usage.go | 1 + cmd/utils/flags.go | 4 ++++ statediff/types.go | 1 + 5 files changed, 10 insertions(+) diff --git a/cmd/geth/config.go b/cmd/geth/config.go index e884a4d42..cbe0df5a0 100644 --- a/cmd/geth/config.go +++ b/cmd/geth/config.go @@ -187,6 +187,9 @@ func makeFullNode(ctx *cli.Context) (*node.Node, ethapi.Backend) { } else { utils.Fatalf("Must specify client name for statediff DB output") } + if ctx.GlobalIsSet(utils.StateDiffDBInitFlag.Name) { + dbParams.Init = ctx.GlobalBool(utils.StateDiffDBInitFlag.Name) + } } else { if ctx.GlobalBool(utils.StateDiffWritingFlag.Name) { utils.Fatalf("Must pass DB parameters if enabling statediff write loop") diff --git a/cmd/geth/main.go b/cmd/geth/main.go index 1e4f7497c..5e8132d2e 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -150,6 +150,7 @@ var ( utils.MinerNotifyFullFlag, utils.StateDiffFlag, utils.StateDiffDBFlag, + utils.StateDiffDBInitFlag, utils.StateDiffDBNodeIDFlag, utils.StateDiffDBClientNameFlag, utils.StateDiffWritingFlag, diff --git a/cmd/geth/usage.go b/cmd/geth/usage.go index 8112a675f..fb969ca31 100644 --- a/cmd/geth/usage.go +++ b/cmd/geth/usage.go @@ -232,6 +232,7 @@ var AppHelpFlagGroups = []flags.FlagGroup{ Flags: []cli.Flag{ utils.StateDiffFlag, utils.StateDiffDBFlag, + utils.StateDiffDBInitFlag, utils.StateDiffDBNodeIDFlag, utils.StateDiffDBClientNameFlag, utils.StateDiffWritingFlag, diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 9e6b963fd..899595868 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -785,6 +785,10 @@ var ( Name: "statediff.db", Usage: "PostgreSQL database connection string for writing state diffs", } + StateDiffDBInitFlag = cli.BoolFlag{ + Name: "statediff.db.init", + Usage: "Whether or not the statediff database needs to be initialized; set true the first time this process is ran on a given database", + } StateDiffDBNodeIDFlag = cli.StringFlag{ Name: "statediff.dbnodeid", Usage: "Node ID to use when writing state diffs to database", diff --git a/statediff/types.go b/statediff/types.go index 148567dd7..d56922c2f 100644 --- a/statediff/types.go +++ b/statediff/types.go @@ -39,6 +39,7 @@ type DBParams struct { ConnectionURL string ID string ClientName string + Init bool } // Params is used to carry in parameters from subscribing/requesting clients configuration