github dolthub/dolt v1.13.0
1.13.0

latest releases: v1.43.13, v1.43.12, v1.43.11...
14 months ago

This release contains backwards incompatible changes:

  • Primary key change to the dolt_status system table. Previously the primary key of this table only included the table_name column. The primary key now also contains the staged and status columns to account for the same table name appearing multiple times in dolt_status (i.e. a table that was staged and then additional unstaged changes being made).

Per Dolt’s versioning policy, this is a minor version bump because of the schema change for the dolt_status system table.

Merged PRs

dolt

  • 6550: Silence branch create
    Previously dolt branch foobar HEAD would print a statement that HEAD is an invalid branch name. It would succeed though, and return an exit status of 0. So tests passed.
    This is no longer the case.
  • 6542: Clean up sql command's help message
  • 6474: dolt_status system table shows if merge is active when there are no conflicts
    Breaking change: Updates primary keys of dolt_status system table. We originally just had table_name in the primary key, but a table can already show up more than once in dolt_status. status and staged should also be part of the primary key.
    This PR also adds a "merged" status row to the dolt_status system table when a schema conflict has been resolved but that table has not yet been committed, which fixes #6473

go-mysql-server

  • 1959: Bug fix: Prevent panic when reading non-existent user and system vars
    Fixes #6546
    We have enginetests that cover both of these queries, but because we don't run them with the full wire request/response processing code, we didn't catch these bugs during testing. Happy to add more tests here if there are suggestions, but I think the right way to test both of these is to get our existing test suite running over a SQL server connection, instead of just using the internal interfaces to the engine (i.e. #3646), which Zach started on last week.
  • 1958: Don't parse queries twice
    Local profile for oltp_point_select (query with smallest time spent in execution) is 5-15% speedup. Impact on queries with longer-runtime will be smaller, proportional to the fraction of time spent in analysis vs execution.
    results here: #6547 (comment)
  • 1957: Fixed relevancy ordering for Full-Text
    Fixes #6530
  • 1956: Removed unused AutoIncrementGetter interface
    Related to #6543.
    The AutoIncrementGetter was moved from the editor to the table years ago, however the interface remained. I debated deleting this during my Full-Text implementation, however decided to leave it. Now, we've encountered an error with an integrator making use of the interface, so it has been removed here and the interface was moved into the integrator since it's an internal detail now.
  • 1954: Lateral join uses prepend row on RHS
  • 1951: Fixed collation display in SHOW CREATE TABLE
    Originally, we didn't display the collation in SHOW CREATE TABLE when the collation was the default collation. Now, it doesn't display it if it's the same as the table collation, which mimics MySQL's behavior.
  • 1938: Create interface for indexible tables in IndexedTableAccess
    Currently, only ResolvedTables are allowed to have indexes. There exists an interface, sql.IndexAddressable, which any node or table can implement in order to be a candidate for index-based optimization. But in practice, implementing that interface won't actually do anything because the IndexedTableAccess struct explicitly requires a ResolvedTable.
    This PR replaces the ResolvedTable field in IndexedTableAccess with a new interface tentatively called TableNode, although a more specific name would probably be better.
    In order for a node to be used for index-based optimization, it must implement this interface, and the table returned by the UnderlyingTable method must implement sql.IndexAddressable

Closed Issues

  • 6473: dolt_status system table should show if merge is active
  • 6540: Can't add a fulltext index to an existing TEXT type column.
  • 6530: order by a fulltext match column does not work
  • 6546: Dolt sql-server panics on unknown variable

Latency

Read Tests MySQL Dolt Multiple
covering_index_scan 2.11 2.97 1.4
groupby_scan 13.22 18.28 1.4
index_join 1.25 4.74 3.8
index_join_scan 1.21 2.22 1.8
index_scan 32.53 57.87 1.8
oltp_point_select 0.14 0.42 3.0
oltp_read_only 2.71 7.43 2.7
select_random_points 0.31 0.74 2.4
select_random_ranges 0.37 1.06 2.9
table_scan 33.12 57.87 1.7
types_table_scan 74.46 170.48 2.3
reads_mean_multiplier 2.3
Write Tests MySQL Dolt Multiple
bulk_insert 0.001 0.001 1.0
oltp_delete_insert 4.74 5.67 1.2
oltp_insert 2.26 2.86 1.3
oltp_read_write 5.99 14.46 2.4
oltp_update_index 2.35 2.86 1.2
oltp_update_non_index 2.3 2.76 1.2
oltp_write_only 3.3 7.17 2.2
types_delete_insert 4.74 5.99 1.3
writes_mean_multiplier 1.5
Overall Mean Multiple 1.9

Don't miss a new dolt release

NewReleases is sending notifications on new releases.