Merged PRs
dolt
- 2467: Fixed several problems in generated docs
- 2459: fix: userNameRequiredError message in CLI
Runningdolt init
before configuringuser.email
anduser.name
results (correctly) in error; however, the CLI hint itself is incorrect:
The proposed commands for identity configuration do not include theAuthor identity unknown *** Please tell me who you are. Run dolt config --global user.email "you@example.com" dolt config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident name not allowed
--add
flag, resulting in a new error message:Exactly one of the -add, -get, -unset, -list flags must be set.
This PR fixes the CLI message by adding the--add
flag to the proposed commands. - 2449: sort dolt blame result by pk
added sort function in dolt blame, uses first pk to sort if there are multiple pk - 2446: default PrimaryKeySchema, maintain primary key ordinals
Use the new GMSsql.PrimaryKeySchema
, implement newPrimaryKeyAlterableTable
methods, add newTestPkOrdinals
enginetests.
Other datails:schemaImpl
and the serialized schema has a new field for PK ordinals- support backwards compatibility by using the column definition order for PKs by default
- addPk, dropPk, addColumn, dropColumn, and modifyColumn all track pkOrdinal changes
Future: - some methods still return
sql.Schema
for printing/vizualization - diffing/merging are not changed (partially because
SHOW CREATE TABLE
does not print the correct order still)
- 2443: stop ignoring read_only flag
- 2439: add force flag to dolt checkout
added -f 'force' flag to dolt checkout. with force flag, the current changes will be wiped
go-mysql-server
- 663: Restrict HASH IN conversion to supported operators.
We were converting TupleIn to HashIn for expressions that HashIn could
not evaluate. This change makes explicit which left and right children
we permit for HashIn conversion, and expands HashIn.Eval to evaluate
those expression classes. Added expression unit tests, analyzer unit
tests, query enginetests, and query planner enginetests for more sets of
expressions that we support and do not support.
Additionally, this simplifies the expression evaluation hashing
technique. The new behavior has not been verified with deeply nested
tuple expressions. - 661: server,sql/parse: ComQuery, Parse updates for better multi statement support.
- 657: Fix mysql commands in README
- 656: Removing unnecessary context creation
- 651: Fixed IS NOT NULL and IN not being recognized with composite indexes
Fixes dolthub/go-mysql-server#650 - 648: Added check for conflicting column definitions
Checks for attempt to create primary key on nullable column
Added tests inparse_test.go
for new error. - 642: Track PRIMARY KEY column ordering with a sql.PrimaryKeySchema struct.
The parser exposes PRIMARY KEYs in the TableSpec forCREATE TABLE
,
which we pluck before planning. Integrators expected to use the new
sql.PrimaryKeySchema
even for keyless tables.
CREATE TABLE LIKE
andCREATE TABLE SELECT
are handled separately
and need more work to support the same order tracking.
sql.PrimaryKeyAlterableTable
now includesPrimaryKeySchema()
andPks()
methods to access the new schema info.
vitess
- 96: Better support for MySQL MULTI_STATEMENTS.
- 95: Added support for CONSTRAINT UNIQUE KEY syntax in CREATE TABLE
- 94: add Null to column definition
create table t (a int primary key)
succeeds
create table t (a int not null primary key)
succeeds
create table t (a int null primary key)
fails
Create new BoolVal field for ColumnDefinition to more easily check for attempts to create nullable columns with primary key.
Also allows people to docreate table t(a int null not null ...)
if they want.
Closed Issues
- 2427: [Readme improvement] - we need better migrate explanation.
- 2324: Merging schemas that look the same in the CLI drops error if NOT NULL constraints were defined slightly differently.
- 1830: add
--force
option todolt checkout
- 1463:
dolt blame
columns headers are shifted to the left by one - 618: Unhex function returns a string, when it should return []byte
- 650: IS NOT NULL and IN are causing composite index to be ignored