Skip to content

Commit 0937960

Browse files
committed
Switch statment when reading
1 parent d22e068 commit 0937960

File tree

1 file changed

+25
-20
lines changed

1 file changed

+25
-20
lines changed

dump.go

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ const footerTmpl = `/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
100100
-- Dump completed on {{ .CompleteTime }}
101101
`
102102

103+
const nullType = "NULL"
104+
103105
// Dump data using struct
104106
func (data *Data) Dump() error {
105107
meta := metaData{
@@ -309,27 +311,30 @@ func (data *Data) createTableValues(name string) (string, error) {
309311

310312
for key, value := range values {
311313
if value == nil {
312-
dataStrings[key] = "NULL"
313-
} else if s, ok := value.(*sql.NullString); ok {
314-
if s.Valid {
315-
dataStrings[key] = "'" + sanitize(s.String) + "'"
316-
} else {
317-
dataStrings[key] = "NULL"
318-
}
319-
} else if s, ok := value.(*sql.NullInt64); ok {
320-
if s.Valid {
321-
dataStrings[key] = fmt.Sprintf("%d", s.Int64)
322-
} else {
323-
dataStrings[key] = "NULL"
324-
}
325-
} else if s, ok := value.(*sql.RawBytes); ok {
326-
if len(*s) == 0 {
327-
dataStrings[key] = "NULL"
328-
} else {
329-
dataStrings[key] = "_binary '" + sanitize(string(*s)) + "'"
330-
}
314+
dataStrings[key] = nullType
331315
} else {
332-
dataStrings[key] = fmt.Sprint("'", value, "'")
316+
switch s := value.(type) {
317+
case *sql.NullString:
318+
if s.Valid {
319+
dataStrings[key] = "'" + sanitize(s.String) + "'"
320+
} else {
321+
dataStrings[key] = nullType
322+
}
323+
case *sql.NullInt64:
324+
if s.Valid {
325+
dataStrings[key] = fmt.Sprintf("%d", s.Int64)
326+
} else {
327+
dataStrings[key] = nullType
328+
}
329+
case *sql.RawBytes:
330+
if len(*s) == 0 {
331+
dataStrings[key] = nullType
332+
} else {
333+
dataStrings[key] = "_binary '" + sanitize(string(*s)) + "'"
334+
}
335+
default:
336+
dataStrings[key] = fmt.Sprint("'", value, "'")
337+
}
333338
}
334339
}
335340

0 commit comments

Comments
 (0)