func (my *Conn) getFieldPacketColumnDefinition41(pr *pktReader) *mysql.Field { field := new(mysql.Field) if my.fullFieldInfo { field.Catalog = string(pr.readBin()) field.Db = string(pr.readBin()) field.Table = string(pr.readBin()) field.OrgTable = string(pr.readBin()) } else { pr.skipBin() pr.skipBin() pr.skipBin() pr.skipBin() } field.Name = string(pr.readBin()) if my.fullFieldInfo { field.OrgName = string(pr.readBin()) } else { pr.skipBin() } pr.skipN(1 + 2) //field.Charset= pr.readU16() field.DispLen = pr.readU32() field.Type = pr.readByte() field.Flags = pr.readU16() field.Scale = pr.readByte() pr.skipN(2) return field }
func (my *Conn) getFieldPacketColumnDefinition320(pr *pktReader) *mysql.Field { field := new(mysql.Field) field.Table = string(pr.readBin()) field.Name = string(pr.readBin()) pr.skipN(1) // length of column_length field field.DispLen = uint32(pr.readU24()) pr.skipN(1) // length of type field field.Type = pr.readByte() pr.skipN(1) // length of flags+decimal fields if my.info.caps&_CLIENT_LONG_FLAG != 0 { field.Flags = pr.readU16() } else { field.Flags = uint16(pr.readByte()) } field.Scale = pr.readByte() return field }