Merged PRs
dolt
- 10276: #10269: Add
@@dolt_override_schemasupport fordolt_diff()
Fixes #10269 - 10272: Skipped test for dolt_diff() table function not respecting schema overrides
I tried to have Claude fix the actual bug but it got lost. - 10267: /{go,integration-tests}: support environment variable interpolation
Adds support for environment variable interpolation in thedolt sql-serverconfiguration file (config.yaml).
Users can now reference environment variables using the${VAR}syntax, which will be replaced at runtime with the value of theVARenvironment variable. - 10259: Return empty IndexLookup if Literal type is not convertible to column type
fixes #10246
test added in dolthub/go-mysql-server#3360 - 10241: Embed IANA time zone database for clean environments
This does not resolve #10238 but addresses part one of the issue. Some environments do not have an IANA time zone database at atime.LoadLocationexpected location. If you require manual loading of a specific time zone database, please see the Go's documentation and make an explicit request on Discord with the issue number above. - 10173: Bump github.com/sirupsen/logrus from 1.8.1 to 1.8.3 in /go
Bumps github.com/sirupsen/logrus from 1.8.1 to 1.8.3. - 10100: refactor: remove redundant variable declarations in for loops
The new version of Go has been optimized, and variables do not need to be reassigned.
For more info: https://tip.golang.org/wiki/LoopvarExperiment#does-this-mean-i-dont-have-to-write-x--x-in-my-loops-anymore
go-mysql-server
- 3365: Handle more types in
abs
fixes #10171
fixes #10270
Add case for bool types and add default case that tries to convert value to Float64. - 3364: Add panic handling to spawned goroutine
Spawning a new go routine prevented Doltgres' panic handler from catching the panic. This was discovered by Doltgres regression tests crashing from the unhandled panic. - 3361: Handle empty right iterators in exists iterator as an EOF
fixes #10258
An empty right iterator in an exists iterator should be treated the same as an EOF. Previously, we were treating an empty right iterator as if it would be returning a single nil row, but this is wrong. An empty right iterator would imply an empty set, which is not the same as a single nil row. - 3354: Add required attribution for mascot image to README
This PR adds the required attribution for the mascot image used in the README.
The mascot image is based on the Go gopher and related derivative work,
and the README has been updated to include the appropriate credits.
Please let me know if any adjustments are needed. - 3329: Bump github.com/sirupsen/logrus from 1.8.1 to 1.8.3
Bumps github.com/sirupsen/logrus from 1.8.1 to 1.8.3.
Closed Issues
- 10270:
absreturnsnullwhen inputs are boolean values - 10238:
CONVERT_TZdoes not accept MySQL time zone names for users without an IANA database - 10269: User reports schema override does not effect
dolt_diff()table function - 10171:
absdoes not truncate strings - 10239: Feature: Support env variable interpolation in the config.yaml file
- 9502: High Memory Usage in DoltSQL Server During Idle State
- 9840: Missing warning for casting negative number string to unsigned
- 6056: Structural output mode for
dolt status - 10258:
WHERE NOT EXISTSfrom an empty view does not return correct results - 10246: Booleans should not be used as keys for varchar index lookups
- 10234: Unexpected Anti Join Result
Performance
| Read Tests | MySQL | Dolt | Multiple |
|---|---|---|---|
| covering_index_scan | 1.86 | 0.55 | 0.3 |
| groupby_scan | 13.7 | 9.91 | 0.72 |
| index_join | 1.52 | 1.86 | 1.22 |
| index_join_scan | 1.5 | 1.34 | 0.89 |
| index_scan | 34.33 | 22.28 | 0.65 |
| oltp_point_select | 0.2 | 0.27 | 1.35 |
| oltp_read_only | 3.82 | 5.18 | 1.36 |
| select_random_points | 0.35 | 0.54 | 1.54 |
| select_random_ranges | 0.39 | 0.56 | 1.44 |
| table_scan | 34.95 | 22.28 | 0.64 |
| types_table_scan | 75.82 | 65.65 | 0.87 |
| reads_mean_multiplier | 1.0 |
| Write Tests | MySQL | Dolt | Multiple |
|---|---|---|---|
| oltp_delete_insert | 8.43 | 6.43 | 0.76 |
| oltp_insert | 4.18 | 3.19 | 0.76 |
| oltp_read_write | 9.22 | 11.45 | 1.24 |
| oltp_update_index | 4.18 | 3.25 | 0.78 |
| oltp_update_non_index | 4.25 | 3.19 | 0.75 |
| oltp_write_only | 5.28 | 6.32 | 1.2 |
| types_delete_insert | 8.43 | 6.91 | 0.82 |
| writes_mean_multiplier | 0.9 |
| TPC-C TPS Tests | MySQL | Dolt | Multiple |
|---|---|---|---|
| tpcc-scale-factor-1 | 93.94 | 36.89 | 2.55 |
| tpcc_tps_multiplier | 2.55 |
| Overall Mean Multiple | 1.48 |
|---|