Example #1
0
 void IMySqlValue.SkipValue(MySqlPacket packet)
 {
     int len = (int)packet.ReadFieldLength();
       packet.Position += len;
 }
Example #2
0
        IMySqlValue IMySqlValue.ReadValue(MySqlPacket packet, long length, bool nullVal)
        {
            MySqlBinary b;
              if (nullVal)
            b = new MySqlBinary(type, true);
              else
              {
            if (length == -1)
              length = (long)packet.ReadFieldLength();

            byte[] newBuff = new byte[length];
            packet.Read(newBuff, 0, (int)length);
            b = new MySqlBinary(type, newBuff);
              }
              return b;
        }
Example #3
0
        public int GetResult(ref int affectedRow, ref long insertedId)
        {
            try
            {
                packet = stream.ReadPacket();
            }
            catch (TimeoutException)
            {
                // Do not reset serverStatus, allow to reenter, e.g when
                // ResultSet is closed.
                throw;
            }
            catch (Exception)
            {
                serverStatus = 0;
                throw;
            }

            int fieldCount = (int)packet.ReadFieldLength();
            if (-1 == fieldCount)
            {
                string filename = packet.ReadString();
                SendFileToServer(filename);

                return GetResult(ref affectedRow, ref insertedId);
            }
            else if (fieldCount == 0)
            {
                // the code to read last packet will set these server status vars
                // again if necessary.
                serverStatus &= ~(ServerStatusFlags.AnotherQuery |
                                  ServerStatusFlags.MoreResults);
                affectedRow = (int)packet.ReadFieldLength();
                insertedId = (long)packet.ReadFieldLength();

                serverStatus = (ServerStatusFlags)packet.ReadInteger(2);
                warnings += packet.ReadInteger(2);
                if (packet.HasMoreData)
                {
                    packet.ReadLenString(); //TODO: server message
                }
            }
            return fieldCount;
        }
Example #4
0
        private MySqlGuid ReadOldGuid(MySqlPacket packet, long length)
        {
            if (length == -1)
            length = (long)packet.ReadFieldLength();

              byte[] buff = new byte[length];
              packet.Read(buff, 0, (int)length);
              MySqlGuid g = new MySqlGuid(buff);
              g.OldGuids = OldGuids;
              return g;
        }
Example #5
0
        public IMySqlValue ReadValue(MySqlPacket packet, long length, bool isNull)
        {
            this.isNull = isNull;
              if (isNull)
            return this;

              if (length == -1)
            length = packet.ReadFieldLength();

              if (ReadAsString)
            mValue = UInt64.Parse(packet.ReadString(length));
              else
            mValue = (UInt64)packet.ReadBitValue((int)length);
              return this;
        }