Módulo: Mongo::Operação::Executable Private
- Inclui:
- ResponseHandling
- Incluído em:
- OpMsgBase
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/operation/shared/executable.rb
Visão geral
Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.
Comportamento executável compartilhado de operações.
Recolhimento do Resumo do método de instância
- #do_execute(connection, context, options = {}) ➤ Object privado
- #execute(connection, context:, options: {}) ➤ Object privado
Detalhes do método de instância
#do_execute(connection, context, options = {}) ➤ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/shared/executable.rb', linha 29 def do_execute(Conexão, Contexto, = {}) session&.materialize_if_needed unpin_ maybe(session, Conexão) fazer add_error_labels(Conexão, Contexto) fazer add_server_diagnóstico(Conexão) fazer get_result(Conexão, Contexto, ).toque fazer |Resultado| se session se session.in_transaction? && Conexão.Descrição.load_balancer? então se session.pinned_connection_global_id a menos que session.pinned_connection_global_id == Conexão.global_id aumentar( Erro::InternalDriverError, "A operação esperada para usar a conexão #{session.pinned_connection_global_id} mas usou #{connection.global_id}" ) end mais session.pin_to_connection(Conexão.global_id) Conexão.pin end end se session.snapshot? && !session. session. = Resultado. end end se Resultado.has_cursor_id? && Conexão.Descrição.load_balancer? então se Resultado.cursor_id == 0 Conexão.desafixar mais Conexão.pin end end process_result(Resultado, Conexão) end end end end end |
#execute(connection, context:, options: {}) ➤ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
73 74 75 76 77 78 79 80 81 82 83 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/shared/executable.rb', linha 73 def executar, executar(Conexão, contexto:, opções: {}) se Lint.habilitado? a menos que Conexão.is_a?(mongo::Servidor::Conexão) aumentar Erro::LintError, "O argumento de conexão é do tipo errado: #{connection}" end end do_execute(Conexão, Contexto, ).toque fazer |Resultado| validate_result(Resultado, Conexão, Contexto) end end |