github dolthub/dolt v1.82.4
1.82.4

8 hours ago

Merged PRs

dolt

  • 10538: fix git remote performance on dolt push
    Prior to this change pushes that would take ~6s to DoltHub took ~70s to a Git remote. This pr removes fetch for non-manifest keys that are already in the cache on the read path which brings a push to a git remote down to around ~17s. One the write path, tablefiles are now only written to the remote at the same time the manifest is written, in a single commit and push call. This change brings the performance down to about ~8s in my testing. This optimization doesn't change the Blobstore interface, but does introduce a risk for a caller-side bug, by incorrectly calling Put(tf1), CheckAndPut(manifest_referencing_tf1_and_tf2), Put(tf2). This changes the visibility contract that a Put is already on the remote.
    Also, fixes git fetch failures caused by stale remote-tracking refs: add --refmap="" so fetch only processes our explicit refspec and ignores the remote's default fetch refspecs, which can fail with ref directory/file conflicts unrelated to our ref.
  • 10532: Adding --continue flag to cherry-pick
    Currently our workflow for dealing with conflicts in cherry-pick is to dolt_add then dolt_commit which ends up losing commit data like the author and commit message.
    This PR adds the --continue flag to cherry-pick (both stored procedure and CLI), which will preserve the commit metadata.
    This flag exists on git cherry-pick
  • 10529: Filter ignored tables from dolt_status and dolt_diff
    Fixes #10524
    Ignored tables (tables matching patterns in the dolt_ignore system table) are tables that aren't intended to be staged. We should exclude them from dolt status and dolt diff output unless specifically requested with flags.
    There's one questionable part of this PR: how the system tables handle tables that match multiple conflicting patterns. The dolt status and dolt diff CLI commands detect this and display a warning, but there's not currently a way for the dolt_status and dolt_diff system tables to signal these conflicts. So with this PR:
    • System tables treat tables that match conflicting patterns as not ignored
    • CLI commands do an additional check in order to detect conflicts
      This PR also removes most of the duplicate logic out of the dolt status command in favor of the dolt_status_ignored system table. We can't remove all the logic because of the aforemenentioned check.

go-mysql-server

  • 3441: bug fix: allow ALTER TABLE DROP CONSTRAINT to remove unique indexes
    When adding a unique constraint to a table, it wasn't possible to remove it using ALTER TABLE DROP CONSTRAINT. This change allows unique indexes to be removed with this syntax.
    Related to: dolthub/doltgresql#2359
  • 3438: Implement sql.StringType interface for systemStringType
    fixes #10534
    part of #10535

Closed Issues

  • 10524: DOLT_DIFF and DOLT_STATUS should omit newly created tables that match DOLT_IGNORE patterns

Don't miss a new dolt release

NewReleases is sending notifications on new releases.