internal DescAreaRowDescMessage( ResponseMessage response) : base(response) { var reader = ((ReaderCommand)response.Command).Reader; _commAreaGroupDescriptor = new CommAreaGroupDescriptor(reader); if (reader.ReadUInt8() != 0xFF) { var holdable = reader.ReadUInt16(); var returnable = reader.ReadUInt16(); var scrollable = reader.ReadUInt16(); var sensitive = reader.ReadUInt16(); var code = reader.ReadUInt16(); var keyType = reader.ReadUInt16(); var rdbName = reader.ReadVarString(); var schema = reader.ReadVcmVcs(); } var number = reader.ReadUInt16(); _columns = new List <DrdaColumn>(number); for (var i = 0; i < number; i++) { _columns.Add(new DrdaColumn(reader)); } }
internal CommAreaRowDescMessage( ResponseMessage response) : base(response) { var reader = ((ReaderCommand)response.Command).Reader; _commAreaGroupDescriptor = new CommAreaGroupDescriptor(reader); _messages = _commAreaGroupDescriptor.SqlMessage .Split(MessagesSeparator, StringSplitOptions.RemoveEmptyEntries); }
private Boolean ProcessSingleRow( DrdaStreamReader reader, QueryContext context) { var groupDescriptor = new CommAreaGroupDescriptor(reader); reader.ReadUInt8(); // Parent nullable triplet if (groupDescriptor.SqlCode == 100 && String.Equals(groupDescriptor.SqlState, "02000")) { context.HasMoreData = false; return(false); } context.Rows.Enqueue(context.Columns .Select(reader.ReadColumnValue).ToList()); return(true); }