/// <summary> /// Completes the import process and signals to the database to write everything. /// </summary> public void Close() { if (_isDisposed) { return; } if (_column != -1 && _column != NumColumns) { throw new InvalidOperationException("Can't close writer, a row is still in progress, end it first"); } WriteTrailer(); _connector.SendSingleMessage(CopyDoneMessage.Instance); _connector.ReadExpecting <CommandCompleteMessage>(); _connector.ReadExpecting <ReadyForQueryMessage>(); _connector.State = ConnectorState.Ready; _connector = null; _registry = null; _buf = null; _isDisposed = true; }
public void Dispose() { if (_isDisposed) { return; } if (!_isConsumed) { // Finish the current CopyData message _buf.Skip(_leftToReadInDataMsg); // Read to the end _connector.SkipUntil(BackendMessageCode.CopyDone); _connector.ReadExpecting <CommandCompleteMessage>(); _connector.ReadExpecting <ReadyForQueryMessage>(); } _connector.State = ConnectorState.Ready; _connector = null; _registry = null; _buf = null; _isDisposed = true; }
internal void ResolveHandler(TypeHandlerRegistry registry) { if (Handler != null) { return; } if (_npgsqlDbType.HasValue) { Handler = registry[_npgsqlDbType.Value, EnumType]; } else if (_dbType.HasValue) { Handler = registry[_dbType.Value]; } else if (_value != null) { Handler = registry[_value]; } else { throw new InvalidOperationException(string.Format("Parameter '{0}' must have its value set", ParameterName)); } }
internal void ResolveHandler(TypeHandlerRegistry registry) { if (Handler != null) { return; } if (_npgsqlDbType.HasValue) { Handler = registry[_npgsqlDbType.Value, EnumType]; } else if (_dbType.HasValue) { Handler = registry[_dbType.Value]; } else if (_value != null) { Handler = registry[_value]; } else { Handler = registry[NpgsqlDbType.Text]; } }
internal void ResolveHandler(TypeHandlerRegistry registry) { if (Handler != null) { return; } if (_npgsqlDbType.HasValue) { Handler = registry[_npgsqlDbType.Value, EnumType]; } else if (_dbType.HasValue) { Handler = registry[_dbType.Value]; } else if (!IsNull) { Handler = registry[_value]; } else { Handler = registry.UnrecognizedTypeHandler; } }
internal void ResolveHandler(TypeHandlerRegistry registry) { if (Handler != null) { return; } if (_npgsqlDbType.HasValue) { Handler = registry[_npgsqlDbType.Value, SpecificType]; } else if (_dbType.HasValue) { Handler = registry[_dbType.Value]; } else if (_value != null) { Handler = registry[_value]; } else { throw new InvalidOperationException($"Parameter '{ParameterName}' must have its value set"); } }