github dolthub/dolt v1.42.12
1.42.12

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

Merged PRs

dolt

  • 8274: Allow duplicate indexes, to match MySQL behavior
    This change allows Dolt to create multiple indexes on a table to cover the same set of columns, to match MySQL's behavior. While duplicate indexes are not generally useful, some MySQL tooling (e.g. Django) can create duplicate indexes as part of generated schema migration code.
    Test for creating duplicate indexes were added to GMS, in the PR below. I also tested merge behavior with duplicate indexes and confirmed that we already have a guardrail in place to prevent merging multiple indexes that cover the same set of columns, and a test for that guardrail.
    GMS PR: dolthub/go-mysql-server#2634
    Customer issue: #8254
  • 8273: ResolveDefaultExpression should return a ColumnDefaultValue instance, because it has information about the type of the column and performs conversions.
    Fixes #8269
    We were removing the ColumnDefaultValue expression node when building secondary indexes, which was a problem when the type of the default value needed to be converted to the column type: it's the ColumnDefaultValue expression that does that conversion.
  • 8268: Db/dolt ci events
  • 8260: Fixes for dolt installer bash-script
    1. Fixed error message mistakenly implying that dolt can be installed on 32-bit systems
    2. Fixed color printing on bash (and zsh running in bash compatibility mode) installed on an OS with non-GNU coreutils (Alpine Linux, macOS)
    3. Linted install.sh and fixed all the errors and warning that had obvious fixes. The only one left is local error_code="$1" in fail function that should be removed but may be reused for debugging purposes by manually editing the script
  • 8253: Add dolt_workspace_* system tables
    This is the read only addition of the dolt_workspace_{table} s. These dynamically generated tables are always relative to HEAD for the given session of the caller. There are no commits as a result, and the schema of the output looks like:
    | ID (int) | STAGED (bool) | DIFF_TYPE (string) | to_A | to_B | ... | from_A | from_B | ... |
    Currently there is no mechanism to update this table directly, but in the future that will make it possible to have fine grain modification of your workspace, similar to git add --patch
  • 8242: Skip filterIter match check when a key range is contiguous

go-mysql-server

  • 2636: Add additional engine tests for indexes on generated columns.
    These tests verify the correctness of #8273.
    Some of the checks in these tests are skipped because they run afoul of #8275 and #8276
  • 2634: Adding tests for supporting duplicate secondary indexes
    New tests asserting that multiple indexes over the same set of columns can be created on tables.
    #8274 fixes Dolt for these tests to pass.
  • 2633: handle view resolution when the schema is not defined in SELECT stmt
  • 2631: include parent scopes in update and delete triggers
    partially fixes #8213
  • 2628: Aggregation/range scan perf edits
    • Resolving aggregation functions checks the integrator function provider first. The interface required us to create an expensive error object to resolve any standard functions. Now we only create the error object if a function name is not found in integrator and standard list.
    • Skip duplicate unused functional dependency tracking in coster.
    • Aggregations with no group by and single scopes can only return one row, so use the sql.QFlagMax1Row shortcut.
      benchmarks here: #8241

Closed Issues

  • 8269: Panic when creating index on generated column
  • 7830: Support --empty flag for handling empty commits during rebase
  • 8250: Permission for the home directory: panic: runtime error: invalid memory address or nil pointer dereference

Don't miss a new dolt release

NewReleases is sending notifications on new releases.