From 4db7f0aa8e5d33a196a9c2361338a690ffedc90d Mon Sep 17 00:00:00 2001 From: hi-rustin Date: Wed, 17 Jul 2024 16:47:44 +0800 Subject: [PATCH] fix --- pkg/statistics/handle/storage/json.go | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pkg/statistics/handle/storage/json.go b/pkg/statistics/handle/storage/json.go index 701a2ed0383c0..88529945bde14 100644 --- a/pkg/statistics/handle/storage/json.go +++ b/pkg/statistics/handle/storage/json.go @@ -143,25 +143,26 @@ func GenJSONTableFromStats( } jsonTbl.ExtStats = dumpJSONExtendedStats(tbl.ExtendedStats) if colStatsUsage != nil { - jsonColStatsUsage := make([]*util.JSONPredicateColumn, 0) + // nilIfNil checks if the provided *time.Time is nil and returns a nil or its string representation accordingly. + nilIfNil := func(t *types.Time) *string { + if t == nil { + return nil + } + s := t.String() + return &s + } + jsonColStatsUsage := make([]*util.JSONPredicateColumn, 0, len(colStatsUsage)) for id, usage := range colStatsUsage { jsonCol := &util.JSONPredicateColumn{ - ID: id.ID, - } - if usage.LastUsedAt != nil { - // UTC - s := usage.LastUsedAt.String() - jsonCol.LastUsedAt = &s - } - if usage.LastAnalyzedAt != nil { - // UTC - s := usage.LastAnalyzedAt.String() - jsonCol.LastAnalyzedAt = &s + ID: id.ID, + LastUsedAt: nilIfNil(usage.LastUsedAt), + LastAnalyzedAt: nilIfNil(usage.LastAnalyzedAt), } jsonColStatsUsage = append(jsonColStatsUsage, jsonCol) } jsonTbl.PredicateColumns = jsonColStatsUsage } + return jsonTbl, nil }