Skip to content

Commit

Permalink
tidy and edits
Browse files Browse the repository at this point in the history
  • Loading branch information
max-hoffman committed Mar 25, 2024
1 parent ba80d34 commit 131b0ac
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 56 deletions.
1 change: 1 addition & 0 deletions go/go.mod
Expand Up @@ -87,6 +87,7 @@ require (
golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1
golang.org/x/text v0.14.0
gonum.org/v1/plot v0.11.0
gopkg.in/errgo.v2 v2.1.0
gopkg.in/yaml.v3 v3.0.1
)

Expand Down
3 changes: 1 addition & 2 deletions go/go.sum
Expand Up @@ -183,8 +183,6 @@ github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U=
github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0=
github.com/dolthub/go-icu-regex v0.0.0-20230524105445-af7e7991c97e h1:kPsT4a47cw1+y/N5SSCkma7FhAPw7KeGmD6c9PBZW9Y=
github.com/dolthub/go-icu-regex v0.0.0-20230524105445-af7e7991c97e/go.mod h1:KPUcpx070QOfJK1gNe0zx4pA5sicIK1GMikIGLKC168=
github.com/dolthub/go-mysql-server v0.18.1-0.20240322215643-a37b5789fdfa h1:0zCZ+swvNZyY3UoiDhFlE3P9d4/SPDlMDPQxI4kLzWw=
github.com/dolthub/go-mysql-server v0.18.1-0.20240322215643-a37b5789fdfa/go.mod h1:QxRD0cXwzXR095E8YemBcGVMhE2UoHOdx4TOr7Yy8GU=
github.com/dolthub/go-mysql-server v0.18.1-0.20240325171905-0282dcfe9334 h1:JNSMwsSDxPdRX8HhV00ybYIBsJ+yoG3WyclltERhC0M=
github.com/dolthub/go-mysql-server v0.18.1-0.20240325171905-0282dcfe9334/go.mod h1:QxRD0cXwzXR095E8YemBcGVMhE2UoHOdx4TOr7Yy8GU=
github.com/dolthub/ishell v0.0.0-20221214210346-d7db0b066488 h1:0HHu0GWJH0N6a6keStrHhUAK5/o9LVfkh44pvsV4514=
Expand Down Expand Up @@ -1157,6 +1155,7 @@ gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
Expand Down
17 changes: 1 addition & 16 deletions go/libraries/doltcore/sqle/statspro/auto_refresh.go
Expand Up @@ -40,22 +40,7 @@ func (p *Provider) InitAutoRefresh(ctxFactory func(ctx context.Context) (*sql.Co
return err
}

dSess := dsess.DSessFromSess(ctx.Session)
var branches []string
if _, bs, _ := sql.SystemVariables.GetGlobal(dsess.DoltStatsBranches); bs == "" {
defaultBranch, _ := dSess.GetBranch()
if defaultBranch != "" {
branches = append(branches, defaultBranch)
}
} else {
for _, branch := range strings.Split(bs.(string), ",") {
branches = append(branches, strings.TrimSpace(branch))
}
}

if branches == nil {
branches = []string{p.pro.DefaultBranch()}
}
branches := p.getStatsBranches(ctx)

return p.InitAutoRefreshWithParams(ctxFactory, dbName, bThreads, intervalSec, thresholdf64, branches)
}
Expand Down
50 changes: 30 additions & 20 deletions go/libraries/doltcore/sqle/statspro/configure.go
Expand Up @@ -40,22 +40,7 @@ func (p *Provider) Configure(ctx context.Context, ctxFactory func(ctx context.Co
return err
}

dSess := dsess.DSessFromSess(loadCtx.Session)
var branches []string
if _, bs, _ := sql.SystemVariables.GetGlobal(dsess.DoltStatsBranches); bs == "" {
defaultBranch, _ := dSess.GetBranch()
if defaultBranch != "" {
branches = append(branches, defaultBranch)
}
} else {
for _, branch := range strings.Split(bs.(string), ",") {
branches = append(branches, strings.TrimSpace(branch))
}
}

if branches == nil {
branches = []string{p.pro.DefaultBranch()}
}
branches := p.getStatsBranches(loadCtx)

var autoEnabled bool
var intervalSec time.Duration
Expand Down Expand Up @@ -94,7 +79,7 @@ func (p *Provider) Configure(ctx context.Context, ctxFactory func(ctx context.Co
return err
}

if err := p.Load(loadCtx, fs, db, branches); err != nil {
if p.Load(loadCtx, fs, db, branches); err != nil {
return err
}
if autoEnabled {
Expand All @@ -106,6 +91,29 @@ func (p *Provider) Configure(ctx context.Context, ctxFactory func(ctx context.Co
return eg.Wait()
}

// getStatsBranches returns the set of branches whose statistics are tracked.
// The order of precedence is (1) global variable, (2) session current branch,
// (3) engine default branch.
func (p *Provider) getStatsBranches(ctx *sql.Context) []string {
dSess := dsess.DSessFromSess(ctx.Session)
var branches []string
if _, bs, _ := sql.SystemVariables.GetGlobal(dsess.DoltStatsBranches); bs == "" {
defaultBranch, _ := dSess.GetBranch()
if defaultBranch != "" {
branches = append(branches, defaultBranch)
}
} else {
for _, branch := range strings.Split(bs.(string), ",") {
branches = append(branches, strings.TrimSpace(branch))
}
}

if branches == nil {
branches = []string{p.pro.DefaultBranch()}
}
return branches
}

func (p *Provider) LoadStats(ctx *sql.Context, db, branch string) error {
if statDb, ok := p.getStatDb(db); ok {
return statDb.LoadBranchStats(ctx, branch)
Expand All @@ -115,17 +123,19 @@ func (p *Provider) LoadStats(ctx *sql.Context, db, branch string) error {

// Load scans the statistics tables, populating the |stats| attribute.
// Statistics are not available for reading until we've finished loading.
func (p *Provider) Load(ctx *sql.Context, fs filesys.Filesys, db dsess.SqlDatabase, branches []string) error {
func (p *Provider) Load(ctx *sql.Context, fs filesys.Filesys, db dsess.SqlDatabase, branches []string) {
// |statPath| is either file://./stat or mem://stat
statsDb, err := p.sf.Init(ctx, db, p.pro, fs, env.GetCurrentUserHomeDir)
if err != nil {
ctx.Warn(0, err.Error())
return nil
return
}

for _, branch := range branches {
err = statsDb.LoadBranchStats(ctx, branch)
if err != nil {
// if branch name is invalid, continue loading rest
// TODO: differentiate bad branch name from other errors
ctx.Warn(0, err.Error())
continue
}
Expand All @@ -134,5 +144,5 @@ func (p *Provider) Load(ctx *sql.Context, fs filesys.Filesys, db dsess.SqlDataba
p.mu.Lock()
defer p.mu.Unlock()
p.setStatDb(strings.ToLower(db.Name()), statsDb)
return nil
return
}
19 changes: 1 addition & 18 deletions go/libraries/doltcore/sqle/statspro/initdbhook.go
Expand Up @@ -46,24 +46,7 @@ func NewInitDatabaseHook(
return err
}
}

dSess := dsess.DSessFromSess(ctx.Session)
var branches []string
if _, bs, _ := sql.SystemVariables.GetGlobal(dsess.DoltStatsBranches); bs == "" {
defaultBranch, _ := dSess.GetBranch()
if defaultBranch != "" {
branches = append(branches, defaultBranch)
}
} else {
for _, branch := range strings.Split(bs.(string), ",") {
branches = append(branches, strings.TrimSpace(branch))
}
}

if branches == nil {
branches = []string{pro.DefaultBranch()}
}


statsDb, err := statsProv.sf.Init(ctx, db, statsProv.pro, denv.FS, env.GetCurrentUserHomeDir)
if err != nil {
ctx.Warn(0, err.Error())
Expand Down

0 comments on commit 131b0ac

Please sign in to comment.