Skip to content

Commit 6e4c4a3

Browse files
committed
Fix bug when long lines are truncated with extended inserts
1 parent 1096d7c commit 6e4c4a3

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

pkg/database/mysql/table.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,13 @@ func (table *baseTable) Stream() <-chan string {
325325
continue
326326
}
327327

328+
// Truncate our insert if it won't fit
329+
if insert.Len() != 0 && insert.Len()+b.Len() > table.data.MaxAllowedPacket-1 {
330+
_, _ = insert.WriteString(";")
331+
valueOut <- insert.String()
332+
insert.Reset()
333+
}
334+
328335
if insert.Len() == 0 {
329336
_, _ = fmt.Fprint(&insert, strings.Join(
330337
// extra "" at the end so we get an extra whitespace as needed
@@ -334,13 +341,6 @@ func (table *baseTable) Stream() <-chan string {
334341
_, _ = insert.WriteString(",")
335342
}
336343

337-
// Truncate our insert if it won't fit
338-
if insert.Len() != 0 && insert.Len()+b.Len() > table.data.MaxAllowedPacket-1 {
339-
_, _ = insert.WriteString(";")
340-
valueOut <- insert.String()
341-
insert.Reset()
342-
}
343-
344344
_, _ = b.WriteTo(&insert)
345345
}
346346
if insert.Len() != 0 {

0 commit comments

Comments
 (0)