github dolthub/dolt v1.55.3
1.55.3

latest releases: v1.59.2, v1.59.1, v1.59.0...
2 months ago

Merged PRs

dolt

  • 9393: Fix 483 - rm already covered bats
    Fixes #483
    Removed extra bats test
  • 9388: Ensure error checking is performed when generating statistics template
  • 9384: Bh/copilot test
  • 9383: go: clone: Fix dolt clone to work even when dolt startup logic detects that TMPDIR is not renamable to the local directory and it creates a .dolt/tmp directory.
  • 9382: contribution test
    Copy of #9349
  • 9379: Fix 8853 warn local user persists
    Fixes: #8853
    On sql-server restart __dolt_local_user__ is dropped if persistent
    If the __dolt_local_user__ is persistent on restart it's logged with a warning and dropped
  • 9376: 9374 support mysql user mysql password env vars
    Fixes: #9374
    Add support for MYSQL_USER/MYSQL_PASSWORD environment variables
  • 9371: Fix 483 unable to checkout table(s)/branch(s) with same name
    Fixes: #483
    Local/remote refs take priority in Do What I Mean (DWIM) scenarios where dolt has to interpret ambiguous input in checkout.
    If a table and tracking branch share the same name, but local does not exist an error will occur.
    -- can now be used to clear up ambiguity.
    case 1: dolt checkout <ref> -- [<tables>]
    <ref> must be a singular valid tree, everything else after '--' must be a table.
    case 2: dolt checkout -- [<tables>]
    This is case 1 but without <ref>.
    case 3: git checkout <something> [--]
    (a) If is a commit switch to branch.
    (b) If isn’t a commit, and either "--" is present or isn’t a table, no -t or -b is given, and there’s a tracking branch named on exactly one remote (or on the specified remote), then this acts as shorthand to fork local from that remote-tracking branch.
    (c) Otherwise, if "--" is present, treat it like case 1.
    (d) Otherwise, if a ref treat it like case 1. If a table treat like case 2. If neither fail.
    case 4: git checkout <something> <tables>
    The first argument must not be ambiguous. If a <ref> follow case 1, if a table follow case 2. Otherwise, fail.
  • 9369: Dolt Stash CLI Migration
    Part 2 of #7623
    Migrates dolt stash cli command to use dolt_stash stored procedure
  • 9361: Implemented dolt_history_dolt_schemas and dolt_diff_dolt_schemas
    Fixes: #9360
  • 9349: feat(import): validate primary keys early
    NOTE: currently this is just checking primary keys, but the related issue also mentioned in #1083 references issues with number of args. I'm wondering if I should split that into two separate PRs, or if it's fine to do both - currently I only have the PK validation in place? Personally I would argue to separate them since they are slightly different, albeit similar. But happy to take either path.
    Add early validation to check if specified primary keys exist in the import file's schema before processing rows. This prevents users from waiting for large files to be processed only to discover that their primary key column names are invalid.
    Changes:
    • Add validatePrimaryKeysAgainstSchema function to check primary key existence against file schema
    • Integrate validation into newImportDataReader for create operations
    • Provide helpful error messages listing available columns when primary keys are not found
    • Add unit tests covering various validation scenarios
    • Add BATS integration tests for CSV, PSV, and large file scenarios
      The validation only runs for create operations when primary keys are explicitly specified and no schema file is provided. This ensures fast failure while maintaining backward compatibility.
      Before: Users waited minutes for large files to process before seeing "provided primary key not found" errors
      After: Users get immediate feedback with helpful column suggestions
      Closes: #1083
  • 9339: Utility method to list all system tables in a schema
    Needed for doltgres, to put generated system tables in pg_catalog tables.

go-mysql-server

  • 3043: fix missed case for nullable enums
    This PR adds a missed edge case from this: dolthub/go-mysql-server#2985
    We were incorrectly making nullable enum columns take the first value.
  • 3040: backtick column names in check constraints
    MySQL backticks any column names within a check expression preventing any parser errors when round tripping tables, so we should do the same.
    fixes: #9343
  • 3038: Fix schema for call to hash.HashOf() in HashLookups
    The incorrect schema was used in the hash.HashOf() function.
    n.Schema() is the schema of the entire JoinNode; we just needed the schema of the key.'
    Test bump: https://github.com/dolthub/ld/pull/20634
  • 3037: Apply foreign key constraints to UPDATE JOIN
    Modified UpdateJoin to be able to apply foreign key constraints
    Part of #9356
  • 3036: Cache REGEX
    We should be able to avoid recompiling the regex if the pattern and flags are static.
    Addresses: #9366
    Other reasons for potential slowness:
    • REGEXP is more correct; it takes into account collations
    • Variable-length TextStorage requires unwrapping
  • 3034: Allow drop trigger ... when trigger is invalid
    We should ignore parser errors when trying to drop triggers that are invalid.
    fixes: #9359
  • 3027: make sql.HashOf() collation aware
    This PR adds type/collation information to HashOf.
    Additionally, it refactors HashOf to avoid import cycles and has groupingKey use the function.
    fix for: #9049
    doltgres fix: dolthub/doltgresql#1548

Closed Issues

  • 9360: add dolt_history_dolt_schemas and dolt_diff_dolt_schemas
  • 483: Unable to checkout table if branch name and table name are identical
  • 4205: Preview conflicts without running dolt merge
  • 1083: validate all import args before reading import rows
  • 9343: Check constraint with column named order breaks inserts, updates, other operations
  • 8853: Warn if Dolt can't create __dolt_local_user__ account on startup
  • 9374: Support MYSQL_USER and MYSQL_PASSWORD environment variables in Dolt Docker image
  • 9049: IN (SUBQUERY) expressions ignore collation
  • 9368: dolt reset --hard does not reset dolt_schemas
  • 9366: REGEXP performance regression
  • 3039: server package usage issues

Don't miss a new dolt release

NewReleases is sending notifications on new releases.