StartupMessage constructor

StartupMessage(
  1. String databaseName,
  2. TimeZoneSettings timeZone, {
  3. String? username,
  4. ReplicationMode replication = ReplicationMode.none,
  5. required Encoding encoding,
  6. Map<String, String> parameters = const {},
})

parameters são parâmetros de sessão adicionais enviados na mensagem de startup (por exemplo application_name, search_path ou statement_timeout), evitando comandos SET depois de conectar.

Implementation

StartupMessage(
  String databaseName,
  TimeZoneSettings timeZone, {
  String? username,
  ReplicationMode replication = ReplicationMode.none,
  required this.encoding,
  Map<String, String> parameters = const {},
})  : _databaseName = EncodedString(databaseName, encoding),
      _timeZone = EncodedString(timeZone.value, encoding),
      _username = username == null ? null : EncodedString(username, encoding),
      _replication = EncodedString(replication.value, encoding),
      _extraParameters = [
        for (final e in parameters.entries) ...[
          EncodedString(e.key, encoding),
          EncodedString(e.value, encoding),
        ]
      ];