func (result *Result) Repair(fields []*querypb.Field) {
	for j, f := range fields {
		for _, r := range result.Rows {
			if r[j].typ != Null {
				r[j].typ = f.Type
			}
		}
	}
}
Repair fixes the type info in the rows
to conform to the supplied field types.
package sqltypes
import (
	querypb "github.com/xelabs/go-mysqlstack/sqlparser/depends/query"
)
type ResultState int
const (
	RStateNone ResultState = iota
	RStateFields
	RStateRows
	RStateFinished
)
type Result struct {
	Fields       []*querypb.Field      `json:"fields"`
	RowsAffected uint64                `json:"rows_affected"`
	InsertID     uint64                `json:"insert_id"`
	Warnings     uint16                `json:"warnings"`
	Rows         [][]Value             `json:"rows"`
	Extras       *querypb.ResultExtras `json:"extras"`
	State        ResultState
}
type ResultStream interface {
	Recv() (*Result, error)
}