func (t *Version) Scan(src interface{}) error {
	switch v := src.(type) {
	case int64:
		if v >= 0 && v <= (1<<31-1) { // v ≤ MaxInt32
			*t = Version{}
			t.version[0] = int32(v) // It's a pristine Version, initialized to {0}.
			return nil
		}
		return errOutOfBounds
	case []byte:
		*t = Version{}
		return t.unmarshalText(v)
	case string:
		*t = Version{}
		return t.unmarshalText([]byte(v))
	}

	return errInvalidType
}
// Scan implements the sql.Scanner interface.
Scan implements the sql.Scanner interface.
// Scan implements the sql . Scanner interface .
func (t *Version) Scan(src interface{}) error {
	switch v := src.(type) {
	case int64:
		if v >= 0 && v <= (1<<31-1) { 
			*t = Version{}
			t.version[0] = int32(v) 
			return nil
		}
		return errOutOfBounds
	case []byte:
		*t = Version{}
		return t.unmarshalText(v)
	case string:
		*t = Version{}
		return t.unmarshalText([]byte(v))
	}
	return errInvalidType
}
func ( t * Version ) Scan ( src interface { } ) error { switch v := src . ( type ) { case int64 : if v >= 0 && v <= ( 1 << 31 - 1 ) { * t = Version { } t . version [ 0 ] = int32 ( v ) return nil } return errOutOfBounds case [ ] byte : * t = Version { } return t . unmarshalText ( v ) case string : * t = Version { } return t . unmarshalText ( [ ] byte ( v ) ) } return errInvalidType }
Scan implements the sql.Scanner interface.
Scan implements the sql . Scanner interface .
// v ≤ MaxInt32 // It's a pristine Version, initialized to {0}.