github dolthub/dolt v0.40.22
0.40.22

latest releases: v1.43.1, v1.43.0, v1.42.20...
2 years ago

Merged PRs

dolt

  • 4013: Add blob write test for sysbench
  • 4010: go/{commands,doltcore/sqle}: Allow dolt_docs to be created from SQL
  • 4001: Fixing dolt_clone to clean up partially cloned database directories on failure
  • 3996: Fix dolt_remote stored procedure to write to the correct database directory
    Changes DoltDatabaseProvider to track a Filesystem location for each database it manages. This allows callers, like the dolt_remote stored procedure to find the correct root directory for a database and update repo state correctly.
    Fixes #3936
  • 3994: Support USE statement with tag name
  • 3992: Remove query plan decorated nodes
  • 3988: Remove prollyIndexIter channel
  • 3986: Lockfile should be ignored if encoded pid is different than the current process
  • 3981: blob sysbench
  • 3973: Integrate update ignore with gms
    This pul request implements UPDATE IGNORE behavior. CC:
  • 3912: Clone Dolthub Links
    This pr supports dolt clone for https://www.dolthub.com/repositories/.. databases

go-mysql-server

  • 1149: Prevent JSON and GEOMETRY columns from having literal default values
    MySQL disallows BLOB, TEXT, JSON, and GEOMETRY columns from having a literal column default value:
    https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html#data-type-defaults.html#data-type-defaults-explicit
    go-mysql-server already prevents BLOB and TEXT column types; this PR extends that check to cover JSON and GEOMETRY columns as well.
    Fixes: #4003
  • 1148: Big fix for resolving column default values in correct order
    Fixes an issue where we weren't pulling the column definitions in the same order as the InsertInto specified the column values when resolving and validating column default values.
    We did have a test for this case, but because the types in the test were int and varchar, the default values were being coerced silently and the tests were passing when they should have failed. I've updated that test and also added a new test case using an enum that closely matches the case the customer reported.
    Fixes: #4004
  • 1146: fix inverted index IN filter error
  • 1145: Remove decorator nodes, add info back in table plan printing
    Delete *plan.DecoratedNode and helper methods.
    *plan.ResolvedTable and *plan.IndexedTableAccess compensate by printing range and column (logical) properties.
    -                      Projected table access on [pk c1 c2 c3 c4 c5]
    -                          └─ IndexedTableAccess(one_pk on [one_pk.pk] with ranges: [{[NULL, ∞)}])
    +                      IndexedTableAccess(one_pk)
    +                          ├─ index: [one_pk.pk]
    +                          ├─ filters: [{[NULL, ∞)}]
    +                          └─ columns: [pk c1 c2 c3 c4 c5]
    Project(a.i, a.s)
    └─ IndexedJoin(a.i = b.i)
    ├─ TableAlias(a)
    -                           │   └─ Projected table access on [i s]
    -                           │       └─ Table(mytable)
    +                           │   └─ Table(mytable)
    +                           │       └─ columns: [i s]
    └─ TableAlias(b)
    -                               └─ Projected table access on [i]
    -                                   └─ IndexedTableAccess(mytable on [mytable.i])
    +                               └─ IndexedTableAccess(mytable)
    +                                   ├─ index: [mytable.i]
    +                                   └─ columns: [i]
  • 1143: distinct count supports multiple columns
    Fix for: #3978
    PR for testing: #3989
  • 1141: Bug fix for now/current_timestamp column default values not in parens
    Our column default logic was conflating whether a default value was a literal value or an expression when the now or current_timestamp functions were used as the column default. Those column defaults were marked as literals, even though they are expressions that need to be resolved and evaluated. These two functions are the only functions that may be used as a column default value without being enclosed in parens, and when used that way, they were not getting resolved and causing a panic (see linked issue for more details).
    This change makes ColumnDefaultValue.IsLiteral always return true if the default value is a literal value and always return false if the default value is some expression that needs to be resolved and evaluated. To keep consistency with MySQL's behavior, it requires that we track whether the column default was enclosed in parens when defined. This is necessary because MySQL allows the now/current_timestamp functions to be used without parens for datetime/timestamp column, but must be specified in parens when used as the default for any other column type. Since that validation is done in a separate spot from the parsing, we need to track that as part of ColumnDefaultValue.
    Testing: Dolt engine tests and Dolt unit tests all pass correctly with these changes.
    Fixes: #2618
  • 1135: Support UPDATE IGNORE
    This pul request implements UPDATE IGNORE behavior. CC:

