public void Read(Stream stream, DbEnvironment env, IFormatToken previousFormatToken) { var remainingLength = stream.ReadByte(); using (var ts = new ReadablePartialStream(stream, remainingLength)) { Status = (MsgStatus)ts.ReadByte(); MessageId = (MsgId)ts.ReadShort(); } Logger.Instance?.WriteLine($"<- {Type}: {Status} {MessageId}"); }
public void Read(Stream stream, DbEnvironment env, IFormatToken previousFormatToken) { var remainingLength = stream.ReadShort(); using (var ts = new ReadablePartialStream(stream, remainingLength)) { Command = (CommandType)ts.ReadByte(); Option = (OptionType)ts.ReadByte(); Arguments = ts.ReadByteLengthPrefixedByteArray(); } }
public void Read(Stream stream, DbEnvironment env, IFormatToken previous) { Logger.Instance?.WriteLine($"<- {Type}"); var remainingLength = stream.ReadUShort(); using (var ts = new ReadablePartialStream(stream, remainingLength)) { for (var i = 0; i < previous.Formats.Length; i++) { var customFormatInfo = ts.ReadByteLengthPrefixedString(env.Encoding); if (!string.IsNullOrWhiteSpace(customFormatInfo)) { Logger.Instance?.WriteLine($" <- Fmt: {customFormatInfo}"); } } } }
public void Read(Stream stream, DbEnvironment env, IFormatToken previousFormatToken) { Logger.Instance?.WriteLine($"<- {Type}"); var remainingLength = stream.ReadUInt(); using (var ts = new ReadablePartialStream(stream, remainingLength)) { var formats = new List <FormatItem>(); var columnCount = ts.ReadUShort(); for (var i = 0; i < columnCount; i++) { formats.Add(FormatItem.ReadForRow(ts, env.Encoding, Type)); } Formats = formats.ToArray(); } }
public void Read(Stream stream, DbEnvironment env, IFormatToken previous) { var remainingLength = stream.ReadUShort(); using (var ts = new ReadablePartialStream(stream, remainingLength)) { Status = (LoginStatus)ts.ReadByte(); var versionBuffer = new byte[4]; ts.Read(versionBuffer, 0, 4); TdsVersion = $"{versionBuffer[0]}.{versionBuffer[1]}.{versionBuffer[2]}.{versionBuffer[3]}"; ProgramName = ts.ReadByteLengthPrefixedString(env.Encoding); ts.Read(versionBuffer, 0, 4); ProgramVersion = $"{versionBuffer[0]}.{versionBuffer[1]}.{versionBuffer[2]}"; //Sybase driver only reports the first 3 version numbers, eg: 15.0.0 } Logger.Instance?.WriteLine($"<- {Type}: TDS {TdsVersion}, {ProgramName} {ProgramVersion}"); }
public void Read(Stream stream, DbEnvironment env, IFormatToken previousFormatToken) { var remainingLength = Type == TokenType.TDS_PARAMFMT ? stream.ReadUShort() : stream.ReadUInt(); using (var ts = new ReadablePartialStream(stream, remainingLength)) { var paramCount = ts.ReadUShort(); var formats = new List <FormatItem>(); for (var i = 0; i < paramCount; i++) { formats.Add(FormatItem.ReadForParameter(ts, env.Encoding, Type)); } Formats = formats.ToArray(); } }
public void Read(Stream stream, DbEnvironment env, IFormatToken previous) { var remainingLength = stream.ReadUShort(); using (var ts = new ReadablePartialStream(stream, remainingLength)) { MessageNumber = ts.ReadInt(); State = ts.ReadByte(); // Already checked remainingLength so can use non-checking version Severity = ts.ReadByte(); var sqlStateLen = ts.ReadByte(); SqlState = new byte[sqlStateLen]; ts.Read(SqlState, 0, sqlStateLen); Status = (EedStatus)ts.ReadByte(); TransactionStatus = (TranState)ts.ReadUShort(); Message = ts.ReadShortLengthPrefixedString(env.Encoding); ServerName = ts.ReadByteLengthPrefixedString(env.Encoding); ProcedureName = ts.ReadByteLengthPrefixedString(env.Encoding); LineNumber = ts.ReadUShort(); } }
public void Read(Stream stream, DbEnvironment env, IFormatToken previous) { var remainingLength = stream.ReadShort(); using (var ts = new ReadablePartialStream(stream, remainingLength)) { var changes = new List <EnvironmentChange>(); while (ts.Position < ts.Length) { var change = new EnvironmentChange { Type = (ChangeType)ts.ReadByte(), NewValue = ts.ReadByteLengthPrefixedString(env.Encoding), OldValue = ts.ReadByteLengthPrefixedString(env.Encoding) }; changes.Add(change); } Changes = changes.ToArray(); } }