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
IsNullablereturn true for nullable datetime functions
fixes #10092
I updated the datetime functions'IsNullablefunction based on whether they could return nil, usingfunction_queries.gofrom #3305 as a reference.
We should probably do an audit of all our functions to make sureIsNullableis correct. - 3306: #10083: Honor definer privileges when rebinding views
Fixes #10083
View rebinding no longer requires the invoker to have CREATE VIEW grant if the definer already did.- Introduce builder-level
mockDefinerto clone the cached privilege state with explicit global grants. - Update
resolveViewto mock definer for CREATE VIEW grant since it's implicitly required to exist.
- Introduce builder-level
- 3305: Fix datetime functions to return correct results for
0andfalse
Fixes #10075
Our datetime functions were not returning the correct results for0andfalse. This was because we were using0000-01-01aszeroTime(which evaluates to true using Go'stime.IsZero) and then extracting datetime information from that timestamp. Using0000-01-01aszeroTimewas also giving incorrect results for some functions when the input timestamp was actually0000-01-01, since it was being equated aszeroTime.
Also, depending on whetherfalsewas read asfalseor0, we were also not able to convert it tozeroTime.
This fix involves updatingzeroTimetotime.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 forzeroTimeto make sure functions return the correct value fromzeroTimeinstead of simply extracting datetime information from the timestamp.
Dolt bump PR: #10084