private MyCatGuid ReadOldGuid(MyCatPacket packet, long length) { if (length == -1) { length = (long)packet.ReadFieldLength(); } byte[] buff = new byte[length]; packet.Read(buff, 0, (int)length); MyCatGuid g = new MyCatGuid(buff); g.OldGuids = OldGuids; return(g); }
IMyCatValue IMyCatValue.ReadValue(MyCatPacket packet, long length, bool nullVal) { if (nullVal) { return(new MyCatSingle(true)); } if (length == -1) { byte[] b = new byte[4]; packet.Read(b, 0, 4); return(new MyCatSingle(BitConverter.ToSingle(b, 0))); } return(new MyCatSingle(Single.Parse(packet.ReadString(length), CultureInfo.InvariantCulture))); }
IMyCatValue IMyCatValue.ReadValue(MyCatPacket packet, long length, bool nullVal) { MyCatGeometry g; if (nullVal) { g = new MyCatGeometry(_type, true); } else { if (length == -1) { length = (long)packet.ReadFieldLength(); } byte[] newBuff = new byte[length]; packet.Read(newBuff, 0, (int)length); g = new MyCatGeometry(_type, newBuff); } return(g); }
IMyCatValue IMyCatValue.ReadValue(MyCatPacket packet, long length, bool nullVal) { MyCatBinary b; if (nullVal) { b = new MyCatBinary(type, true); } else { if (length == -1) { length = (long)packet.ReadFieldLength(); } byte[] newBuff = new byte[length]; packet.Read(newBuff, 0, (int)length); b = new MyCatBinary(type, newBuff); } return(b); }
IMyCatValue IMyCatValue.ReadValue(MyCatPacket packet, long length, bool nullVal) { if (nullVal) { return(new MyCatDouble(true)); } if (length == -1) { byte[] b = new byte[8]; packet.Read(b, 0, 8); return(new MyCatDouble(BitConverter.ToDouble(b, 0))); } string s = packet.ReadString(length); double d; try { d = Double.Parse(s, CultureInfo.InvariantCulture); } catch (OverflowException) { // MySQL server < 5.5 can return values not compatible with // Double.Parse(), i.e out of range for double. if (s.StartsWith("-", StringComparison.Ordinal)) { d = double.MinValue; } else { d = double.MaxValue; } } return(new MyCatDouble(d)); }