Skip to content

Commit 75d09ac

Browse files
authored
refactoring (*textRows).readRow in a more clear way (#1230)
1 parent a34e090 commit 75d09ac

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

packets.go

+26-26
Original file line numberDiff line numberDiff line change
@@ -761,40 +761,40 @@ func (rows *textRows) readRow(dest []driver.Value) error {
761761
}
762762

763763
// RowSet Packet
764-
var n int
765-
var isNull bool
766-
pos := 0
764+
var (
765+
n int
766+
isNull bool
767+
pos int = 0
768+
)
767769

768770
for i := range dest {
769771
// Read bytes and convert to string
770772
dest[i], isNull, n, err = readLengthEncodedString(data[pos:])
771773
pos += n
772-
if err == nil {
773-
if !isNull {
774-
if !mc.parseTime {
775-
continue
776-
} else {
777-
switch rows.rs.columns[i].fieldType {
778-
case fieldTypeTimestamp, fieldTypeDateTime,
779-
fieldTypeDate, fieldTypeNewDate:
780-
dest[i], err = parseDateTime(
781-
dest[i].([]byte),
782-
mc.cfg.Loc,
783-
)
784-
if err == nil {
785-
continue
786-
}
787-
default:
788-
continue
789-
}
790-
}
791774

792-
} else {
793-
dest[i] = nil
794-
continue
775+
if err != nil {
776+
return err
777+
}
778+
779+
if isNull {
780+
dest[i] = nil
781+
continue
782+
}
783+
784+
if !mc.parseTime {
785+
continue
786+
}
787+
788+
// Parse time field
789+
switch rows.rs.columns[i].fieldType {
790+
case fieldTypeTimestamp,
791+
fieldTypeDateTime,
792+
fieldTypeDate,
793+
fieldTypeNewDate:
794+
if dest[i], err = parseDateTime(dest[i].([]byte), mc.cfg.Loc); err != nil {
795+
return err
795796
}
796797
}
797-
return err // err != nil
798798
}
799799

800800
return nil

0 commit comments

Comments
 (0)