Classificação: Mongo::Servidor::Descrição::Recursos

Herda:
Objeto
  • Objeto
mostrar tudo
Definido em:
build/ruby-driver-v2.19/lib/mongo/server/description/features.rb

Visão geral

Define o comportamento em torno de quais recursos um servidor específico suporta.

Desde:

  • 2.0.0

Colapsode resumo constante

Mapeamentos =

Lista de recursos e a versão do protocolo de conexão em que eles aparecem.

As versões do protocolo de fio são mapeadas para as versões do servidor da seguinte forma:

  • 2 => 2.6

  • 3 => 3.0

  • 4 => 3.2

  • 5 => 3.4

  • 6 => 3.6

  • 7 => 4.0

  • 8 => 4.2

  • 9 => 4.4

  • 13 => 5.0

  • 14 => 5.1

  • 17 => 6.0

Desde:

  • 2.0.0

{
  mesclar_out_on_secondary: 13,
  get_more_comment: 9,
  retryable_write_error_label: 9,
  commit_quorum: 9,
  # Versões do servidor MongoDB anteriores a 4.2 não validam as opções de forma confiável
  # fornecido pelo cliente durante as operações findAndModify, exigindo o
  driver para gerar erros do lado do cliente quando essas opções forem fornecidas.
  find_and_modify_option_validation: 8,
  transações: 7,
  scram_sha_256: 7,
  array_filters: 6,
  OP_MSG: 6,
  sessões: 6,
  agrupamento: 5,
  max_staleness: 5,
  # Versões do servidor MongoDB anteriores a 3.4 não validam as opções de forma confiável
  # fornecido pelo cliente durante operações de atualização/exclusão, exigindo o
  driver para gerar erros do lado do cliente quando essas opções forem fornecidas.
  update_delete_option_validation: 5,
  find_command: 4,
  list_collections: 3,
  list_indexes: 3,
  scram_sha_1: 3,
  write_command: 2,
  users_info: 2,
}.congelar
SERVER_TOO_OLD =

Mensagem de erro se o servidor for muito antigo para esta versão do driver.

Desde:

  • 2.5.0

"Servidor MongoDB em (%s) relata versão de fio (%s), mas esta versão do driver Ruby " +
"exige pelo menos (%s)."
DRIVER_TOO_OLD =

Mensagem de erro se o driver for muito antigo para a versão do servidor.

Desde:

  • 2.5.0

"O servidor em (%s) requer versão de fio (%s), mas esta versão do driver Ruby " +
"suporta apenas até (%s)."
DRIVER_WIRE_VERSIONS =

As versões do protocolo de conexão que esta versão do driver suporta.

Desde:

  • 2.0.0

(6..21).congelar

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do construtor

#initialize(server_wire_versions, endereço = nil) ➤ Recursos

Inicialize as funcionalidades.

Exemplos:

Inicialize as funcionalidades.

Features.new(0..3)

Parâmetros:

  • server_wire_versions (Faixa)

    O servidor suporta versões de fio.

Desde:

  • 2.0.0



117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/description/features.rb', linha 117

def inicializar(server_wire_versions, endereço = nada)
  se server_wire_versions.min.nada?
    aumentar ArgumentError, "server_wire_versions's min is null"
  end
  se server_wire_versions.max.nada?
    aumentar ArgumentError, "server_wire_versions's max is null"
  end
  @server_wire_versions = server_wire_versions
  @address = endereço

  se mongo::Lint.habilitado?
    congelar
  end
end

Detalhes do atributo da instância

#server_wire_versions ➤ Intervalo (somente leitura)

Retorna server_wire_versions As versões de fio suportadas do servidor.

Retorna:

  • (Faixa)

    server_wire_versions As versões de fio suportadas do servidor.

Desde:

  • 2.0.0



106
107
108
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/description/features.rb', linha 106

def server_wire_versions
  @server_wire_versions
end

Detalhes do método de instância

#check_driver_support!Objeto

Verifique se há uma sobreposição entre o fio suportado pelo driver

version range and the server wire version range.

Exemplos:

Verifique a sobreposição da versão com fio.

features.check_driver_support!

Aumenta:

Desde:

  • 2.5.1



142
143
144
145
146
147
148
149
150
151
152
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/description/features.rb', linha 142

def check_driver_support!
  se DRIVER_WIRE_VERSIONS.min > @server_wire_versions.max
    aumentar Erro::Recursos Não Suportados.Novo(SERVER_TOO_OLD % [@address,
                                                           @server_wire_versions.max,
                                                           DRIVER_WIRE_VERSIONS.min])
  elsif DRIVER_WIRE_VERSIONS.max < @server_wire_versions.min
    aumentar Erro::Recursos Não Suportados.Novo(DRIVER_TOO_OLD % [@address,
                                                           @server_wire_versions.min,
                                                           DRIVER_WIRE_VERSIONS.max])
  end
end