github dolthub/dolt v0.50.6
0.50.6

latest releases: v1.43.14, v1.43.13, v1.43.12...
2 years ago

Merged PRs

dolt

  • 4582: Fix panic when merging tables that have a check constraint with some string literal
    This PR fixes a panic that occurs when merging tables that define a check constraint using some string literal. The panic's stacktrace is:
    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x2 addr=0x10 pc=0x10193c7f8]
    goroutine 1 [running]:
    github.com/dolthub/go-mysql-server/sql/parse.convertVal(0x0?, 0x14000e80520)
    /Users/dhruv/go/pkg/mod/github.com/dolthub/go-mysql-server@v0.12.1-0.20221018190947-3e6ea0fb9c2b/sql/parse/parse.go:3392 +0x658
    github.com/dolthub/go-mysql-server/sql/parse.ExprToExpression(0x0, {0x10282ae00?, 0x14000e80520?})
    /Users/dhruv/go/pkg/mod/github.com/dolthub/go-mysql-server@v0.12.1-0.20221018190947-3e6ea0fb9c2b/sql/parse/parse.go:3100 +0x1ee4
    github.com/dolthub/go-mysql-server/sql/parse.comparisonExprToExpression(0x10281e901?, 0x14000e86c80)
    /Users/dhruv/go/pkg/mod/github.com/dolthub/go-mysql-server@v0.12.1-0.20221018190947-3e6ea0fb9c2b/sql/parse/parse.go:3491 +0x54
    github.com/dolthub/go-mysql-server/sql/parse.ExprToExpression(0x0, {0x10282ab00?, 0x14000e86c80?})
    /Users/dhruv/go/pkg/mod/github.com/dolthub/go-mysql-server@v0.12.1-0.20221018190947-3e6ea0fb9c2b/sql/parse/parse.go:3089 +0x1cb8
    github.com/dolthub/go-mysql-server/sql/parse.ExprToExpression(0x0, {0x10282ada0?, 0x14000200e70?})
    /Users/dhruv/go/pkg/mod/github.com/dolthub/go-mysql-server@v0.12.1-0.20221018190947-3e6ea0fb9c2b/sql/parse/parse.go:3164 +0x1594
    github.com/dolthub/go-mysql-server/sql/analyzer.ConvertCheckDefToConstraint(0x14000cbdf88?, 0x14000cbe288)
    /Users/dhruv/go/pkg/mod/github.com/dolthub/go-mysql-server@v0.12.1-0.20221018190947-3e6ea0fb9c2b/sql/analyzer/check_constraints.go:317 +0xc4
    github.com/dolthub/go-mysql-server.ColumnsFromCheckDefinition(0x10250f760?, 0x14000cbe3d0?)
    /Users/dhruv/go/pkg/mod/github.com/dolthub/go-mysql-server@v0.12.1-0.20221018190947-3e6ea0fb9c2b/engine.go:583 +0x1c
    github.com/dolthub/dolt/go/libraries/doltcore/merge.mergeChecks({0x102833588, 0x14000666e70}, {0x102833588, 0x14000667020}, {0x102833588, 0x14000667080})
    /Users/dhruv/dolt/go/libraries/doltcore/merge/merge_schema.go:807 +0x31c
    github.com/dolthub/dolt/go/libraries/doltcore/merge.SchemaMerge(0x1036fac40?, {0x10284f700, 0x1400065d920}, {0x10284f700, 0x1400065dc20}, {0x10284f700, 0x1400065dd40}, {0x1036fac40, 0x1})
    /Users/dhruv/dolt/go/libraries/doltcore/merge/merge_schema.go:169 +0x5e0
    github.com/dolthub/dolt/go/libraries/doltcore/merge.(*RootMerger).MergeTable(0x14000cbf0e0, {0x1028344d8, 0x14000e863c0}, {0x1036fac40, 0x1}, {0x0, {0x102824888, 0x140006611a0}, {0x1400066c6c0, 0x2c}}, ...)
    /Users/dhruv/dolt/go/libraries/doltcore/merge/merge_rows.go:123 +0x1ec
    github.com/dolthub/dolt/go/libraries/doltcore/merge.MergeRoots({0x1028344d8, 0x14000e863c0}, 0x1400067f1d0, 0x1400067f220, 0x1400067f3b0, {0x102824130, 0x14000e86500}, {0x102824130, 0x14000e86980}, {0x0, ...}, ...)
    /Users/dhruv/dolt/go/libraries/doltcore/merge/merge.go:131 +0x62c
    github.com/dolthub/dolt/go/libraries/doltcore/merge.MergeCommits({0x1028344d8, 0x14000e863c0}, 0x14000cbf3a8?, 0xb9ce7a80f36fd6ca?, {0x0, {0x102824888, 0x140006611a0}, {0x1400066c6c0, 0x2c}})
    /Users/dhruv/dolt/go/libraries/doltcore/merge/merge.go:66 +0xf0
    github.com/dolthub/dolt/go/libraries/doltcore/merge.ExecuteMerge({0x1028344d8, 0x14000e863c0}, 0x14000e863c0?, 0x14000eb6000)
    /Users/dhruv/dolt/go/libraries/doltcore/merge/action.go:223 +0x9c
    github.com/dolthub/dolt/go/cmd/dolt/commands.performMerge({0x1028344d8, 0x14000e863c0}, 0x14000eb6000?, 0x14000eb6000, {0x14000656280, 0x1e})
    /Users/dhruv/dolt/go/cmd/dolt/commands/merge.go:497 +0xfc
    github.com/dolthub/dolt/go/cmd/dolt/commands.MergeCmd.Exec({}, {0x1028344d8, 0x14000e863c0}, {0x14000668210, 0xa}, {0x1400004e1d0, 0x1, 0x1}, 0x1400066a090)
    /Users/dhruv/dolt/go/cmd/dolt/commands/merge.go:184 +0x998
    github.com/dolthub/dolt/go/cmd/dolt/cli.SubCommandHandler.handleCommand({{0x101e529aa, 0x4}, {0x101e6f2be, 0x11}, {0x0, 0x0}, {0x14000db6000, 0x2f, 0x2f}, 0x0}, ...)
    /Users/dhruv/dolt/go/cmd/dolt/cli/command.go:237 +0x450
    github.com/dolthub/dolt/go/cmd/dolt/cli.SubCommandHandler.Exec({{0x101e529aa, 0x4}, {0x101e6f2be, 0x11}, {0x0, 0x0}, {0x14000db6000, 0x2f, 0x2f}, 0x0}, ...)
    /Users/dhruv/dolt/go/cmd/dolt/cli/command.go:186 +0x390
    main.runMain()
    /Users/dhruv/dolt/go/cmd/dolt/dolt.go:395 +0x6ec
    main.main()
    /Users/dhruv/dolt/go/cmd/dolt/dolt.go:140 +0x1c
    
  • 4576: Add Docker Image support for linux/arm64
    Added Docker Image for linux/arm64 addition to linux/amd64 architecture. Each will be pushed to DockerHub as separate tags, but both image will be available for latest or <release_version> tags.
  • 4575: go/store/val: Add env var for disabling fast fixed-width access
    partial fix for #4527
  • 4572: Support two dot log in dolt_log table function
    Supports these two dot log syntaxes:
    select * from dolt_log(<revision>..<revision>)
    select * from dolt_log(^<revision>, <revision>)
    
    Adding --not and other arguments/options next
  • 4571: Branch Control Pt. 8
    Per the suggestion, this is a rewrite of branch control persistence using flatbuffers. Using the rest of the codebase as an example, it looks like we write vectors and such first before writing them to the object that they belong to, so I'm following that style.
  • 4564: Add basic dolt_log table function
    Supports select * from dolt_log(<revision>) (<revision> is optional). Adding more options in a follow up PR
  • 4561: Support two dot log for CLI
  • 4560: go/doltcore/{table, rowconv}: Cleanup dead code
  • 4559: Branch Control Pt. 6
    This fixes a few issues found through testing, and also adds persistence for the tables. Also re-added the binlog_table.go file. I originally removed it, but misread the feedback that said to not expose it rather than to remove it.
  • 4558: dolt support for GeometryCollection
    fix for: #3638
  • 4553: Branch Control Pt. 7
    Tests for branch control tables. Things left to do:
    • Bats tests
    • Logic and tests for the rest of the dolt procedures
    • Moving the tables into the context
    • Support for roles
  • 4546: fix filters on dolt_diff system table

go-mysql-server

  • 1341: fix comparison for geometry types
    fix for: #3451
    Maybe all geometry comparisons should just default to their EWKB formats; pretty confident this is what MySQL does.
  • 1337: add support for GeometryCollection pt. 3
    Part 10 of fix for: #3638
    Changes:
    • these functions now work with GeometryCollection
    • st_srid
    • st_swap
  • 1336: can't alter blob, json, and geometry columns when other defaults are defined
    fix for: #4543
    Note: the syntax here is actually invalid in MySQL?
  • 1335: add support for GeometryCollection pt. 2
    Part 9 of fix for: #3638
    Changes:
    • refactor a bit of wkt code
    • added missing implementation and tests for wkt for multipolygon
    • these functions now work with GeometryCollection
    • st_geometrycollectionfromtext
    • st_geomcollfromtext
    • st_geomcollfromtxt
    • st_geomfromtext
    • st_astext
    • st_aswkt
    • st_dimension
  • 1332: add support for GeometryCollection pt. 1
    Part 8 of fix for: #3638
    Changes:
    • have the deserialize data and write data methods return their own byte counts, to more easily track where we are in main deserailizer
    • adding GeometryCollection type
    • these functions now work with GeometryCollection
    • GeometryCollection
    • GeomCollection
    • st_aswkb
    • st_geometrycollectionfromwkb
    • st_geomcollfromwkb

Closed Issues

  • 3451: Wrong result from select statement with filter on spatial types
  • 3638: Support MultiLineString, MultiPolygon, MultiPoint and GeometryCollection geometry types
  • 4557: Inserting bulk records is too slow
  • 1319: Filter pushdown doesn't show in explain plan even though pushdown was successful

Latency

Read Tests MySQL Dolt Multiple
covering_index_scan 1.96 2.66 1.4
groupby_scan 12.3 17.32 1.4
index_join 1.18 4.57 3.9
index_join_scan 1.14 3.82 3.4
index_scan 30.26 54.83 1.8
oltp_point_select 0.15 0.48 3.2
oltp_read_only 2.97 8.74 2.9
select_random_points 0.3 0.75 2.5
select_random_ranges 0.35 1.14 3.3
table_scan 30.81 63.32 2.1
types_table_scan 69.29 186.54 2.7
reads_mean_multiplier 2.6
Write Tests MySQL Dolt Multiple
bulk_insert 0.001 0.001 1.0
oltp_delete_insert 2.91 9.73 3.3
oltp_insert 1.39 2.76 2.0
oltp_read_write 5.09 16.71 3.3
oltp_update_index 1.47 4.49 3.1
oltp_update_non_index 1.44 4.65 3.2
oltp_write_only 2.22 7.98 3.6
types_delete_insert 3.19 10.84 3.4
writes_mean_multiplier 2.9
Overall Mean Multiple 2.7

Don't miss a new dolt release

NewReleases is sending notifications on new releases.