github dolthub/dolt v0.50.3
0.50.3

latest releases: v1.43.7, v1.43.6, v1.43.5...
2 years ago

Merged PRs

dolt

  • 4523: use auto-generated commit message if editor cannot be opened or got empty result
    Dolt tries getting system default editor if it's set, else it tries getting dolt core.editor if it's set, else it uses vim editor to get commit message. If vim is not installed on user's system, then it uses auto-generated commit message.
  • 4522: fix insert ... on duplicate key update ... for unique keys
    fix for: #4475
    only happens in new format, solution was just to validate any key violations before inserting anything.
  • 4519: go/doltcore/sqle: Initialize remotes, backups, and branch config when constructing revision databases
    fix for #4518
  • 4513: /go/performance/import_benchmarker: better err handling
  • 4488: adding multipoint support to dolt
    Companion PR: dolthub/go-mysql-server#1309
    Changes:
    • added support for MultiPoint type
    • read_geometry.go and write_geometry.go are part of types package
    • read_geometry.go and write_geometry.go passthrough to sql implementation of Serialize and Deserialize
    • prolly_indexes uses references sql implementations directly
    • moved helper Conversion functions to/from sql/types to read/write_geometry
    • included some checks to ensure noms kinds don't suddely change

go-mysql-server

  • 1311: internal/sockstate: Fix sockets ending up in blocking mode when we monitor them for disconnects.
    As documented in os, calling *os.File.Fd() will put the socket into blocking mode, makes SetDeadline methods stop working, etc. This syscall to SetNonblocking restores desired functionality.
    This was discovered when testing clustering control plane operations in Dolt, which rely on the timely ability to terminate all client connections by calling Close() on them.
    We were able to reproduce the issue on macOS by doing the same File() behavior there, despite not having an implementation to actually use the fd for external monitoring of the connection state. To keep as much behavioral parity going forward, I left the fd translation in, since we've observed that it can radically change behavior.
  • 1309: Adding Support for MULTIPOINT and some refactoring
    Part 1 of fix for: #3638
    It looks like PRs for this are gonna get pretty big, so I'm going to split them up for easier reviewing.
    Changes:
    • greatly improved code reuse for spatial types
    • refactored code to be more readable
    • some functions were misnamed FROMWKT, when they should've been FROMTEXT
    • ST_POINTFROMWKT -> ST_POINTFROMTEXT
    • ST_LINEFROMWKT -> ST_LINEFROMTEXT
    • ST_POLYFROMWKT -> ST_POLYFROMTEXT
    • missing function aliases
    • ST_LINESTRINGFROMTEXT
    • ST_LINESTRINGFROMWKB
    • ST_POLYGONFROMTEXT
    • ST_POLYGONFROMWKB
    • ST_GEOMETRYFROMTEXT
    • ST_GEOMETRYFROMWKB
    • these functions now work with MULTIPOINT
    • ST_SWAP
    • ST_SRID
    • ST_ASWKB
    • ST_MULTIPOINTFROMWKB
    • ST_MULTIPOINTFROMTEXT
    • ST_MPOINTFROMWKB
    • ST_MPOINTFROMTEXT
    • ST_GEOMFROMWKB
    • ST_ASGEOJSON
    • ST_FROMGEOJSON
    • ST_DIMENSION
    • fixed bug where x and y geojson values were being swapped
  • 1307: allow having node access to all tables in itself
    HAVING clause can reference column that is not in its select result or group by result (there can be no group by clause). These column references are from tables in HAVING node that it is not in its immediate children nodes.

Closed Issues

  • 4270: Diff shows rows that have no diffs when a column has been added in the past.
  • 4211: Inserting large JSON object in a prepared statement causes panic
  • 4475: Dolt not respecting composite unique index.
  • 4521: Pull fails due to missing commit message
  • 4436: Support BEGIN WORK
  • 3791: Dolt backup sync from SQL context returns success 0 instead of success 1.
  • 4463: Official Docker hub image?
  • 945: Client hangs if go-mysql-server takes too long to return query results
  • 1164: Support the DO statement
  • 1162: Support the EXTRACT function
  • 1128: superusers should be hidden
  • 1289: Some queries using HAVING can't be executed without GROUPBY

Latency

Read Tests MySQL Dolt Multiple
covering_index_scan 1.96 2.81 1.4
groupby_scan 12.52 17.32 1.4
index_join 1.16 4.49 3.9
index_join_scan 1.12 3.82 3.4
index_scan 30.81 52.89 1.7
oltp_point_select 0.15 0.47 3.1
oltp_read_only 2.97 8.58 2.9
select_random_points 0.3 0.75 2.5
select_random_ranges 0.35 1.12 3.2
table_scan 30.81 62.19 2.0
types_table_scan 70.55 183.21 2.6
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.5 2.76 1.8
oltp_read_write 5.18 16.71 3.2
oltp_update_index 1.47 4.41 3.0
oltp_update_non_index 1.42 4.65 3.3
oltp_write_only 2.26 7.98 3.5
types_delete_insert 3.02 10.84 3.6
writes_mean_multiplier 2.8
Overall Mean Multiple 2.7

Don't miss a new dolt release

NewReleases is sending notifications on new releases.