Merged PRs
dolt
- 10095: support tls in the dolt metrics http endpoint
go-mysql-server
- 3310: Split
Iter.Next(),RowToSQL, andcallbackinto separate threads
This PR expands on an optimization where we separateiter.Next()andRowToSQL+callback()into two separate threads. Now,iter.Next(),RowToSQL, andcallback()all run in their own goroutines with corresponding buffered channels communicating between them.
Additionally, this PR tidys up theresultForDefaultIterandresultForValueItercode.
Benchmarks: #10103 (comment) - 3309: unsafe methods in
SQLandSQLValue
This PR adds unsafe string access toEnumType.SQLValue()andSetType.SQLValue().
Additionally, uses string concat overSPrintf().
Benchmarks: #10101 (comment) - 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.
Closed Issues
Performance
| Read Tests | MySQL | Dolt | Multiple |
|---|---|---|---|
| covering_index_scan | 1.86 | 0.55 | 0.3 |
| groupby_scan | 13.7 | 13.7 | 1.0 |
| index_join | 1.5 | 2.07 | 1.38 |
| index_join_scan | 1.5 | 1.34 | 0.89 |
| index_scan | 34.33 | 23.95 | 0.7 |
| oltp_point_select | 0.2 | 0.28 | 1.4 |
| oltp_read_only | 3.82 | 5.28 | 1.38 |
| select_random_points | 0.35 | 0.58 | 1.66 |
| select_random_ranges | 0.39 | 0.57 | 1.46 |
| table_scan | 34.95 | 28.16 | 0.81 |
| types_table_scan | 75.82 | 80.03 | 1.06 |
| reads_mean_multiplier | 1.09 |
| Write Tests | MySQL | Dolt | Multiple |
|---|---|---|---|
| oltp_delete_insert | 8.43 | 6.55 | 0.78 |
| oltp_insert | 4.18 | 3.19 | 0.76 |
| oltp_read_write | 9.22 | 11.65 | 1.26 |
| oltp_update_index | 4.25 | 3.25 | 0.76 |
| oltp_update_non_index | 4.25 | 3.19 | 0.75 |
| oltp_write_only | 5.28 | 6.32 | 1.2 |
| types_delete_insert | 8.58 | 6.91 | 0.81 |
| writes_mean_multiplier | 0.9 |
| TPC-C TPS Tests | MySQL | Dolt | Multiple |
|---|---|---|---|
| tpcc-scale-factor-1 | 93.7 | 36.51 | 2.57 |
| tpcc_tps_multiplier | 2.57 |
| Overall Mean Multiple | 1.52 |
|---|