Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ require (
github.com/dolthub/dolt-mcp v0.3.4
github.com/dolthub/eventsapi_schema v0.0.0-20260205214132-a7a3c84c84a1
github.com/dolthub/flatbuffers/v23 v23.3.3-dh.2
github.com/dolthub/go-mysql-server v0.20.1-0.20260304235552-80791ce5e625
github.com/dolthub/go-mysql-server v0.20.1-0.20260306002943-3e8a45211974
github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63
github.com/edsrzf/mmap-go v1.2.0
github.com/esote/minmaxheap v1.0.0
Expand Down
4 changes: 2 additions & 2 deletions go/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,8 @@ github.com/dolthub/fslock v0.0.0-20251215194149-ef20baba2318 h1:n+vdH5G5Db+1qnDC
github.com/dolthub/fslock v0.0.0-20251215194149-ef20baba2318/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0=
github.com/dolthub/go-icu-regex v0.0.0-20250916051405-78a38d478790 h1:zxMsH7RLiG+dlZ/y0LgJHTV26XoiSJcuWq+em6t6VVc=
github.com/dolthub/go-icu-regex v0.0.0-20250916051405-78a38d478790/go.mod h1:F3cnm+vMRK1HaU6+rNqQrOCyR03HHhR1GWG2gnPOqaE=
github.com/dolthub/go-mysql-server v0.20.1-0.20260304235552-80791ce5e625 h1:pOKtS6gYJ5HiwdRb5KlRia0CRQjym6yyuvQE7auYOOw=
github.com/dolthub/go-mysql-server v0.20.1-0.20260304235552-80791ce5e625/go.mod h1:8zqJ7NgJ7GEISN7VkYEmrrW3DodmHHMCEjIH72BkoEU=
github.com/dolthub/go-mysql-server v0.20.1-0.20260306002943-3e8a45211974 h1:f2v7C2iXTe/qHGPQLom7MrVe6zXwkl8eDIZ3CWDLIz4=
github.com/dolthub/go-mysql-server v0.20.1-0.20260306002943-3e8a45211974/go.mod h1:8zqJ7NgJ7GEISN7VkYEmrrW3DodmHHMCEjIH72BkoEU=
github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63 h1:OAsXLAPL4du6tfbBgK0xXHZkOlos63RdKYS3Sgw/dfI=
github.com/dolthub/gozstd v0.0.0-20240423170813-23a2903bca63/go.mod h1:lV7lUeuDhH5thVGDCKXbatwKy2KW80L4rMT46n+Y2/Q=
github.com/dolthub/ishell v0.0.0-20240701202509-2b217167d718 h1:lT7hE5k+0nkBdj/1UOSFwjWpNxf+LCApbRHgnCA17XE=
Expand Down
47 changes: 46 additions & 1 deletion integration-tests/bats/import-update-tables.bats
Original file line number Diff line number Diff line change
Expand Up @@ -1487,7 +1487,7 @@ DELIM
[[ "$output" =~ "fatal: --all-text is only supported for create operations" ]] || false
}

#https://github.com/dolthub/dolt/issues/10589
# https://github.com/dolthub/dolt/issues/10589
@test "import-update-tables: table has more columns than flat file warns and continues for CSV and Parquet" {
dolt sql <<SQL
CREATE TABLE with_created_at_csv (
Expand Down Expand Up @@ -1614,3 +1614,48 @@ SQL
[[ "$output" =~ "1" ]] || false
}

# https://github.com/dolthub/dolt/issues/10627
@test "import-update-tables: ON UPDATE columns are updated" {
# create table
dolt sql -q "CREATE TABLE table1(pk int primary key, val int, updated_at datetime(6) not null default current_timestamp(6) on update current_timestamp(6))"

# create csv
cat <<DELIM > table1.csv
pk,val
1,1
2,2
DELIM

# import table
dolt table import -u table1 table1.csv

# store reference time
dolt sql -q "create table times(label varchar(20) primary key, t datetime(6) not null default current_timestamp(6))"
dolt sql -q "insert into times(label) values ('reference_time')"

# verify that all rows have timestamps before reference time
run dolt sql -r csv -q "SELECT pk, val from table1 JOIN times ON table1.updated_at < times.t WHERE times.label = 'reference_time' ORDER BY pk"
[ "${#lines[@]}" -eq 3 ]
[ "${lines[1]}" = "1,1" ]
[ "${lines[2]}" = "2,2" ]

# update csv
cat <<DELIM > table1_update.csv
pk,val
1,6
DELIM

# import table with updated csv
dolt table import -u table1 table1_update.csv

# verify only updated row has timestamp after reference time
run dolt sql -r csv -q "SELECT pk, val from table1 JOIN times ON table1.updated_at > times.t WHERE times.label = 'reference_time' ORDER BY pk"
[ "${#lines[@]}" -eq 2 ]
[ "${lines[1]}" = "1,6" ]

# verify table still only has 2 rows
run dolt sql -r csv -q "SELECT pk, val from table1"
[ "${#lines[@]}" -eq 3 ]
[ "${lines[1]}" = "1,6" ]
[ "${lines[2]}" = "2,2" ]
}
Loading