diff --git a/go/go.mod b/go/go.mod index 5316386b1e..fa854ec44b 100644 --- a/go/go.mod +++ b/go/go.mod @@ -56,7 +56,7 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 github.com/creasty/defaults v1.6.0 github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2 - github.com/dolthub/go-mysql-server v0.19.1-0.20250121083627-42ea0f357606 + github.com/dolthub/go-mysql-server v0.19.1-0.20250121235849-b707510aaf2d github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63 github.com/dolthub/swiss v0.1.0 github.com/esote/minmaxheap v1.0.0 diff --git a/go/go.sum b/go/go.sum index 4b42b6b84c..d876173d21 100644 --- a/go/go.sum +++ b/go/go.sum @@ -179,8 +179,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-20241215010122-db690dd53c90 h1:Sni8jrP0sy/w9ZYXoff4g/ixe+7bFCZlfCqXKJSU+zM= github.com/dolthub/go-icu-regex v0.0.0-20241215010122-db690dd53c90/go.mod h1:ylU4XjUpsMcvl/BKeRRMXSH7e7WBrPXdSLvnRJYrxEA= -github.com/dolthub/go-mysql-server v0.19.1-0.20250121083627-42ea0f357606 h1:KRwz25jzn8CaU45trRyiepyXfY9ZPNq/bt0JE24kyQ0= -github.com/dolthub/go-mysql-server v0.19.1-0.20250121083627-42ea0f357606/go.mod h1:5HtKnb+IAiv+27bo50KGANbUB4HAzGEF9rlFF2ZBLZg= +github.com/dolthub/go-mysql-server v0.19.1-0.20250121235849-b707510aaf2d h1:j4yVH73eSn3nRZgFXRk0BR97QleHOfiAXjkvzs07q5k= +github.com/dolthub/go-mysql-server v0.19.1-0.20250121235849-b707510aaf2d/go.mod h1:5HtKnb+IAiv+27bo50KGANbUB4HAzGEF9rlFF2ZBLZg= 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= diff --git a/go/libraries/doltcore/mvdata/engine_table_writer.go b/go/libraries/doltcore/mvdata/engine_table_writer.go index 9fd5038a7d..f36d731fd2 100644 --- a/go/libraries/doltcore/mvdata/engine_table_writer.go +++ b/go/libraries/doltcore/mvdata/engine_table_writer.go @@ -189,10 +189,19 @@ func (s *SqlEngineTableWriter) WriteRows(ctx context.Context, inputChannel chan // If there were create table statements, they are automatically committed, so we need to start a new transaction if s.importOption == CreateOp { - _, _, _, err = s.se.Query(s.sqlCtx, "START TRANSACTION") + _, iter, _, err := s.se.Query(s.sqlCtx, "START TRANSACTION") if err != nil { return err } + for { + _, err = iter.Next(s.sqlCtx) + if err == io.EOF { + break + } + if err != nil { + return err + } + } } line := 1 @@ -235,8 +244,20 @@ func (s *SqlEngineTableWriter) WriteRows(ctx context.Context, inputChannel chan } func (s *SqlEngineTableWriter) Commit(ctx context.Context) error { - _, _, _, err := s.se.Query(s.sqlCtx, "COMMIT") - return err + _, iter, _, err := s.se.Query(s.sqlCtx, "COMMIT") + if err != nil { + return err + } + for { + _, err = iter.Next(s.sqlCtx) + if err == io.EOF { + break + } + if err != nil { + return err + } + } + return nil } func (s *SqlEngineTableWriter) RowOperationSchema() sql.PrimaryKeySchema { @@ -251,14 +272,34 @@ func (s *SqlEngineTableWriter) DropCreatedTable() error { // quitting import that created table, should drop table if s.importOption == CreateOp { var err error - _, _, _, err = s.se.Query(s.sqlCtx, fmt.Sprintf("DROP TABLE IF EXISTS `%s`", s.tableName)) + var iter sql.RowIter + _, iter, _, err = s.se.Query(s.sqlCtx, fmt.Sprintf("DROP TABLE IF EXISTS `%s`", s.tableName)) if err != nil { return err } - _, _, _, err = s.se.Query(s.sqlCtx, "COMMIT") + for { + _, err = iter.Next(s.sqlCtx) + if err == io.EOF { + break + } + if err != nil { + return err + } + } + + _, iter, _, err = s.se.Query(s.sqlCtx, "COMMIT") if err != nil { return err } + for { + _, err = iter.Next(s.sqlCtx) + if err == io.EOF { + break + } + if err != nil { + return err + } + } } return nil }