File tree 2 files changed +22
-18
lines changed
2 files changed +22
-18
lines changed Original file line number Diff line number Diff line change @@ -339,28 +339,31 @@ func (ta *Table) fetchIndexesViaSqlDB(conn *sql.DB) error {
339
339
currentName := ""
340
340
341
341
var unusedVal interface {}
342
- unused := & unusedVal
343
342
344
343
for r .Next () {
345
344
var indexName , colName string
346
345
var noneUnique uint64
347
346
var cardinality interface {}
348
-
349
- err := r .Scan (
350
- & unused ,
351
- & noneUnique ,
352
- & indexName ,
353
- & unused ,
354
- & colName ,
355
- & unused ,
356
- & cardinality ,
357
- & unused ,
358
- & unused ,
359
- & unused ,
360
- & unused ,
361
- & unused ,
362
- & unused ,
363
- )
347
+ cols , err := r .Columns ()
348
+ if err != nil {
349
+ return errors .Trace (err )
350
+ }
351
+ values := make ([]interface {}, len (cols ))
352
+ for i := 0 ; i < len (cols ); i ++ {
353
+ switch i {
354
+ case 1 :
355
+ values [i ] = & noneUnique
356
+ case 2 :
357
+ values [i ] = & indexName
358
+ case 4 :
359
+ values [i ] = & colName
360
+ case 6 :
361
+ values [i ] = & cardinality
362
+ default :
363
+ values [i ] = & unusedVal
364
+ }
365
+ }
366
+ err = r .Scan (values ... )
364
367
if err != nil {
365
368
return errors .Trace (err )
366
369
}
Original file line number Diff line number Diff line change @@ -6,9 +6,10 @@ import (
6
6
"fmt"
7
7
"testing"
8
8
9
+ . "github.com/pingcap/check"
10
+
9
11
"github.com/go-mysql-org/go-mysql/client"
10
12
_ "github.com/go-mysql-org/go-mysql/driver"
11
- . "github.com/pingcap/check"
12
13
)
13
14
14
15
// use docker mysql for test
You can’t perform that action at this time.
0 commit comments