diff --git a/CHANGELOG.md b/CHANGELOG.md index 104617871..2e72b3a7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- internal/function: take into account if repository is resolved in commit_stats ([#863](https://github.com/src-d/gitbase/pull/863)) + ## [0.21.0-beta1] - 2019-06-12 ### Added diff --git a/internal/function/commit_stats.go b/internal/function/commit_stats.go index f742a7fcd..0b460e32c 100644 --- a/internal/function/commit_stats.go +++ b/internal/function/commit_stats.go @@ -6,9 +6,9 @@ import ( "github.com/src-d/gitbase" "github.com/src-d/gitbase/internal/commitstats" + "github.com/src-d/go-mysql-server/sql" "gopkg.in/src-d/go-git.v4/plumbing" "gopkg.in/src-d/go-git.v4/plumbing/object" - "github.com/src-d/go-mysql-server/sql" ) // CommitStats calculates the diff stats for a given commit. @@ -86,7 +86,9 @@ func (*CommitStats) IsNullable() bool { // Resolved implements the Expression interface. func (f *CommitStats) Resolved() bool { - return f.To.Resolved() && (f.From == nil || f.From.Resolved()) + return f.Repository.Resolved() && + f.To.Resolved() && + (f.From == nil || f.From.Resolved()) } // Eval implements the Expression interface. @@ -127,7 +129,6 @@ func (f *CommitStats) resolveRepo(ctx *sql.Context, r sql.Row) (*gitbase.Reposit func (f *CommitStats) resolveCommit( ctx *sql.Context, r *gitbase.Repository, row sql.Row, e sql.Expression, ) (*object.Commit, error) { - str, err := exprToString(ctx, e, row) if err != nil { return nil, err