Class: Gitlab::Database::LoadBalancing::ScopedSessions
- Inherits:
-
Object
- Object
- Gitlab::Database::LoadBalancing::ScopedSessions
- Defined in:
- lib/gitlab/database/load_balancing/session_map.rb
Instance Attribute Summary collapse
-
#scoped_sessions ⇒ Object
readonly
Returns the value of attribute scoped_sessions.
Instance Method Summary collapse
- #fallback_to_replicas_for_ambiguous_queries ⇒ Object
- #ignore_writes ⇒ Object
-
#initialize(scope, session_map) ⇒ ScopedSessions
constructor
A new instance of ScopedSessions.
- #use_primary ⇒ Object
- #use_primary! ⇒ Object
- #use_replicas_for_read_queries ⇒ Object
Constructor Details
#initialize(scope, session_map) ⇒ ScopedSessions
Returns a new instance of ScopedSessions.
80 81 82 83 |
# File 'lib/gitlab/database/load_balancing/session_map.rb', line 80 def initialize(scope, session_map) @scope = scope @scoped_sessions = session_map.slice(*@scope).values end |
Instance Attribute Details
#scoped_sessions ⇒ Object (readonly)
Returns the value of attribute scoped_sessions.
78 79 80 |
# File 'lib/gitlab/database/load_balancing/session_map.rb', line 78 def scoped_sessions @scoped_sessions end |
Instance Method Details
#fallback_to_replicas_for_ambiguous_queries ⇒ Object
101 102 103 |
# File 'lib/gitlab/database/load_balancing/session_map.rb', line 101 def fallback_to_replicas_for_ambiguous_queries(&) nest_sessions(scoped_sessions, :fallback_to_replicas_for_ambiguous_queries, &) end |
#ignore_writes ⇒ Object
89 90 91 |
# File 'lib/gitlab/database/load_balancing/session_map.rb', line 89 def ignore_writes(&) nest_sessions(scoped_sessions, :without_sticky_writes, &) end |
#use_primary ⇒ Object
93 94 95 |
# File 'lib/gitlab/database/load_balancing/session_map.rb', line 93 def use_primary(&) nest_sessions(scoped_sessions, :use_primary, &) end |
#use_primary! ⇒ Object
85 86 87 |
# File 'lib/gitlab/database/load_balancing/session_map.rb', line 85 def use_primary! scoped_sessions.each(&:use_primary!) end |
#use_replicas_for_read_queries ⇒ Object
97 98 99 |
# File 'lib/gitlab/database/load_balancing/session_map.rb', line 97 def use_replicas_for_read_queries(&) nest_sessions(scoped_sessions, :use_replicas_for_read_queries, &) end |