From b08f29cb7186970a22d6a87fe6fa9d696fb54120 Mon Sep 17 00:00:00 2001 From: Anton Kaliaev Date: Wed, 22 Feb 2017 12:15:53 +0400 Subject: [PATCH] add config option for tx indexing and disable it by default --- config/tendermint/config.go | 2 ++ config/tendermint_test/config.go | 2 ++ state/state.go | 10 ++++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/config/tendermint/config.go b/config/tendermint/config.go index 3edf2df18..828e67ef6 100644 --- a/config/tendermint/config.go +++ b/config/tendermint/config.go @@ -101,6 +101,8 @@ func GetConfig(rootDir string) cfg.Config { mapConfig.SetDefault("mempool_broadcast", true) mapConfig.SetDefault("mempool_wal_dir", rootDir+"/data/mempool.wal") + mapConfig.SetDefault("tx_indexer", "none") + return mapConfig } diff --git a/config/tendermint_test/config.go b/config/tendermint_test/config.go index 26a483358..b6462cab1 100644 --- a/config/tendermint_test/config.go +++ b/config/tendermint_test/config.go @@ -107,6 +107,8 @@ func ResetConfig(localPath string) cfg.Config { mapConfig.SetDefault("mempool_broadcast", true) mapConfig.SetDefault("mempool_wal_dir", "") + mapConfig.SetDefault("tx_indexer", "none") + logger.SetLogLevel(mapConfig.GetString("log_level")) return mapConfig diff --git a/state/state.go b/state/state.go index 892c38746..347718f1e 100644 --- a/state/state.go +++ b/state/state.go @@ -44,6 +44,7 @@ type State struct { TxIndexer tx.Indexer `json:"-"` // Transaction indexer. } +// Used in tests. func LoadState(db dbm.DB) *State { return loadState(db, stateKey) } @@ -132,8 +133,13 @@ func GetState(config cfg.Config, stateDB dbm.DB) *State { } // Transaction indexing - store := dbm.NewDB("tx_indexer", config.GetString("db_backend"), config.GetString("db_dir")) - state.TxIndexer = txindexer.NewKV(store) + switch config.GetString("tx_indexer") { + case "kv": + store := dbm.NewDB("tx_indexer", config.GetString("db_backend"), config.GetString("db_dir")) + state.TxIndexer = txindexer.NewKV(store) + default: + state.TxIndexer = &txindexer.Null{} + } return state }