クラス: Mongo::Operation::Context Private

継承:
CsonTimeoutH older すべて表示
定義:
lib/mongo/ 操作/context.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

操作のコンテキスト。

操作の実行に関する決定を行うために必要なさまざまなオブジェクトを単一のコンテナに保持し、含まれるオブジェクトのファサード メソッドを提供します。

コンテキストには操作のパラメーターが含まれているため、操作の準備中はコンテキスト内の何も変更しないでください。 操作の結果が処理されているときに、コンテキストによって返されるデータが変更される可能性があります(たとえば、トランザクションが中止された場合など)。その時点で、操作はコンテキストから何も読み取なくなります。 操作の実行中にコンテキストデータが変更される可能性があるため、コンテキスト オブジェクトは複数の操作で再利用しないでください。

インスタンス属性の概要を折りたたむ

CsonTimeoutH older から継承される属性

# deadline 、#operation_timeouts 、#timeout_second

インスタンス メソッドの概要を折りたたむ

CsonTimeoutH older から継承されたメソッド

#check_timeout 、#cson は? 、#remaining_timeout_ms 、#remaining_timeout_ms 、#remaining_timeout_sec 、#remaining_timeout_sec 。 、#timeout? 、#timeout_expired は?

コンストラクターの詳細

# 初期化(クライアント: nil、セッション: nil、接続_グローバル_id: nil、 operation_timeouts: {}、view: nil、オプション: nil) = コンテキスト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

Context の新しいインスタンスを返します。



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
# ファイル 'lib/mongo/ 操作/context.rb' は、36 行

デフォルト 初期化(
  クライアント: nil,
  セッション: nil,
  connection_ global_id: nil,
  operation_timeouts: {},
  view: nil,
  次のオプションがあります。 nil
)
  場合 options
    発生 ArgumentError, 'クライアントと オプションを両方指定することはできません 場合 クライアント

    発生 ArgumentError, 'セッションと オプションを両方指定することはできません 場合 セッション
  end

  場合 connection_ global_id & & セッション&.ピン留め_接続_グローバル_id
    発生 ArgumentError,
          :セッションがすでに接続に固定されている場合に、コンテキストを接続に固定しようとしているとき'
  end

  @client = クライアント
  @session = セッション
  @view = 表示
  @ connection_ global_id = connection_ global_id
  @options = options
  スーパー(セッション: セッション, operation_timeouts: operation_timeouts)
end

インスタンス属性の詳細

クライアント=オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



63
64
65
# ファイル 'lib/mongo/ 操作/context.rb' は、63 行

デフォルト クライアント
  @client
end

#オプション=オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



63
64
65
# ファイル 'lib/mongo/ 操作/context.rb' は、63 行

デフォルト options
  @options
end

#セッション=オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



63
64
65
# ファイル 'lib/mongo/ 操作/context.rb' は、63 行

デフォルト セッション
  @session
end

#ビュー=オブジェクト(読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



63
64
65
# ファイル 'lib/mongo/ 操作/context.rb' は、63 行

デフォルト 表示
  @view
end

インスタンス メソッドの詳細

中止_トランザクション=ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値


97
98
99
# ファイル 'lib/mongo/ 操作/context.rb' は、97 行

デフォルト aborting_transaction
  in_transaction? & & セッション.aborting_transaction
end

任意の_retry_writes? =ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値


109
110
111
# ファイル 'lib/mongo/ 操作/context.rb' は、109 行

デフォルト 任意の_retry_writes
  latest_retry_writes? || legacy_retry_writes?
end

commit_transaction は次のとおりです。 =ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値


93
94
95
# ファイル 'lib/mongo/ 操作/context.rb' は、93 行

デフォルト commit_transaction?
  in_transaction? & & セッション.commit_transaction?
end

# connection_ global_id =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



81
82
83
# ファイル 'lib/mongo/ 操作/context.rb' は、81 行

デフォルト connection_ global_id
  @ connection_ global_id || セッション&.ピン留め_接続_グローバル_id
end

#decryption (cmd) = オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



156
157
158
# ファイル 'lib/mongo/ 操作/context.rb' は、156 行

デフォルト 解読(cmd)
  暗号化.解読(cmd, 自己)
end

#復号化 =ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値


152
153
154
# ファイル 'lib/mongo/ 操作/context.rb' は、152 行

デフォルト 解読
  !!クライアント&.暗号化
