Skip to content

Commit ecaeea6

Browse files
elianddbclaude
andcommitted
dolthub/dolt#9426 - Fix panic in ConvertToCollatedString
Prevents panic when LongText.Convert returns nil by adding proper nil checks before type casting to string. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent d98e42a commit ecaeea6

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

sql/types/strings.go

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -530,21 +530,33 @@ func ConvertToCollatedString(ctx context.Context, val interface{}, typ sql.Type)
530530
if err != nil {
531531
return "", sql.Collation_Unspecified, err
532532
}
533-
content = val.(string)
533+
if val == nil {
534+
content = ""
535+
} else {
536+
content = val.(string)
537+
}
534538
}
535539
} else {
536540
val, _, err = LongText.Convert(ctx, val)
537541
if err != nil {
538542
return "", sql.Collation_Unspecified, err
539543
}
540-
content = val.(string)
544+
if val == nil {
545+
content = ""
546+
} else {
547+
content = val.(string)
548+
}
541549
}
542550
} else {
543551
val, _, err = LongText.Convert(ctx, val)
544552
if err != nil {
545553
return "", sql.Collation_Unspecified, err
546554
}
547-
content = val.(string)
555+
if val == nil {
556+
content = ""
557+
} else {
558+
content = val.(string)
559+
}
548560
}
549561
} else {
550562
collation = sql.Collation_Default
@@ -563,7 +575,11 @@ func ConvertToCollatedString(ctx context.Context, val interface{}, typ sql.Type)
563575
if err != nil {
564576
return "", sql.Collation_Unspecified, err
565577
}
566-
content = val.(string)
578+
if val == nil {
579+
content = ""
580+
} else {
581+
content = val.(string)
582+
}
567583
}
568584
return content, collation, nil
569585
}

0 commit comments

Comments
 (0)