Documentation ¶
Index ¶
- func BlocksToJSONTable(blocks [][]byte) (*statsutil.JSONTable, error)
- func CMSketchAndTopNFromStorageWithHighPriority(sctx sessionctx.Context, tblID int64, isIndex, histID, statsVer int64) (_ *statistics.CMSketch, _ *statistics.TopN, err error)
- func CMSketchFromStorage(sctx sessionctx.Context, tblID int64, isIndex int, histID int64) (_ *statistics.CMSketch, err error)
- func ChangeGlobalStatsID(ctx context.Context, sctx sessionctx.Context, from, to int64) error
- func CheckSkipColumnPartiion(sctx sessionctx.Context, tblID int64, isIndex int, histsID int64) error
- func CheckSkipPartition(sctx sessionctx.Context, tblID int64, isIndex int) error
- func CleanFakeItemsForShowHistInFlights(statsCache statstypes.StatsCache) int
- func ClearOutdatedHistoryStats(sctx sessionctx.Context) error
- func DeleteTableStatsFromKV(sctx sessionctx.Context, statsIDs []int64) (err error)
- func DumpTableStatColSizeToKV(sctx sessionctx.Context, id int64, delta variable.TableDelta) error
- func ExtendedStatsFromStorage(sctx sessionctx.Context, table *statistics.Table, tableID int64, loadAll bool) (*statistics.Table, error)
- func FMSketchFromStorage(sctx sessionctx.Context, tblID int64, isIndex, histID int64) (_ *statistics.FMSketch, err error)
- func GCStats(sctx sessionctx.Context, statsHandle types.StatsHandle, ...) (err error)
- func GenJSONTableFromStats(sctx sessionctx.Context, dbName string, tableInfo *model.TableInfo, ...) (*statsutil.JSONTable, error)
- func HistMetaFromStorageWithHighPriority(sctx sessionctx.Context, item *model.TableItemID, ...) (*statistics.Histogram, *types.Datum, int64, int64, error)
- func HistogramFromStorageWithPriority(sctx sessionctx.Context, tableID int64, colID int64, tp *types.FieldType, ...) (*statistics.Histogram, error)
- func InsertColStats2KV(ctx context.Context, sctx sessionctx.Context, physicalID int64, ...) (uint64, error)
- func InsertExtendedStats(sctx sessionctx.Context, statsCache types.StatsCache, statsName string, ...) (statsVer uint64, err error)
- func InsertTableStats2KV(ctx context.Context, sctx sessionctx.Context, info *model.TableInfo, ...) (uint64, error)
- func JSONTableToBlocks(jsTable *statsutil.JSONTable, blockSize int) ([][]byte, error)
- func LoadHistogram(sctx sessionctx.Context, tableID int64, isIndex int, histID int64, ...) (*statistics.Histogram, error)
- func LoadNeededHistograms(sctx sessionctx.Context, is infoschema.InfoSchema, ...) (err error)
- func MarkExtendedStatsDeleted(sctx sessionctx.Context, statsCache types.StatsCache, statsName string, ...) (statsVer uint64, err error)
- func NewStatsGC(statsHandle types.StatsHandle) types.StatsGC
- func NewStatsReadWriter(statsHandler statstypes.StatsHandle) statstypes.StatsReadWriter
- func SaveExtendedStatsToStorage(sctx sessionctx.Context, tableID int64, extStats *statistics.ExtendedStatsColl, ...) (statsVer uint64, err error)
- func SaveMetaToStorage(sctx sessionctx.Context, tableID, count, modifyCount int64) (statsVer uint64, err error)
- func SaveStatsToStorage(sctx sessionctx.Context, tableID int64, count, modifyCount int64, isIndex int, ...) (statsVer uint64, err error)
- func SaveTableStatsToStorage(sctx sessionctx.Context, results *statistics.AnalyzeResults, ...) (statsVer uint64, err error)
- func StatsMetaByTableIDFromStorage(sctx sessionctx.Context, tableID int64, snapshot uint64) (version uint64, modifyCount, count int64, err error)
- func StatsMetaCountAndModifyCount(ctx context.Context, sctx sessionctx.Context, tableID int64) (count, modifyCount int64, isNull bool, err error)
- func StatsMetaCountAndModifyCountForUpdate(ctx context.Context, sctx sessionctx.Context, tableID int64) (count, modifyCount int64, isNull bool, err error)
- func TableHistoricalStatsToJSON(sctx sessionctx.Context, physicalID int64, snapshot uint64) (jt *statsutil.JSONTable, exist bool, err error)
- func TableStatsFromJSON(tableInfo *model.TableInfo, physicalID int64, jsonTbl *statsutil.JSONTable) (*statistics.Table, error)
- func TableStatsFromStorage(sctx sessionctx.Context, snapshot uint64, tableInfo *model.TableInfo, ...) (_ *statistics.Table, err error)
- func TopNFromStorage(sctx sessionctx.Context, tblID int64, isIndex int, histID int64) (_ *statistics.TopN, err error)
- func UpdateStatsMeta(ctx context.Context, sctx sessionctx.Context, startTS uint64, ...) (err error)
- func UpdateStatsMetaVersionForGC(ctx context.Context, sctx sessionctx.Context, physicalID int64) (uint64, error)
- func UpdateStatsVersion(ctx context.Context, sctx sessionctx.Context) error
- type TestLoadStatsErr
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BlocksToJSONTable ¶
BlocksToJSONTable convert gzip-compressed blocks to JSONTable
func CMSketchAndTopNFromStorageWithHighPriority ¶
func CMSketchAndTopNFromStorageWithHighPriority(sctx sessionctx.Context, tblID int64, isIndex, histID, statsVer int64) (_ *statistics.CMSketch, _ *statistics.TopN, err error)
CMSketchAndTopNFromStorageWithHighPriority reads CMSketch and TopN from storage.
func CMSketchFromStorage ¶
func CMSketchFromStorage(sctx sessionctx.Context, tblID int64, isIndex int, histID int64) (_ *statistics.CMSketch, err error)
CMSketchFromStorage reads CMSketch from storage
func ChangeGlobalStatsID ¶
ChangeGlobalStatsID changes the table ID in global-stats to the new table ID.
func CheckSkipColumnPartiion ¶
func CheckSkipColumnPartiion(sctx sessionctx.Context, tblID int64, isIndex int, histsID int64) error
CheckSkipColumnPartiion checks if we can skip loading the partition.
func CheckSkipPartition ¶
func CheckSkipPartition(sctx sessionctx.Context, tblID int64, isIndex int) error
CheckSkipPartition checks if we can skip loading the partition.
func CleanFakeItemsForShowHistInFlights ¶
func CleanFakeItemsForShowHistInFlights(statsCache statstypes.StatsCache) int
CleanFakeItemsForShowHistInFlights cleans the invalid inserted items.
func ClearOutdatedHistoryStats ¶
func ClearOutdatedHistoryStats(sctx sessionctx.Context) error
ClearOutdatedHistoryStats clear outdated historical stats
func DeleteTableStatsFromKV ¶
func DeleteTableStatsFromKV(sctx sessionctx.Context, statsIDs []int64) (err error)
DeleteTableStatsFromKV deletes table statistics from kv. A statsID refers to statistic of a table or a partition.
func DumpTableStatColSizeToKV ¶
func DumpTableStatColSizeToKV(sctx sessionctx.Context, id int64, delta variable.TableDelta) error
DumpTableStatColSizeToKV dumps the column size stats to storage.
func ExtendedStatsFromStorage ¶
func ExtendedStatsFromStorage(sctx sessionctx.Context, table *statistics.Table, tableID int64, loadAll bool) (*statistics.Table, error)
ExtendedStatsFromStorage reads extended stats from storage.
func FMSketchFromStorage ¶
func FMSketchFromStorage(sctx sessionctx.Context, tblID int64, isIndex, histID int64) (_ *statistics.FMSketch, err error)
FMSketchFromStorage reads FMSketch from storage
func GCStats ¶
func GCStats( sctx sessionctx.Context, statsHandle types.StatsHandle, is infoschema.InfoSchema, ddlLease time.Duration, ) (err error)
GCStats will garbage collect the useless stats' info. For dropped tables, we will first update their version so that other tidb could know that table is deleted.
func GenJSONTableFromStats ¶
func GenJSONTableFromStats( sctx sessionctx.Context, dbName string, tableInfo *model.TableInfo, tbl *statistics.Table, colStatsUsage map[model.TableItemID]statstypes.ColStatsTimeInfo, ) (*statsutil.JSONTable, error)
GenJSONTableFromStats generate jsonTable from tableInfo and stats
func HistMetaFromStorageWithHighPriority ¶
func HistMetaFromStorageWithHighPriority(sctx sessionctx.Context, item *model.TableItemID, possibleColInfo *model.ColumnInfo) (*statistics.Histogram, *types.Datum, int64, int64, error)
HistMetaFromStorageWithHighPriority reads the meta info of the histogram from the storage.
func HistogramFromStorageWithPriority ¶
func HistogramFromStorageWithPriority( sctx sessionctx.Context, tableID int64, colID int64, tp *types.FieldType, distinct int64, isIndex int, ver uint64, nullCount int64, totColSize int64, corr float64, priority int, ) (*statistics.Histogram, error)
HistogramFromStorageWithPriority wraps the HistogramFromStorage with the given kv.Priority. Sync load and async load will use high priority to get data.
func InsertColStats2KV ¶
func InsertColStats2KV( ctx context.Context, sctx sessionctx.Context, physicalID int64, colInfos []*model.ColumnInfo, ) (uint64, error)
InsertColStats2KV insert a record to stats_histograms with distinct_count 1 and insert a bucket to stats_buckets with default value. This operation also updates version.
func InsertExtendedStats ¶
func InsertExtendedStats(sctx sessionctx.Context, statsCache types.StatsCache, statsName string, colIDs []int64, tp int, tableID int64, ifNotExists bool) (statsVer uint64, err error)
InsertExtendedStats inserts a record into mysql.stats_extended and update version in mysql.stats_meta.
func InsertTableStats2KV ¶
func InsertTableStats2KV( ctx context.Context, sctx sessionctx.Context, info *model.TableInfo, physicalID int64, ) (uint64, error)
InsertTableStats2KV inserts a record standing for a new table to stats_meta and inserts some records standing for the new columns and indices which belong to this table.
func JSONTableToBlocks ¶
JSONTableToBlocks convert JSONTable to json, then compresses it to blocks by gzip.
func LoadHistogram ¶
func LoadHistogram(sctx sessionctx.Context, tableID int64, isIndex int, histID int64, tableInfo *model.TableInfo) (*statistics.Histogram, error)
LoadHistogram will load histogram from storage.
func LoadNeededHistograms ¶
func LoadNeededHistograms(sctx sessionctx.Context, is infoschema.InfoSchema, statsHandle statstypes.StatsHandle, loadFMSketch bool) (err error)
LoadNeededHistograms will load histograms for those needed columns/indices.
func MarkExtendedStatsDeleted ¶
func MarkExtendedStatsDeleted(sctx sessionctx.Context, statsCache types.StatsCache, statsName string, tableID int64, ifExists bool) (statsVer uint64, err error)
MarkExtendedStatsDeleted update the status of mysql.stats_extended to be `deleted` and the version of mysql.stats_meta.
func NewStatsGC ¶
func NewStatsGC(statsHandle types.StatsHandle) types.StatsGC
NewStatsGC creates a new StatsGC.
func NewStatsReadWriter ¶
func NewStatsReadWriter(statsHandler statstypes.StatsHandle) statstypes.StatsReadWriter
NewStatsReadWriter creates a new StatsReadWriter.
func SaveExtendedStatsToStorage ¶
func SaveExtendedStatsToStorage(sctx sessionctx.Context, tableID int64, extStats *statistics.ExtendedStatsColl, isLoad bool) (statsVer uint64, err error)
SaveExtendedStatsToStorage writes extended stats of a table into mysql.stats_extended.
func SaveMetaToStorage ¶
func SaveMetaToStorage( sctx sessionctx.Context, tableID, count, modifyCount int64) (statsVer uint64, err error)
SaveMetaToStorage will save stats_meta to storage.
func SaveStatsToStorage ¶
func SaveStatsToStorage( sctx sessionctx.Context, tableID int64, count, modifyCount int64, isIndex int, hg *statistics.Histogram, cms *statistics.CMSketch, topN *statistics.TopN, statsVersion int, isAnalyzed int64, updateAnalyzeTime bool, ) (statsVer uint64, err error)
SaveStatsToStorage saves the stats to storage. If count is negative, both count and modify count would not be used and not be written to the table. Unless, corresponding fields in the stats_meta table will be updated. TODO: refactor to reduce the number of parameters
func SaveTableStatsToStorage ¶
func SaveTableStatsToStorage(sctx sessionctx.Context, results *statistics.AnalyzeResults, analyzeSnapshot bool) (statsVer uint64, err error)
SaveTableStatsToStorage saves the stats of a table to storage.
func StatsMetaByTableIDFromStorage ¶
func StatsMetaByTableIDFromStorage(sctx sessionctx.Context, tableID int64, snapshot uint64) (version uint64, modifyCount, count int64, err error)
StatsMetaByTableIDFromStorage gets the stats meta of a table from storage.
func StatsMetaCountAndModifyCount ¶
func StatsMetaCountAndModifyCount( ctx context.Context, sctx sessionctx.Context, tableID int64, ) (count, modifyCount int64, isNull bool, err error)
StatsMetaCountAndModifyCount reads count and modify_count for the given table from mysql.stats_meta.
func StatsMetaCountAndModifyCountForUpdate ¶
func StatsMetaCountAndModifyCountForUpdate( ctx context.Context, sctx sessionctx.Context, tableID int64, ) (count, modifyCount int64, isNull bool, err error)
StatsMetaCountAndModifyCountForUpdate reads count and modify_count for the given table from mysql.stats_meta with lock.
func TableHistoricalStatsToJSON ¶
func TableHistoricalStatsToJSON(sctx sessionctx.Context, physicalID int64, snapshot uint64) (jt *statsutil.JSONTable, exist bool, err error)
TableHistoricalStatsToJSON converts the historical stats of a table to JSONTable.
func TableStatsFromJSON ¶
func TableStatsFromJSON(tableInfo *model.TableInfo, physicalID int64, jsonTbl *statsutil.JSONTable) (*statistics.Table, error)
TableStatsFromJSON loads statistic from JSONTable and return the Table of statistic.
func TableStatsFromStorage ¶
func TableStatsFromStorage(sctx sessionctx.Context, snapshot uint64, tableInfo *model.TableInfo, tableID int64, loadAll bool, lease time.Duration, table *statistics.Table) (_ *statistics.Table, err error)
TableStatsFromStorage loads table stats info from storage.
func TopNFromStorage ¶
func TopNFromStorage(sctx sessionctx.Context, tblID int64, isIndex int, histID int64) (_ *statistics.TopN, err error)
TopNFromStorage reads TopN from storage
func UpdateStatsMeta ¶
func UpdateStatsMeta( ctx context.Context, sctx sessionctx.Context, startTS uint64, delta variable.TableDelta, id int64, isLocked bool, ) (err error)
UpdateStatsMeta update the stats meta stat for this Table.
func UpdateStatsMetaVersionForGC ¶
func UpdateStatsMetaVersionForGC( ctx context.Context, sctx sessionctx.Context, physicalID int64, ) (uint64, error)
UpdateStatsMetaVersionForGC updates the version of stats_meta to be deleted soon.
func UpdateStatsVersion ¶
func UpdateStatsVersion(ctx context.Context, sctx sessionctx.Context) error
UpdateStatsVersion will set statistics version to the newest TS, then tidb-server will reload automatic.