package main

import (
	"flag"
)

var (
	tidbStat   = flag.String("tu", "127.0.0.1:10080", "tidb status url, default: 127.0.0.1:10080")
	addr       = flag.String("H", "127.0.0.1:4000", "Database host and port, default: 127.0.0.1:4000")
	user       = flag.String("u", "root", "Database account, default: root")
	pwd        = flag.String("p", "", "Database password, default: null")
	dbs        = flag.String("d", "", "Database name, for example: test,test1, default: None(all schemas except 'INFORMATION_SCHEMA','PERFORMANCE_SCHEMA','mysql','default')")
	tables     = flag.String("t", "", "Table name (database.table), for example: test.test,test.test2, default: None(all tables of schemas)")
	ignorecase = flag.Bool("i", true, "ignore case if set it.default is 'true'")
	filter     = flag.String("f", "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql,default", "set filter for dump.default is \"INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql,default\"")
	out        = flag.String("o", "", "output path.default is current dir.")
	//
	info   = &SDInfo{SchemasFilter: map[string]int{}}
	dbInfo DBInfo
)

func main() {
	flag.Parse()
	doDBConnectors()
	parseConfig()
	prepareInfo()
	var sd StatusDumper
	sd.Init(dbInfo, info)
	sd.StatsDump()
	sd.Finish()
}
