Merged PRs
dolt
- 5147: go/store: Speed up sanity checks in
nbs.Store
- 5146: go/libraries/doltcore/sqle: read_replica_database: Retry optimistic lock failures on read replica databases when updating our working set.
- 5140: go/store/nbs: store.go: Fix some races in usage of waitForGC.
- 5132: connect to remote branch not existent locally
If the branch in the connection string is not available as local branch, try to find remote tracking branch that matches the defined branch name. If there is only one match, it creates local branch from that remote tracking branch and sets its upstream to it. If there are multiple remotes with the same branch names, it errors. For now, we assume there will not be remote name provided in the connection string, only<db_name>/<branch_name>
is allowed. - 5123: Added CALL ... AS OF
- 5114: add "create database" header to dolt dump sql files
automatically addsCREATE DATABASE IF NOT EXISTS ...; USE db;
to all dolt dump sql files, preventing errors from importing to dolt in non database directories
fixes: #4837 - 5074: fixes for changes on info_schema tables
Depends on dolthub/go-mysql-server#1501
go-mysql-server
- 1539: if privilegeSet is nil, return empty row for info schema tables
- privilegeSet was nil for
ld
repository tests as there were no privileges granted and was trying to test on information_schema.views table. - the now exported method is used in
ld
to grant all privileges for the test user
fixes test in https://github.com/dolthub/ld/pull/12642
- privilegeSet was nil for
- 1532: implement
st_within()
forPoint
Part 1/7
This is the implementation ofst_within(sql.Point(), <any geometry>)
.
MySQL Reference
The other geometry types are left as unsupported for now, to both reduce the size of the PR and because they're hard... - 1528: Decorrelate filtered subqueries with single rel
This decorrelates simple single relation scopes with filter expressions. Unnesting scopes can have dramatic effects on join planning. For the query that motivated this work (a changed integration query plan), latency went from 90 seconds -> 2 seconds.
This PR uses aSelectSingleRel
node to represent the folded scope, which passes through join planning before being converted back intoFilter(Table)
bynormalizeSelectSingleRel
after all rules. - 1526: Added CALL ... AS OF
- 1501: verify and add more info schema tables
Complete tables:- Fixed and verified row values for tables:
TRIGGERS
,CHECK_CONSTRAINTS
,KEY_COLUMN_USAGE
,KEY_COLUMN_USAGE
,TABLE_CONSTRAINTS
andSCHEMATA
- Added
REFERENTAIL_CONSTRAINTS
table
Fixed, but has missing info tables: - TABLES - missing columns/does not match MySQL values:
avg_row_length
,data_length
,max_data_length
,max_data_length
,data_free
- ROUTINES - missing stored functions
- VIEWS -
view_definition
value does not match MySQL
Changes: - added
CreateViewStmt
member to View definition to keep the information for algorithm, definer and security when it's created first. These are needed for information_schema.views table. - added
PeekNextAutoIncrementValue
to AutoIncrementTable interface for getting the next auto_increment value without incrementing the current value. This is implemented for both memory.Table and WritableDoltTable.
- Fixed and verified row values for tables:
vitess
- 214: Added CALL ... AS OF
- 213: Added additional CASE form
Forgot that there are two forms to CASE statements, so I added the missing version.
Closed Issues
- 5097: Slow importing with foreign keys
- 5108: [Feature Request] Consider branch auto-fetch on connection for replicas
- 4837: add create database header to dolt dump sql file
- 5106: Integrate pull request preview environments
Latency
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 2.0 | 2.76 | 1.4 |
groupby_scan | 12.3 | 16.41 | 1.3 |
index_join | 1.16 | 4.74 | 4.1 |
index_join_scan | 1.12 | 4.03 | 3.6 |
index_scan | 30.26 | 53.85 | 1.8 |
oltp_point_select | 0.15 | 0.48 | 3.2 |
oltp_read_only | 2.97 | 8.58 | 2.9 |
select_random_points | 0.3 | 0.77 | 2.6 |
select_random_ranges | 0.35 | 1.14 | 3.3 |
table_scan | 30.81 | 63.32 | 2.1 |
types_table_scan | 69.29 | 189.93 | 2.7 |
reads_mean_multiplier | 2.6 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
bulk_insert | 0.001 | 0.001 | 1.0 |
oltp_delete_insert | 3.62 | 17.01 | 4.7 |
oltp_insert | 1.86 | 3.68 | 2.0 |
oltp_read_write | 5.47 | 26.2 | 4.8 |
oltp_update_index | 1.82 | 7.17 | 3.9 |
oltp_update_non_index | 1.82 | 8.28 | 4.5 |
oltp_write_only | 2.66 | 15.27 | 5.7 |
types_delete_insert | 3.82 | 16.71 | 4.4 |
writes_mean_multiplier | 3.9 |
Overall Mean Multiple | 3.2 |
---|