public NpgsqlParameterStatus(Stream stream) { //Read message length PGUtil.EatStreamBytes(stream, 4); Parameter = PGUtil.ReadString(stream); ParameterValue = PGUtil.ReadString(stream); }
private NpgsqlBackendTypeInfo _typeInfo; // everything we know about this field type public FieldData(Stream stream, NpgsqlBackendTypeMapping typeMapping) { Name = PGUtil.ReadString(stream); TableOID = PGUtil.ReadInt32(stream); ColumnAttributeNumber = PGUtil.ReadInt16(stream); TypeInfo = typeMapping[TypeOID = PGUtil.ReadInt32(stream)]; TypeSize = PGUtil.ReadInt16(stream); TypeModifier = PGUtil.ReadInt32(stream); FormatCode = (FormatCode)PGUtil.ReadInt16(stream); }
public CompletedResponse(Stream stream) { string[] tokens = PGUtil.ReadString(stream).Split(); if (tokens.Length > 1) { int rowsAffected; if (int.TryParse(tokens[tokens.Length - 1], out rowsAffected)) { _rowsAffected = rowsAffected; } else { _rowsAffected = null; } } _lastInsertedOID = (tokens.Length > 2 && tokens[0].Trim().ToUpperInvariant() == "INSERT") ? long.Parse(tokens[1]) : (long?)null; }
internal NpgsqlNotificationEventArgs(Stream stream, bool readAdditional) { PID = PGUtil.ReadInt32(stream); Condition = PGUtil.ReadString(stream); AdditionalInformation = readAdditional ? PGUtil.ReadString(stream) : string.Empty; }
internal NpgsqlError(Stream stream) { // Check the messageLength value. If it is 1178686529, this would be the // "FATA" string, which would mean a protocol 2.0 error string. if (PGUtil.ReadInt32(stream) == 1178686529) { string[] v2Parts = ("FATA" + PGUtil.ReadString(stream)).Split(new char[] { ':' }, 2); if (v2Parts.Length == 2) { _severity = v2Parts[0].Trim(); _message = v2Parts[1].Trim(); } else { _severity = string.Empty; _message = v2Parts[0].Trim(); } } else { bool done = false; int fieldCode; while (!done && (fieldCode = stream.ReadByte()) != -1) { switch ((byte)fieldCode) { case 0: // Null terminator; error message fully consumed. done = true; ; break; case (byte)ErrorFieldTypeCodes.Severity: _severity = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.Code: _code = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.Message: _message = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.Detail: _detail = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.Hint: _hint = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.Position: _position = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.InternalPosition: _internalPosition = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.InternalQuery: _internalQuery = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.Where: _where = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.File: _file = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.Line: _line = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.Routine: _routine = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.SchemaName: _schemaName = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.TableName: _tableName = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.ColumnName: _columnName = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.DataTypeName: _datatypeName = PGUtil.ReadString(stream); ; break; case (byte)ErrorFieldTypeCodes.ConstraintName: _constraintName = PGUtil.ReadString(stream); ; break; default: // Unknown error field; consume and discard. PGUtil.ReadString(stream); ; break; } } } }