Closed Issues

  • 3890: Upgrading Dolt seems to drop some privileges granted to users
  • 3846: Using CALL with DOLT_CHECKOUT returns [HY000][1105] branch not found
  • 3794: Creating a user breaks the default user
  • 3731: Import Benchmarking
  • 3520: Dolt table import on large databases is extremely slow
  • 3438: Performance concerns querying dolt_diff_
  • 3421: Can't reset --hard a table move
  • 3415: Support EDITOR Configuration
  • 3211: dolt sql --file= does not work with -r csv
  • 3185: Certain keys do not work on dolt sql cli
  • 3163: dolt clone progress: "chunks being downloaded currently" is broken
  • 3206: Potential memory leak with sql output
  • 3180: Is dolt's database format stabilized?
  • 2430: Dolt should reuse column on drop then add
  • 2983: mysqldump of an empty database needs to work in Dolt
  • 2969: six million sha256 hashes for 300K packages - a use case
  • 2951: Change README to be more OLTP-centric, less command line-centric
  • 2928: Schema merge should merge constraints more intelligently
  • 2765: Currently downloaded chunks greater than total chunks
  • 2763: Expose remote branches same as Git
  • 2596: Dolt has unclear behavior with check constraint merge
  • 2561: dolt sql-client gets out of sync with dolt sql on creating tables
  • 2751: record updates are extremely slow through SQLModel/SQLAlchemy
  • 2424: dolt diff --schema doesn't print diffs for check constraints
  • 2415: In multi head mode, sometimes feature branch editing has an influence on main branch
  • 2320: writeable dolt_remotes
  • 4003: SHOW CREATE TABLE returns incorrect statement for json field default
  • 2244: Any changes made in another branch will be lost if dolt sql-server isn't restarted after changing branches
  • 2165: Bug: [HY000][1105] ambiguous column name
  • 1899: Weird diff behavior when updating table with csv
  • 2038: error: fetch failed, can't fast forward remote tracking ref
  • 2037: dolt conflicts needs some user interface work
  • 1771: Push down ORDER BY below JOIN
  • 1762: Update dolt sql-server from a remote
  • 1693: dolt table import -u intermittently hangs during batch import
  • 1668: dolt_diff table performance
  • 1604: PhpMyAdmin, Adminer and any other general SQL client compatibility
  • 1602: Replication and clustering
  • 1516: Server Side: Add server flags to Wire Protocol
  • 1550: Possible Deadlock on Large Table Update
  • 1343: Dolt Insert eating up all the memory on host via SQL Server but not CLI
  • 1330: wrong error message for query
  • 1260: Segmentation Fault when i try run dolt blame
  • 984: Dolt SQL select order is inconsistent on larger tables
  • 1152: confusing error message when column missing from CSV
  • 1122: Prevent multiple Dolt SQL servers starting for the same database
  • 1138: Import path writes types.Null to the storage layer
  • 1119: Non-deterministic error on dolt merge --no-ff
  • 1044: Infer join conditions without explicit JOIN clause
  • 1005: Indexing a datetime column is SLOW and makes performance 8x worse
  • 936: Automatically update winget and chocolatey versions of dolt on every release
  • 845: Add test for HTML in Command Line docs
  • 4004: InsertInto with column subset doesn't correctly validate column defaults
  • 3990: Verbose mode with table import
  • 558: generate and support arm binaries
  • 197: dolt blame come out in random order each time
  • 620: All command line arguments that use table or column names should match case-insensitive
  • 392: 'dolt push' should have output for an empty database
  • 330: SQL REPLACE currently counts an INSERT-only as a REPLACE
  • 1610: Dolt: Throughput Test Fails Intermittently
  • 1556: CLI could remap www.dolthub.com to doloteremoteapi.dolthub.com during dolt remote add to improve usability
  • 3978: Unsupported syntax: more than one expression in COUNT
  • 3936: Can't add a remote from a sql-server started outside of a dolt directory
  • 2618: Error with Lazy ColumnDefaultResolution w/ Describe and Column Defaults
  • 3972: Cannot query "WHERE 1 = 0" with ORDER BY clause
  • 3914: MYSQL_DATA_TRUNCATED error when using C API

Don't miss a new dolt release

NewReleases is sending notifications on new releases.