Skip to content

Commit

Permalink
fixing handled filters for commit diff table
Browse files Browse the repository at this point in the history
  • Loading branch information
James Cor committed Sep 2, 2022
1 parent dc1a713 commit 69a9f19
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 9 deletions.
2 changes: 1 addition & 1 deletion go/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ require (
)

require (
github.com/dolthub/go-mysql-server v0.12.1-0.20220901203336-3faae5a507e4
github.com/dolthub/go-mysql-server v0.12.1-0.20220831202020-aad33a5f02f4
github.com/google/flatbuffers v2.0.6+incompatible
github.com/gosuri/uilive v0.0.4
github.com/kch42/buzhash v0.0.0-20160816060738-9bdec3dec7c6
Expand Down
4 changes: 2 additions & 2 deletions go/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,8 @@ github.com/dolthub/flatbuffers v1.13.0-dh.1 h1:OWJdaPep22N52O/0xsUevxJ6Qfw1M2txC
github.com/dolthub/flatbuffers v1.13.0-dh.1/go.mod h1:CorYGaDmXjHz1Z7i50PYXG1Ricn31GcA2wNOTFIQAKE=
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-mysql-server v0.12.1-0.20220901203336-3faae5a507e4 h1:ooX83YDVEqYplkrGXafL//DjAaz/xR+5VUaPYgBP7/I=
github.com/dolthub/go-mysql-server v0.12.1-0.20220901203336-3faae5a507e4/go.mod h1:F/UtM55EgpqIiWoXwPg0jx8euPYwUpJsKHLiFtEjKwM=
github.com/dolthub/go-mysql-server v0.12.1-0.20220831202020-aad33a5f02f4 h1:OYhOUli8IeEls+s3WO7fBFB0Hcb7c3vGs3XS3i9Bu+Y=
github.com/dolthub/go-mysql-server v0.12.1-0.20220831202020-aad33a5f02f4/go.mod h1:F/UtM55EgpqIiWoXwPg0jx8euPYwUpJsKHLiFtEjKwM=
github.com/dolthub/ishell v0.0.0-20220112232610-14e753f0f371 h1:oyPHJlzumKta1vnOQqUnfdz+pk3EmnHS3Nd0cCT0I2g=
github.com/dolthub/ishell v0.0.0-20220112232610-14e753f0f371/go.mod h1:dhGBqcCEfK5kuFmeO5+WOx3hqc1k3M29c1oS/R7N4ms=
github.com/dolthub/jsonpath v0.0.0-20210609232853-d49537a30474 h1:xTrR+l5l+1Lfq0NvhiEsctylXinUMFhhsqaEcl414p8=
Expand Down
30 changes: 24 additions & 6 deletions go/libraries/doltcore/sqle/dtables/commit_diff_table.go
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,9 @@ func (dt *CommitDiffTable) rootValForFilter(ctx *sql.Context, eqFilter *expressi

// HandledFilters returns the list of filters that will be handled by the table itself
func (dt *CommitDiffTable) HandledFilters(filters []sql.Expression) []sql.Expression {
// Set errors, but not the actual filters
var commitFilters []sql.Expression
var seenToCommitFilter, seenFromCommitFilter bool
for _, filter := range filters {
isCommitFilter := false

Expand All @@ -254,19 +256,19 @@ func (dt *CommitDiffTable) HandledFilters(filters []sql.Expression) []sql.Expres
if val, ok := e.(*expression.GetField); ok {
switch strings.ToLower(val.Name()) {
case toCommit:
if dt.toCommitFilter != nil {
if seenToCommitFilter {
dt.requiredFilterErr = ErrExactlyOneToCommit
}

isCommitFilter = true
dt.toCommitFilter = eqFilter
seenToCommitFilter = true
case fromCommit:
if dt.fromCommitFilter != nil {
if seenFromCommitFilter {
dt.requiredFilterErr = ErrExactlyOneFromCommit
}

isCommitFilter = true
dt.fromCommitFilter = eqFilter
seenFromCommitFilter = true
}
}
}
Expand All @@ -276,7 +278,6 @@ func (dt *CommitDiffTable) HandledFilters(filters []sql.Expression) []sql.Expres
commitFilters = append(commitFilters, filter)
}
}

return commitFilters
}

Expand All @@ -286,7 +287,24 @@ func (dt *CommitDiffTable) Filters() []sql.Expression {
}

// WithFilters returns a new sql.Table instance with the filters applied
func (dt *CommitDiffTable) WithFilters(_ *sql.Context, _ []sql.Expression) sql.Table {
func (dt *CommitDiffTable) WithFilters(_ *sql.Context, filters []sql.Expression) sql.Table {
for _, filter := range filters {
if eqFilter, isEquality := filter.(*expression.Equals); isEquality {
if eqFilter == nil {
continue
}
for _, e := range []sql.Expression{eqFilter.Left(), eqFilter.Right()} {
if val, ok := e.(*expression.GetField); ok {
switch strings.ToLower(val.Name()) {
case toCommit:
dt.toCommitFilter = eqFilter
case fromCommit:
dt.fromCommitFilter = eqFilter
}
}
}
}
}
return dt
}

Expand Down

0 comments on commit 69a9f19

Please sign in to comment.