New
1.81.5
Merged PRs
dolt
- 10405: dolt_commit respects foreign key checks
When
foreign_key_checksis set to 0,dolt_commitshould allow staged working states with foreign key violations. Fixes issue #5605 - 10401: go: sqle: Fix CREATE DATABASE ... COLLATE ... when a non-Dolt database is the current connection's database.
- 10384: Add
editsupport to rebase. This changes adds the abilityeditin the middle of arebase --interactivesession.
go-mysql-server
- 3410: Replace
Time.Subcall inTIMESTAMPDIFFwithmicrosecondsDifffixes dolthub/dolt#10397Time.Subdoesn't work for times with a difference greater than 9,223,372,036,854,775,807 (2^63 - 1) nanoseconds, or ~292.47 years. This is becauseTime.Subreturns aDuration, which is really anint64representing nanoseconds. MySQL only stores time precision to the microsecond so we actually don't care about the difference in nanoseconds. However, there's no easy way to directly expose the number of microseconds or seconds since epoch using the public functions forTime-- this is because seconds since epoch are encoded differently with different epochs depending on whether the time is monotonic or not (Jan 1, 1885 UTC or Jan 1, 0001 UTC).Time.SubusesTime.secto normalizeTimeobjects to seconds since the Jan 1, 0001 UTC epoch. ButTime.secisn't public so we can't call it ourselves. AndTime.SecondandTime.Nanosecondonly give the second and nanosecond portion of a wall time, not the seconds/nanoseconds since an epoch. However,Time.UnixMicrodoes give us the microseconds since Unix epoch (January 1, 1970 UTC)...by callingTime.secand then converting that to Unix time. SomicrosecondsDiffcalculates the difference in microseconds between twoTimeobjects, getting their microsecond values by callingTime.UnixMicroon both of them. This isn't the most efficient but it's the best we can do with public functions. - 3409: Calculate
monthandquarterfor timestampdiff based on date and clock time values fixes dolthub/dolt#10393 Refactors logic foryearinto separate functionmonthDiffso that it can be reused formonthandquarter - 3408: Added runner to hooks This adds a to all hooks, as they may want to execute logic depending on the hook statement. For example, cascade table deletions could literally just run on the cascading items when dropping a table rather than trying to manually craft nodes which are subject to change over time.
vitess
- 453: Add support for serializing optional table map metadata
To support
@@binlog_row_metadata = 'FULL', we need support for serializing optional table map metadata. - 452: Bump google.golang.org/grpc from 1.24.0 to 1.56.3 Bumps google.golang.org/grpc from 1.24.0 to 1.56.3.