end

# 暗号化 (db_name, cmd) = オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



148
149
150
# ファイル 'lib/mongo/ 操作/context.rb' は、148 行

デフォルト 暗号化(db_name, cmd)
  暗号化.暗号化(db_name, cmd, 自己)
end

#暗号化 =ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値


144
145
146
# ファイル 'lib/mongo/ 操作/context.rb' は、144 行

デフォルト 暗号化
  クライアント&.暗号化&.暗号化 || false
end

#暗号化=オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



160
161
162
163
164
165
166
# ファイル 'lib/mongo/ 操作/context.rb' は、160 行

デフォルト 暗号化
  ただし、 クライアント&.暗号化
    発生 エラー::internalDriverError, '暗号化は、暗号化を実行するときにのみアクセスする必要があります
  end

  クライアント.暗号化
end

#in_transaction?Boolean

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値


85
86
87
# ファイル 'lib/mongo/ 操作/context.rb' は、85 行

デフォルト in_transaction?
  セッション&.in_transaction? || false
end

# 検査 = オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



168
169
170
# ファイル 'lib/mongo/ 操作/context.rb' は、168 行

デフォルト 検査する
  " # は、{ 、 、 、の接続_グローバル_id=={ connection_ global_id . . が} > "
end

legacy_retry_writes と=ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値


105
106
107
# ファイル 'lib/mongo/ 操作/context.rb' は、105 行

デフォルト legacy_retry_writes?
  クライアント & & !クライアント.options[:retry_writes] & & クライアント.max_write_retry > 0
end

new_retry_writes? =ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値


101
102
103
# ファイル 'lib/mongo/ 操作/context.rb' は、101 行

デフォルト latest_retry_writes?
  クライアント & & クライアント.options[:retry_writes]
end

# overload_only_retry? = ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

これまでのすべての再試行が過負荷のみによるものであったかどうか。

次の値を返します。

  • ブール値


127
128
129
# ファイル 'lib/mongo/ 操作/context.rb' は、127 行

デフォルト overload_only_retry?
  !!@overload_only_retry
end

#refresh( connection_ global_id: @ connection_ global_id、timeout_ms: nil、view: nil)=======================================================

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

期限が更新され、現在に関連する新しい 操作::コンテキスト を返します。

次の値を返します。



69
70
71
72
73
74
75
76
77
78
79
# ファイル 'lib/mongo/ 操作/context.rb' は、69 行

デフォルト refresh(connection_ global_id: @ connection_ global_id, timeout_ms: nil, view: nil)
  operation_timeouts = @operation_timeouts
  operation_timeouts = operation_timeouts.merge(operation_timeout_ms: timeout_ms) 場合 timeout_ms

  自己.クラス.新着情報(クライアント: クライアント,
                 セッション: セッション,
                 connection_ global_id: connection_ global_id,
                 operation_timeouts: operation_timeouts,
                 view: 表示 || 自己.表示,
                 次のオプションがあります。 options)
end

再試行回数=ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

操作が再試行(true)であるか、最初の試行(false)であるか。

次の値を返します。

  • ブール値


122
123
124
# ファイル 'lib/mongo/ 操作/context.rb' は、122 行

デフォルト 再試行しますか?
  !!@is_retry
end

# server_api =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



113
114
115
116
117
118
119
# ファイル 'lib/mongo/ 操作/context.rb' は、113 行

デフォルト server_api
  場合 クライアント
    クライアント.options[:server_api]
  elsif options
    options[:server_api]
  end
end

開始_トランザクション=ブール値

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

次の値を返します。

  • ブール値


89
90
91
# ファイル 'lib/mongo/ 操作/context.rb' は、89 行

デフォルト start_transaction?
  セッション&.start_transaction? || false
end

(** オプション)=オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

指定された引数ごとに変更されたパラメーターを持つ新しいコンテキストを返します。

パラメーター:

  • ops ハッシュ

    カスタマイズ可能なオプションのセット

オプション ハッシュ( * Ops ):

  • :is_retry true|false

    操作が再試行であるか、最初の試行であるか。



136
137
138
139
140
141
142
# ファイル 'lib/mongo/ 操作/context.rb' は、136 行

デフォルト と共に(**ops)
  dup.タップ 行う |copy|
    ops. 行う |k, v|
      copy.instance_variable_set(" @ #{ k } ", v)
    end
  end
end