Skip to content

Keyless Tables with a Unique Key do not enforce uniqueness and create extra values on insert #5433

@timsehn

Description

@timsehn

Repro:

PS C:\Users\timse\dolthub\dolt\test_unique_key_on_duplicate> dolt sql -q "create table t (c1 int, c2 int, c3 int, unique key(c1,c2))"
PS C:\Users\timse\dolthub\dolt\test_unique_key_on_duplicate> dolt sql -q "insert into t(c1,c2,c3) values (0,0,0) on duplicate key update c3=0"
Query OK, 1 row affected (0.00 sec)
PS C:\Users\timse\dolthub\dolt\test_unique_key_on_duplicate> dolt sql -q "insert into t(c1,c2,c3) values (0,0,0) on duplicate key update c3=0"
Query OK, 0 rows affected (0.00 sec)
PS C:\Users\timse\dolthub\dolt\test_unique_key_on_duplicate> dolt sql -q "insert into t(c1,c2,c3) values (0,0,1) on duplicate key update c3=0"
Query OK, 0 rows affected (0.00 sec)
PS C:\Users\timse\dolthub\dolt\test_unique_key_on_duplicate> dolt sql -q "select * from t"
+----+----+----+
| c1 | c2 | c3 |
+----+----+----+
| 0  | 0  | 1  |
| 2  | 0  | 0  |
| 0  | 0  | 0  |
| 0  | 0  | 0  |
+----+----+----+

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood reproEasily reproducible bugssqlIssue with SQL

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions