Merged PRs
dolt
- 2573: Allow most function calls in CHECK constraints
- 2570: Fix bad error message in SHOW TABLES when no database selected
This fixes #2559
Also fixes #2534 - 2569: /go/doltcore/doltdb: Replaced doltdb.Table.IndexData types.Map with durable.IndexSet
- 2564: /go/store/{prolly,skip,val}: New Storage Format
- 2560: Fix bug with import update dropping rows
This PR addresses a customer issue where --update,--continue on a table import were dropping rows. The error comes from the facts that INSERT IGNORE semantics were not correctly handling issues with data conversions (type conversions, string lengths, etc.) - 2555: go/utils/copyrighthdrs: Allowlist 2022.
- 2529: /go/libraries/doltcore/sqle/writer: Extracted Interface for WriteSession
Extracted an interface from TableEditSession to allow for multiple implementations for different formats
go-mysql-server
- 720: Allow deterministic functions in CHECK constraints
- 719: Fixed a bug in trigger execution involving update statements in BEGIN blocks
This fixes #2534 - 717: add TIMESTAMPDIFF() function
- 716: Detect and give a reasonable error message for SHOW TABLES with no current db
Fixes #2559
This also moves the resolve databases rule into a different analyzer phase and fixes a string of issues that arise when that move occurs. - 715: Add lag function.
Spec: LAG(expr, offset(default = 1), default(default=nil)). - 712: INSERT IGNORE data conversion behavior
This PR addresses behavior for INSERT IGNORE with regards to data conversion errors.- Changes column value to 0 values on incorrect types
- Truncates strings that are too long
cc. https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-strict
- 708: sql/parse: Update sql/parse/parse.go for dropping vitess partial ddl support.
- 701: add DATEDIFF() func
- 697: sql/analyzer: Fix a bug where we do not use indexed joins for some queries with offset or sort+limit[+offset].
- 696: Fix boolean SQL conversion panic
Fixes a panic happening when returning Boolean values from the database. - 690: Adding spatial types: point, linestring, and polygon
Able to create table with column of point, linestring, and polygon type.
Able to call some geometry constructors to create and display a point, linestring, and polygon.
Added functions:st_pointfromtext
,st_linestringfromtext
,st_polygonfromtext
and tests - 686: server/handler,sql/plan/row_update_accumulator: Move the logic for generating proper OkResult values for RowsAffected and InsertId to the engine.
This makes RowUpdateAccumulator responsible for returning the right OkResult,
instead of having the server/handler hack up the values in the result after the
fact. A few enginetests needed to be updated because they asserted the wrong
values for InsertId coming back in the OkResult.
It also makes RowUpdateAccumulator responsible for setting FoundRows, RowCount
and LastInsertId. LastInsertId handling is pretty gnarly becuase we currently
don't have it coming back from the insert iterator. It should be moved there.
vitess
- 109: go/mysql: Make all tests pass on macOS.
Bumps expected TLS version from 1.2 to 1.3.
Adds some string matching for strerror strings that are different between Linux
and macOS. - 108: add support for constraint named unique
This is an enhancement for #95
According to https://dev.mysql.com/doc/refman/8.0/en/create-table.html, there will be a format likeconstraint namedx unique (full_name)
in create table statement. - 107: go/vt/sqlparser: Remove PartialDDL support.
There's no need to support partial DDL in dolt. - 104: Window function frames, extent, and bounds
Adds parsing capabilities for window frames, including one sided frames, two sided frames, RANGE value frames, integral and interval based frames, and errors for semantically incorect combinations of frame options. Only value based intervals are currently supported. No prepared statement support for expression bounds. - 103: go/mysql: conn: Add LoadInfile method which returns a ReadCloser for reading the remote file from a client.
We will migrate the implementation in go-mysql-server from HandleLoadDataLocalQuery to this interface. This keeps the responsibility for writing the file and the likes out of the vitess/conn layer.
Closed Issues
- 2520: Feature Request: timestampdiff sql function
- 2534: Panic on inserting empty tuple with trigger
- 2559:
show tables
produces inscrutable error insql-client
- 2531: Feature request: lag
- 516: Datagrip cannot connect
- 2020: Non-deterministic import behavior on
dolt table import
- 2519: Feature Request: datediff sql function
- 2544: Broken Link in hint text
- 2539: mysql client connection gets disconnected from shell when running queries
- 703: undefined: sql.NewPrimaryKeySchema