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);
        }
Example #2
0
        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)));
        }
Example #3
0
        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);
        }
Example #5
0
        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));
        }