code: func (d *Datum) Copy() *Datum {
  	ret := *d
  	if d.b != nil {
  		ret.b = make([]byte, len(d.b))
  		copy(ret.b, d.b)
  	}
  	switch ret.Kind() {
  	case KindMysqlDecimal:
  		d := *d.GetMysqlDecimal()
  		ret.SetMysqlDecimal(&d)
  	case KindMysqlTime:
  		ret.SetMysqlTime(d.GetMysqlTime())
  	}
  	return &ret
  }
docs: // Copy deep copies a Datum.