diff --git a/pkg/display/display.go b/pkg/display/display.go index 91ebe601f..560a71dc8 100644 --- a/pkg/display/display.go +++ b/pkg/display/display.go @@ -32,13 +32,8 @@ import ( ) // ShowOutput displays the output using the proper formatter as applicable -func ShowOutput(ctx context.Context, result *queryresult.Result, opts ...DisplayOption) int { +func ShowOutput(ctx context.Context, result *queryresult.Result) int { rowErrors := 0 - config := newDisplayConfiguration() - for _, o := range opts { - o(config) - } - var timingResult *queryresult.TimingResult outputFormat := cmdconfig.Viper().GetString(pconstants.ArgOutput) @@ -54,7 +49,7 @@ func ShowOutput(ctx context.Context, result *queryresult.Result, opts ...Display } // show timing - if config.timing != pconstants.ArgOff && timingResult != nil { + if viper.GetString(pconstants.ArgTiming) != pconstants.ArgOff && timingResult != nil { str := buildTimingString(timingResult) if viper.GetBool(constants.ConfigKeyInteractive) { fmt.Println(str) diff --git a/pkg/display/display_options.go b/pkg/display/display_options.go deleted file mode 100644 index b0c69079a..000000000 --- a/pkg/display/display_options.go +++ /dev/null @@ -1,27 +0,0 @@ -package display - -import ( - "github.com/turbot/pipe-fittings/constants" - "github.com/turbot/steampipe/pkg/cmdconfig" -) - -type displayConfiguration struct { - timing string -} - -// newDisplayConfiguration creates a default configuration with timing set to -// true if both --timing is not 'off' and --output is table -func newDisplayConfiguration() *displayConfiguration { - return &displayConfiguration{ - timing: cmdconfig.Viper().GetString(constants.ArgTiming), - } -} - -type DisplayOption = func(config *displayConfiguration) - -// WithTimingDisabled forcefully disables display of timing data -func WithTimingDisabled() DisplayOption { - return func(o *displayConfiguration) { - o.timing = constants.ArgOff - } -} diff --git a/pkg/query/queryresult/result.go b/pkg/query/queryresult/result.go index fa6dd0e9d..6e8e511ac 100644 --- a/pkg/query/queryresult/result.go +++ b/pkg/query/queryresult/result.go @@ -2,29 +2,6 @@ package queryresult import "github.com/turbot/pipe-fittings/queryresult" -type TimingResultStream chan *TimingResult - -type TimingResult struct { - DurationMs int64 `json:"duration_ms"` - Scans []*ScanMetadataRow `json:"scans"` - ScanCount int64 `json:"scan_count,omitempty"` - RowsReturned int64 `json:"rows_returned"` - UncachedRowsFetched int64 `json:"uncached_rows_fetched"` - CachedRowsFetched int64 `json:"cached_rows_fetched"` - HydrateCalls int64 `json:"hydrate_calls"` - ConnectionCount int64 `json:"connection_count"` -} - -func (r *TimingResult) Initialise(summary *QueryRowSummary, scans []*ScanMetadataRow) { - r.ScanCount = summary.ScanCount - r.ConnectionCount = summary.ConnectionCount - r.UncachedRowsFetched = summary.UncachedRowsFetched - r.CachedRowsFetched = summary.CachedRowsFetched - r.HydrateCalls = summary.HydrateCalls - // populate scans - note this may not be all scans - r.Scans = scans -} - // Result is a type alias for queryresult.Result[TimingResultStream] type Result = queryresult.Result[TimingResultStream] diff --git a/pkg/query/queryresult/timing_result.go b/pkg/query/queryresult/timing_result.go new file mode 100644 index 000000000..aee947bc9 --- /dev/null +++ b/pkg/query/queryresult/timing_result.go @@ -0,0 +1,24 @@ +package queryresult + +type TimingResultStream chan *TimingResult + +type TimingResult struct { + DurationMs int64 `json:"duration_ms"` + Scans []*ScanMetadataRow `json:"scans"` + ScanCount int64 `json:"scan_count,omitempty"` + RowsReturned int64 `json:"rows_returned"` + UncachedRowsFetched int64 `json:"uncached_rows_fetched"` + CachedRowsFetched int64 `json:"cached_rows_fetched"` + HydrateCalls int64 `json:"hydrate_calls"` + ConnectionCount int64 `json:"connection_count"` +} + +func (r *TimingResult) Initialise(summary *QueryRowSummary, scans []*ScanMetadataRow) { + r.ScanCount = summary.ScanCount + r.ConnectionCount = summary.ConnectionCount + r.UncachedRowsFetched = summary.UncachedRowsFetched + r.CachedRowsFetched = summary.CachedRowsFetched + r.HydrateCalls = summary.HydrateCalls + // populate scans - note this may not be all scans + r.Scans = scans +}