Skip to content

Commit fe3bf20

Browse files
committed
bugfix: csv flag handling was broken
Signed-off-by: Andres Taylor <andres@planetscale.com>
1 parent 15a6586 commit fe3bf20

3 files changed

Lines changed: 12 additions & 6 deletions

File tree

go/cmd/flag_config.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,5 +89,8 @@ func csvFlagsToConfig(cmd *cobra.Command, flags csvFlags) data.CSVConfig {
8989
if cmd.Flags().Changed("csv-timestamp-field") {
9090
c.TimestampField = &flags.timestampField
9191
}
92+
if cmd.Flags().Changed("csv-header") {
93+
c.Header = flags.header
94+
}
9295
return c
9396
}

go/cmd/keys.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@ func keysCmd() *cobra.Command {
3232
Short: "Runs vexplain keys on all queries of the test file",
3333
Example: "vt keys file.test",
3434
Args: cobra.ExactArgs(1),
35-
PreRun: func(cmd *cobra.Command, _ []string) {
36-
csvConfig = csvFlagsToConfig(cmd, *flags)
37-
},
3835
RunE: func(c *cobra.Command, args []string) error {
36+
csvConfig = csvFlagsToConfig(c, *flags)
3937
cfg := keys.Config{
4038
FileName: args[0],
4139
}

go/data/csv_log_parse.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package data
1818

1919
import (
2020
"encoding/csv"
21+
"fmt"
2122
"io"
2223
"os"
2324
"strconv"
@@ -81,14 +82,18 @@ func (c *csvLogReaderState) Next() (Query, bool) {
8182

8283
l, _ := c.reader.FieldPos(0)
8384

85+
helpfulPanic := func(err error, val string) {
86+
panic(fmt.Sprintf("%s at line: %d for value: %s", err.Error(), l, val))
87+
}
88+
8489
recordToInt := func(idx *int) int {
8590
if idx == nil {
8691
return 0
8792
}
8893
val := record[*idx]
8994
i, err := strconv.Atoi(val)
9095
if err != nil {
91-
panic(err)
96+
helpfulPanic(err, val)
9297
}
9398
return i
9499
}
@@ -100,7 +105,7 @@ func (c *csvLogReaderState) Next() (Query, bool) {
100105
val := record[*idx]
101106
f, err := strconv.ParseFloat(val, 64)
102107
if err != nil {
103-
panic(err)
108+
helpfulPanic(err, val)
104109
}
105110
return f
106111
}
@@ -112,7 +117,7 @@ func (c *csvLogReaderState) Next() (Query, bool) {
112117
val := record[*idx]
113118
t, err := time.Parse(time.DateTime, val)
114119
if err != nil {
115-
panic(err)
120+
helpfulPanic(err, val)
116121
}
117122
return t.Unix()
118123
}

0 commit comments

Comments
 (0)