Skip to content

Messaging on a merge where a table was altered and deleted on each side of the merge not helpful #7385

@timsehn

Description

@timsehn

Repro:

$ mkdir test_schema_merge
$ cd test_schema_merge 
$ dolt init
Successfully initialized dolt data repository.
$ dolt sql -q "create table a (pk int)"
$ dolt sql -q "create table b (pk int)"
$ dolt add .
$ dolt commit -am "Created tables"
commit 8l8pc9p9dieqh4vmaa57g7geagt8omba (HEAD -> main) 
Author: timsehn <tim@dolthub.com>
Date:  Mon Jan 22 09:01:18 -0800 2024

        Created tables

$ dolt branch br
$ dolt sql -q "alter table a add column c1 int" 
$ dolt commit -am "alter table a"
commit vv0upq531ii5mcbnpb5drjcmstevtqtn (HEAD -> main) 
Author: timsehn <tim@dolthub.com>
Date:  Mon Jan 22 09:02:53 -0800 2024

        alter table a

$ dolt checkout br               
Switched to branch 'br'
$ dolt sql -q "drop table a"
$ dolt commit -am "drop table a" 
commit bcnus5grga0caqmiug85c8l3o2grtsko (HEAD -> br) 
Author: timsehn <tim@dolthub.com>
Date:  Mon Jan 22 09:03:17 -0800 2024

        drop table a

$ dolt checkout main 
Switched to branch 'main'
$ dolt merge br                 
conflict: table with same name deleted and modified 
$ dolt sql -q "select * from dolt_schema_conflicts"

$

We should add the conflicting table names(s) to the conflict: table with same name deleted and modified and make sure the conflicting tables show up in the dolt_schema_conflicts table. In the dolt_schema_conflicts table have the side of the branch where it's deleted say NULL and have the schema of the altered one on the other side.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions