Skip to content

Commit 12a829d

Browse files
authored
Merge pull request #610 from afocus/master
add scheme/Index NoneUnique
2 parents 5399994 + 39cf8fe commit 12a829d

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

schema/schema.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ type Index struct {
5656
Name string
5757
Columns []string
5858
Cardinality []uint64
59+
NoneUnique uint64
5960
}
6061

6162
type Table struct {
@@ -190,7 +191,7 @@ func (ta *Table) AddIndex(name string) (index *Index) {
190191
}
191192

192193
func NewIndex(name string) *Index {
193-
return &Index{name, make([]string, 0, 8), make([]uint64, 0, 8)}
194+
return &Index{name, make([]string, 0, 8), make([]uint64, 0, 8), 0}
194195
}
195196

196197
func (idx *Index) AddColumn(name string, cardinality uint64) {
@@ -317,6 +318,7 @@ func (ta *Table) fetchIndexes(conn mysql.Executer) error {
317318
cardinality, _ := r.GetUint(i, 6)
318319
colName, _ := r.GetString(i, 4)
319320
currentIndex.AddColumn(colName, cardinality)
321+
currentIndex.NoneUnique, _ = r.GetUint(i, 1)
320322
}
321323

322324
return ta.fetchPrimaryKeyColumns()
@@ -338,11 +340,12 @@ func (ta *Table) fetchIndexesViaSqlDB(conn *sql.DB) error {
338340

339341
for r.Next() {
340342
var indexName, colName string
343+
var noneUnique uint64
341344
var cardinality interface{}
342345

343346
err := r.Scan(
344347
&unused,
345-
&unused,
348+
&noneUnique,
346349
&indexName,
347350
&unused,
348351
&colName,
@@ -366,6 +369,7 @@ func (ta *Table) fetchIndexesViaSqlDB(conn *sql.DB) error {
366369

367370
c := toUint64(cardinality)
368371
currentIndex.AddColumn(colName, c)
372+
currentIndex.NoneUnique = noneUnique
369373
}
370374

371375
return ta.fetchPrimaryKeyColumns()

0 commit comments

Comments
 (0)