go-mysql-server
go-mysql-server copied to clipboard
A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.
We expose `Handler.ComMultiQuery` but no `Engine.MultiQuery` currently. In Dolt we use a scanner to parse semi-colon separated query strings into individually executable statements.
Currently consider [TINYINT as a synonym to Boolean](https://github.com/dolthub/go-mysql-server/blob/main/sql/numbertype.go#L43), and doesn't store length info for all number types. IHMO, a tinyint column is only consider as boolean when specified as `tinyint(1)`,...
While pulling in the project, I noticed I was getting somewhat larger builds. One thing I did notice is that testify was getting sucked into the builds (which should never...
todo: drop chunk and stats version field
UUIDs are often used in place of `auto_increment` IDs, but MySQL doesn't provide an easy way to get the last generated UUID that was used in an insert. This change...
As discussed in https://github.com/dolthub/go-mysql-server/pull/1476#issuecomment-1352731490 -- The result type for `SUM` aggregations in `go-mysql-server` does not match MySQL's. Even though the actual `SumBuffer` that performs the computation internally uses either `float64`...
TODO: datetimes are now broken... This PR aims to: - simplify the logic surrounding how we handle type conversions in Arithmetic nodes - `sql.Type.Convert()` should be able to convert to/from...
We don't currently support using indexes with `ORDER BY`. https://dev.mysql.com/doc/refman/8.0/en/order-by-optimization.html
I am attempting to use the in-memory database for go unit testing a sdk that contains multiple packages (each package connects to a different database & or api). I'm running...
Please see below for the concurrency issue. This exception happened intermittently while performing a combinations of SELECT/INSERT/UPDATES on a single table with many rows... Looking at the code however, it...