クラス: 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 の新しいインスタンスを返します。

[ソースを表示]

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

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

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

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

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

インスタンス属性の詳細

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

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


68
69
70
# ファイル 'lib/mongo/ 操作/context.rb' は、68 行

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

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

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


71
72
73
# ファイル 'lib/mongo/ 操作/context.rb' は、71 行

デフォルト options
  @options
end

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

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


69
70
71
# ファイル 'lib/mongo/ 操作/context.rb' は、69 行

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

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

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


70
71
72
# ファイル 'lib/mongo/ 操作/context.rb' は、70 行

デフォルト 表示
  @view
end

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

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

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

次の値を返します。

  • ブール値
[ソースを表示]

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

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

任意の_retry_writes? =ブール値

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

次の値を返します。

  • ブール値
[ソースを表示]

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

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

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

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

次の値を返します。

  • ブール値
[ソースを表示]

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

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

# connection_ global_id =オブジェクト

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

[ソースを表示]

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

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

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

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

[ソースを表示]

159
160
161
# ファイル 'lib/mongo/ 操作/context.rb' は、159 行

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

#復号化 =ブール値

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

次の値を返します。

  • ブール値
[ソースを表示]

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

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

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

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

[ソースを表示]

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

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

#暗号化 =ブール値

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

次の値を返します。

  • ブール値
[ソースを表示]

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

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

#暗号化=オブジェクト

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

[ソースを表示]

163
164
165
166
167
168
169
# ファイル 'lib/mongo/ 操作/context.rb' は、163 行

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

#in_transaction?Boolean

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

次の値を返します。

  • ブール値
[ソースを表示]

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

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

# 検査 = オブジェクト

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

[ソースを表示]

171
172
173
# ファイル 'lib/mongo/ 操作/context.rb' は、171 行

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

legacy_retry_writes と=ブール値

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

次の値を返します。

  • ブール値
[ソースを表示]

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

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

new_retry_writes? =ブール値

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

次の値を返します。

  • ブール値
[ソースを表示]

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

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

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

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

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

次の値を返します。

[ソースを表示]

77
78
79
80
81
82
83
84
85
86
87
# ファイル 'lib/mongo/ 操作/context.rb' は、77 行

デフォルト 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)であるか。

次の値を返します。

  • ブール値
[ソースを表示]

130
131
132
# ファイル 'lib/mongo/ 操作/context.rb' は、130 行

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

# server_api =オブジェクト

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

[ソースを表示]

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

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

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

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

次の値を返します。

  • ブール値
[ソースを表示]

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

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

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

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

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

パラメーター:

  • ops ハッシュ

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

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

  • :is_retry true|false

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

[ソースを表示]

139
140
141
142
143
144
145
# ファイル 'lib/mongo/ 操作/context.rb' は、139 行

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