From feb054086efedc66d1d33c8f0c39d17a476223d3 Mon Sep 17 00:00:00 2001 From: Taylor Bantle Date: Wed, 16 Oct 2024 13:10:53 -0700 Subject: [PATCH 1/2] Fix merge bug, add tests --- core/rootvalue.go | 5 +- testing/go/dolt_functions_test.go | 78 +++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 3 deletions(-) diff --git a/core/rootvalue.go b/core/rootvalue.go index 8c2f5ce40..2906162eb 100644 --- a/core/rootvalue.go +++ b/core/rootvalue.go @@ -552,7 +552,7 @@ func (root *RootValue) SetFeatureVersion(v doltdb.FeatureVersion) (doltdb.RootVa } // SetTableHash implements the interface doltdb.RootValue. -func (root *RootValue) SetTableHash(ctx context.Context, tName string, h hash.Hash) (doltdb.RootValue, error) { +func (root *RootValue) SetTableHash(ctx context.Context, tName doltdb.TableName, h hash.Hash) (doltdb.RootValue, error) { val, err := root.vrw.ReadValue(ctx, h) if err != nil { @@ -565,8 +565,7 @@ func (root *RootValue) SetTableHash(ctx context.Context, tName string, h hash.Ha return nil, err } - // TODO: schema - return root.putTable(ctx, doltdb.TableName{Name: tName}, ref) + return root.putTable(ctx, tName, ref) } // VRW implements the interface doltdb.RootValue. diff --git a/testing/go/dolt_functions_test.go b/testing/go/dolt_functions_test.go index bc24212dd..0a3f34e93 100755 --- a/testing/go/dolt_functions_test.go +++ b/testing/go/dolt_functions_test.go @@ -90,6 +90,84 @@ func TestDoltFunctions(t *testing.T) { }, }, }, + { + Name: "smoke test select dolt_merge dirty working set, same table", + SetUpScript: []string{ + "CREATE TABLE t1 (pk int primary key);", + "SELECT DOLT_COMMIT('-Am', 'new table');", + "INSERT INTO t1 VALUES (1);", + "SELECT DOLT_CHECKOUT('-b', 'new-branch');", + "INSERT INTO t1 VALUES (2);", + "SELECT DOLT_COMMIT('-Am', 'new row on new branch');", + }, + Assertions: []ScriptTestAssertion{ + { + Query: "SELECT DOLT_MERGE_BASE('main', 'new-branch');", + SkipResultsCheck: true, + }, + { + Query: "SELECT DOLT_CHECKOUT('main');", + Expected: []sql.Row{ + {"{0,\"Switched to branch 'main'\"}"}, + }, + }, + { + Query: "SELECT * FROM dolt_status", + Expected: []sql.Row{ + {"public.t1", 0, "modified"}, + }, + }, + { + Query: "SELECT DOLT_MERGE('new-branch', '--no-ff', '-m', 'merge new-branch into main');", + ExpectedErr: "error: local changes would be stomped by merge", + }, + { + Query: "SELECT * FROM dolt_status", + Expected: []sql.Row{ + {"public.t1", 0, "modified"}, + }, + }, + }, + }, + { + Name: "smoke test select dolt_merge dirty working set, different tables", + SetUpScript: []string{ + "CREATE TABLE t1 (pk int primary key);", + "SELECT DOLT_COMMIT('-Am', 'new table');", + "INSERT INTO t1 VALUES (1);", + "SELECT DOLT_CHECKOUT('-b', 'new-branch');", + "CREATE TABLE t2 (pk int primary key);", + "SELECT DOLT_COMMIT('-Am', 'new row on new branch');", + }, + Assertions: []ScriptTestAssertion{ + { + Query: "SELECT DOLT_MERGE_BASE('main', 'new-branch');", + SkipResultsCheck: true, + }, + { + Query: "SELECT DOLT_CHECKOUT('main');", + Expected: []sql.Row{ + {"{0,\"Switched to branch 'main'\"}"}, + }, + }, + { + Query: "SELECT * FROM dolt_status", + Expected: []sql.Row{ + {"public.t1", 0, "modified"}, + }, + }, + { + Query: "SELECT DOLT_MERGE('new-branch', '--no-ff', '-m', 'merge new-branch into main');", + SkipResultsCheck: true, + }, + { + Query: "SELECT * FROM dolt_status", + Expected: []sql.Row{ + {"public.t1", 0, "modified"}, + }, + }, + }, + }, { Name: "smoke test select dolt_reset", SetUpScript: []string{ From 795792ce551dbf8f3a0dccfa86742fcb11e210a2 Mon Sep 17 00:00:00 2001 From: tbantle22 Date: Wed, 16 Oct 2024 21:46:23 +0000 Subject: [PATCH 2/2] [ga-bump-dep] Bump dependency in Doltgres by tbantle22 --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 68fec14f2..0cfb7e7b4 100644 --- a/go.mod +++ b/go.mod @@ -8,13 +8,13 @@ require ( github.com/PuerkitoBio/goquery v1.8.1 github.com/cockroachdb/apd/v2 v2.0.3-0.20200518165714-d020e156310a github.com/cockroachdb/errors v1.7.5 - github.com/dolthub/dolt/go v0.40.5-0.20241015193530-73df10eef0ab + github.com/dolthub/dolt/go v0.40.5-0.20241016214443-695349d3d64c github.com/dolthub/dolt/go/gen/proto/dolt/services/eventsapi v0.0.0-20240827111219-e4bb9ca3442d github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2 github.com/dolthub/go-icu-regex v0.0.0-20240916130659-0118adc6b662 - github.com/dolthub/go-mysql-server v0.18.2-0.20241015190154-54bd6d6e1ce8 + github.com/dolthub/go-mysql-server v0.18.2-0.20241016193930-58d51b356103 github.com/dolthub/sqllogictest/go v0.0.0-20240618184124-ca47f9354216 - github.com/dolthub/vitess v0.0.0-20241010201417-9d4f54b29ccc + github.com/dolthub/vitess v0.0.0-20241016191424-d14e107a654e github.com/fatih/color v1.13.0 github.com/goccy/go-json v0.10.2 github.com/gogo/protobuf v1.3.2 diff --git a/go.sum b/go.sum index faa61b4c6..ca8c6facf 100644 --- a/go.sum +++ b/go.sum @@ -214,8 +214,8 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/dolthub/dolt/go v0.40.5-0.20241015193530-73df10eef0ab h1:y9mU/2KJKjvFNOI06h8b9H9K8nr1uFDxnZjR/JAJeFw= -github.com/dolthub/dolt/go v0.40.5-0.20241015193530-73df10eef0ab/go.mod h1:pnV9fg4p4XsPSMdgbbVYt8jxicz3yDb3UxvIF4aTlWk= +github.com/dolthub/dolt/go v0.40.5-0.20241016214443-695349d3d64c h1:JA51qKTiX6Gj8akRl9PBTZ0L5hCS/S3+fROaiaGwiRA= +github.com/dolthub/dolt/go v0.40.5-0.20241016214443-695349d3d64c/go.mod h1:kwHAJdi/uyjn7lw/sH3TabDyzneVRUTHY1yunQaF6hY= github.com/dolthub/dolt/go/gen/proto/dolt/services/eventsapi v0.0.0-20240827111219-e4bb9ca3442d h1:RZkQeYOrDrOWzCxaP2ttkvg4E2TM9n8lnEsIBLKjqkM= github.com/dolthub/dolt/go/gen/proto/dolt/services/eventsapi v0.0.0-20240827111219-e4bb9ca3442d/go.mod h1:L5RDYZbC9BBWmoU2+TjTekeqqhFXX5EqH9ln00O0stY= github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2 h1:u3PMzfF8RkKd3lB9pZ2bfn0qEG+1Gms9599cr0REMww= @@ -224,8 +224,8 @@ 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-20240916130659-0118adc6b662 h1:aC17hZD6iwzBwwfO5M+3oBT5E5gGRiQPdn+vzpDXqIA= github.com/dolthub/go-icu-regex v0.0.0-20240916130659-0118adc6b662/go.mod h1:KPUcpx070QOfJK1gNe0zx4pA5sicIK1GMikIGLKC168= -github.com/dolthub/go-mysql-server v0.18.2-0.20241015190154-54bd6d6e1ce8 h1:opC/9GtHMpPf5v0eRdngp166LcJTTyQ+YZfyjAchHaY= -github.com/dolthub/go-mysql-server v0.18.2-0.20241015190154-54bd6d6e1ce8/go.mod h1:Z8tket+3sYcU3d4yW90Ggld2d+C2DUgnpB8cBP0+GvI= +github.com/dolthub/go-mysql-server v0.18.2-0.20241016193930-58d51b356103 h1:AG0T2y5xORr384R9eALgPpdDVfilmlBjo4tSl+IY6G8= +github.com/dolthub/go-mysql-server v0.18.2-0.20241016193930-58d51b356103/go.mod h1:z/GGuH2asedC+lkJA4sx+C3oyRH1HRx8ET6N9AGBVms= github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63 h1:OAsXLAPL4du6tfbBgK0xXHZkOlos63RdKYS3Sgw/dfI= github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63/go.mod h1:lV7lUeuDhH5thVGDCKXbatwKy2KW80L4rMT46n+Y2/Q= github.com/dolthub/ishell v0.0.0-20240701202509-2b217167d718 h1:lT7hE5k+0nkBdj/1UOSFwjWpNxf+LCApbRHgnCA17XE= @@ -238,8 +238,8 @@ github.com/dolthub/sqllogictest/go v0.0.0-20240618184124-ca47f9354216 h1:JWkKRE4 github.com/dolthub/sqllogictest/go v0.0.0-20240618184124-ca47f9354216/go.mod h1:e/FIZVvT2IR53HBCAo41NjqgtEnjMJGKca3Y/dAmZaA= github.com/dolthub/swiss v0.1.0 h1:EaGQct3AqeP/MjASHLiH6i4TAmgbG/c4rA6a1bzCOPc= github.com/dolthub/swiss v0.1.0/go.mod h1:BeucyB08Vb1G9tumVN3Vp/pyY4AMUnr9p7Rz7wJ7kAQ= -github.com/dolthub/vitess v0.0.0-20241010201417-9d4f54b29ccc h1:ZZgTRuxEwd3X67njtK30buHeZScLAd4W0rbRV8CORhE= -github.com/dolthub/vitess v0.0.0-20241010201417-9d4f54b29ccc/go.mod h1:uBvlRluuL+SbEWTCZ68o0xvsdYZER3CEG/35INdzfJM= +github.com/dolthub/vitess v0.0.0-20241016191424-d14e107a654e h1:Ssd/iV0hAOShAgr0c4pJQNgh2E4my2XHblFIIam0D+4= +github.com/dolthub/vitess v0.0.0-20241016191424-d14e107a654e/go.mod h1:uBvlRluuL+SbEWTCZ68o0xvsdYZER3CEG/35INdzfJM= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=