public override byte[] Serialize() { var buffer = new PostgresProtocolStream(); buffer.Write(PortalName); buffer.Write(PreparedStatementName); buffer.Write(ParameterFormatCodeCount); for (var i = 0; i < ParameterFormatCodeCount; i++) { buffer.Write(ParameterFormatCodes[i]); } buffer.Write(ParameterValueCount); for (var i = 0; i < ParameterValueCount; i++) { buffer.Write(ParameterValues[i].Length); buffer.Write(ParameterValues[i].Value); } buffer.Write(RowFormatCode); return(buffer.ToArray()); }
public override byte[] Serialize() { var buffer = new PostgresProtocolStream(); buffer.Write(PreparedStatementName); buffer.Write(Query); buffer.Write(ParameterDataTypeOidsCount); for (var i = 0; i < ParameterDataTypeOidsCount; i++) { buffer.Write(ParameterDataTypeOids[i]); } return(buffer.ToArray()); }
public override byte[] Serialize() { var buffer = new PostgresProtocolStream(); buffer.Write(ProtocolVersion); for (var i = 0; i < Parameters.Count; i++) { buffer.Write(Parameters[i].Name); buffer.Write(Parameters[i].Value); } buffer.WriteByte(EndMessage); return(buffer.ToArray()); }
public override void Deserialize(byte[] payload) { var buffer = new PostgresProtocolStream(payload); Fields = new List <MessageField>(); while (true) { var fieldId = (byte)buffer.ReadByte(); if (fieldId == '\0') { break; } var messageField = new MessageField(); messageField.Id = fieldId; messageField.Value = buffer.ReadString(); Fields.Add(messageField); } }
public override void Deserialize(byte[] payload) { var buffer = new PostgresProtocolStream(payload); FieldsCount = buffer.ReadInt16(); RowFieldDescriptions = new List <RowFieldDescription>(); for (var i = 0; i < FieldsCount; i++) { var rowFieldDescription = new RowFieldDescription(); rowFieldDescription.FieldName = buffer.ReadString(); rowFieldDescription.TableOid = buffer.ReadInt32(); rowFieldDescription.RowAttributeId = buffer.ReadInt16(); rowFieldDescription.FieldTypeOid = buffer.ReadInt32(); rowFieldDescription.DataTypeSize = buffer.ReadInt16(); rowFieldDescription.TypeModifier = buffer.ReadInt32(); rowFieldDescription.FormatCode = buffer.ReadInt16(); RowFieldDescriptions.Add(rowFieldDescription); } }
public override void Deserialize(byte[] payload) { var buffer = new PostgresProtocolStream(payload); ColumnCount = buffer.ReadInt16(); Rows = new List <RowField>(); for (var i = 0; i < ColumnCount; i++) { var rowField = new RowField(); rowField.Length = buffer.ReadInt32(); var rowValueBytes = new List <byte>(); for (var j = 0; j < rowField.Length; j++) { rowValueBytes.Add((byte)buffer.ReadByte()); } rowField.Value = rowValueBytes; Rows.Add(rowField); } }