Merged PRs
dolt
- 4912: Starter for adding system table benchmark to CI
- 4909: go/store/nbs: cleanup NBS interfaces
- refactored
conjoiner
toconjoinStrategy
which is now only responsible for deciding when to conjoin and whichtableSpecs
to conjoin. A common implementation ofconjoin()
is used in all cases - added
getRecordRanges(requests []getRecord)
to thechunkSource
interface, rather than asserting past the interface inNomsBlockStore.GetChunkLocations
- refactored
- 4906: Add dolt_conflict_id to dolt_conflicts_$table_name
This PR makes manipulating the dolt_conflicts_$table_name tables easier. It adds a newdolt_conflict_id
column. The column is a hash of the primary keys for a keyed table (or the value hash of the row for a keyless table) and thefrom_root_ish
column. Thedolt_conflict_id
column uniquely identifies a conflict.
A sample:dolt sql -q "select * from dolt_conflicts_t;" +----------------------------------+---------+-----------+--------+----------+---------------+----------+------------+-----------------+------------------------+ | from_root_ish | base_pk | base_col1 | our_pk | our_col1 | our_diff_type | their_pk | their_col1 | their_diff_type | dolt_conflict_id | +----------------------------------+---------+-----------+--------+----------+---------------+----------+------------+-----------------+------------------------+ | b6qeivhltgrm2la9057uis84eav5n2rl | 1 | NULL | 1 | -100 | modified | 1 | 100 | modified | +Z9y2YEvo0d1ZupbzGiyrQ | +----------------------------------+---------+-----------+--------+----------+---------------+----------+------------+-----------------+------------------------+
- 4901: Allow rows to be inserted by updating dolt_conflicts_$table_name
- 4900: fixes dolt table export appending success message to csv when using redirect syntax
dolt table export
was previously appending "Successfully exported data." to the end of the csv file when using the redirect syntax (e.g.dolt table export hospitals > hospitals.csv
). The success message didn't get appended when redirect syntax wasn't used (e.g.dolt table export hospitals hospitals.csv
). This fix makes it so that both formats work as expected.
issue: #4889 - 4899: fixing time tests
- 4898: Adding
TestJoinQueriesPrepared
in Dolt
Adding a newTestJoinQueriesPrepared
enginetest function.
GMS update: dolthub/go-mysql-server#1436 - 4894: Truncate table should not drop conflicts or CVs
- 4879: Fix value being read in param suffix
This commit will:- Fix an issue with the arg parser, where params suffixes were being recognized as param values (eg.
--messageTest
whereTest
is taken as the value for the--message
param).
Note that with this new change, values being passed as suffixes to params is only allowed for long for params (ie--
flags).
Fixes #4616
- Fix an issue with the arg parser, where params suffixes were being recognized as param values (eg.
go-mysql-server
- 1443: Clean up CachedResult Dispose lifecycle
Dispose should only be called on iterators whose resources are transient. Resources that outlive a single iterator should be Disposed at the end of the query through the Node (not iter). A CachedResult can be safely Disposed after the reseult is transferred to the parent HashLookup. A HashJoin should not be disposed when its parent is an iterative node that can call RowIter again. But if that is mistaken for some yet unforseen edge case, disposing the CachedResult returns it to a state where it will correctly recompute its contents rather than cycling on a nil'd cache where |cacheDone| is left as true. - 1442: gms support for filters on
SHOW DATABASES
fix for: #4484
companion pr: dolthub/vitess#204 - 1441: Fix unresolved insert source panic
PR overlays two commits:- revert faulty PR dolthub/go-mysql-server#1434
- fix panic in a different way
- 1436: Adding
TestJoinQueriesPrepared
in GMS
Adding a newTestJoinQueriesPrepared
enginetest function and unskipping a few join tests that are working now.
Dolt update: #4898 - 1435: trim collation for
information_schema.columns.dataType
andinformation_schema.columns.colType
OurdataType
column in theinformation_schema.columns
table didn't match MySQL when there were columns that had collations. dBeaver reads in metadata frominformation_schema.columns
, and when there was an error, it threw an error saying that the table was read-only.
fix for: #4891 - 1434: Fixes issue 4857: insert qualify CTE source bug
Edge case where we failed to resolve columns in the insert body if the source had a certain nested CTE/table alias/column alias structure.
Something about how CTEs get parsed with TableAlias (while a regular subquery does not) triggers a path where we attempt to index an unresolved Subquery alias. This PR puts theresolveInsert
rule beforeresolveColumns
, and adds fixes for a richer post-analyze insert Source while resolving the root insert scope.
Re: #4857 - 1433: Fix nested subquery join index in subquery expression w/ outer scope visibility
The plan representation and exec scope passing diverged for subqueries. We were indexing assuming no scope passing, but at runtime still prepending scope rows, which indirectly snuck around not explicitly passing scope through the subquery alias. - 1432: get better convertToType for mergeUnionSchema rule
Instead of converting every values to string, the type can be determined as appropriate as possible to avoid precision loss in number types. - 1431: Changing handling of type conversion to better match MySQL's behavior
Fixes: #4874
Dolt CI Test Run: #4887 - 1429: implementing time
fix for: #4643
changes:- allow conversion between sql.Time and sql.Datetime
- return
NULL
instead of errors, and throw warnings - added
time()
vitess
- 204: adding parser support for show databases like and where
partial fix for: #4484 - 203: Added OPEN, CLOSE, FETCH
These are needed forCURSOR
support.
Closed Issues
- 4565: Cluster replication does not support authentication or authorization on the replication endpoint.
- 4854: Conflicts should be easier to resolve on the SQL path
- 4867: Client Dockerfile—does not know new WORKDIR pattern
- 4857: qualify nested CTE insert source bug
- 4484: Filter for
show databases
- 4891: DBeaver cell editing relies on
information_schema.columns.dataType
which Dolt sets incorrectly when there are collations - 4889:
dolt table export
printsSuccessfully exported data.
to STDOUT, should be STDERR - 4502: index ordering/index selection regression
- 4496: sort node inappropriately pushed below group by
- 4490: Sort nodes above Window/Group By Aggregations
- 4874: Information_Schema.Columns => COLUMN_KEY in ('PRI','pri') causes matched behavior to MYSQL
- 3974: Support indexes on
TEXT
andBLOB
column types - 3713: Capability to lock a branch
- 4788: Feature Request: Version Notice
- 4486: json unquote and null values
- 751: table rename causes an error with
dolt reset --hard
- 656: In a multidb setup (server or shell) indexes are not used when tables are not in the current db
- 4491: Import resource utilization
- 2091: sql-server INSERT performance is unacceptable for reasonably sized data imports.
- 4643: DATE_ADD does not support TIME input
- 4616: Dolt argument parser gets confused by suffixes
- 4892: dolt should return the same errors as mysql for any transaction serialization issues
- 4331:
DECIMAL
value inunion
query loses precision and scale information - 4865: Error while restoring mysql dump into dolt