go-mysql-server
go-mysql-server copied to clipboard
A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.
Below is a specific query that dolt `v0.35.4` plans with three index lookups. In dolt `v.0.40.11` we only plan two lookups and the result is slow to execute. Adding the...
Consider the following example ```sql CREATE TABLE t(pk int primary key, val int DEFAULT (pk * 2)) ``` Mysql with `describe t` will print ```bash mysql> desc t; +-------+------+------+-----+------------+-------------------+ |...
The `sql.JsonDocument` `ToString` method uses `json.Marshall`. This returns a string without any extraneous whitespace. MySQL on the other hand uses whitespaces for legibility: ``` mysql> CREATE TABLE t1 (c1 JSON);...
Hi, it appears that GMS doesn't correctly validate incorrect GROUP BY queries. For example the SQL below is executed by GMS but its incorrect SQL syntax (i.e. its missing the...
We currently have support for some, but not all of [MySQL's logical operators](https://dev.mysql.com/doc/refman/8.0/en/logical-operators.html). For example, `select 1 OR 1;` works, but not `select 1 XOR 1;`. We should review MySQL's...
We have queries like `select @id := id from table limit 1`. This is basically query some data into a variable. It is fully supported in MySQL, but for this...
This plan is invalid: ```SQL tmp3> explain select * from b group by x order by x; +---------------------------------------+ | plan | +---------------------------------------+ | GroupBy | | ├─ SelectedExprs(b.x) | |...
This might be a problem with the way I define the index. I have the following database: ```go func testDatabase() *memory.Database { ctx := sql.NewEmptyContext() db := memory.NewDatabase("users") tableName :=...
Lots of ORM framework like gorm.io/gorm use `struct` to represent database table. It would be handy if there is a function to convert `struct` directly to `sql.Table` and we don't...