• Stable

    aronwk released this 2025-11-18 19:47:04 -06:00 | 258 commits to main since this release

    Merged PRs

    dolt

    • 10094: go/store/nbs: Fix NomsBlockStore Conjoin against AWS S3 when the AWS S3 endpoint requires a Content-Length header.
      AWS Go SDK needs an io.ReadSeeker in the UploadPartInput in order to supply a Content-Length header. Supplying an io.MultiReader was resulting in an error.
      Fix this for now by making a temporary copy of the data and using a bytes.NewReader instead.

    go-mysql-server

    • 3308: make IsNullable return true for nullable datetime functions
      fixes dolthub/dolt#10092
      I updated the datetime functions' IsNullable function based on whether they could return nil, using function_queries.go from #3305 as a reference.
      We should probably do an audit of all our functions to make sure IsNullable is correct.
    • 3306: dolthub/dolt#10083: Honor definer privileges when rebinding views
      Fixes dolthub/dolt#10083
      View rebinding no longer requires the invoker to have CREATE VIEW grant if the definer already did.
      • Introduce builder-level mockDefiner to clone the cached privilege state with explicit global grants.
      • Update resolveView to mock definer for CREATE VIEW grant since it's implicitly required to exist.
    • 3305: Fix datetime functions to return correct results for 0 and false
      Fixes dolthub/dolt#10075
      Our datetime functions were not returning the correct results for 0 and false. This was because we were using 0000-01-01 as zeroTime (which evaluates to true using Go's time.IsZero) and then extracting datetime information from that timestamp. Using 0000-01-01 as zeroTime was also giving incorrect results for some functions when the input timestamp was actually 0000-01-01, since it was being equated as zeroTime.
      Also, depending on whether false was read as false or 0, we were also not able to convert it to zeroTime.
      This fix involves updating zeroTime to time.Date(0, 0, 0, 0, 0, 0, 0, time.UTC), which has the timestamp -0001-11-30. Since negative years are not valid in MySQL, this timestamp would not conflict with a non-zero timestamp. We also add in checks for zeroTime to make sure functions return the correct value from zeroTime instead of simply extracting datetime information from the timestamp.
      Dolt bump PR: dolthub/dolt#10084

    Closed Issues

    • 10092: Unexpected ANTI JOIN Result
    • 10083: View SELECT requires invoker to have CREATE VIEW
    • 10075: Unexpected DAYOFMONTH Result
    Downloads