diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-11-14 11:41:52 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-11-14 11:41:52 +0300 |
commit | 585826cb22ecea5998a2c2a4675735c94bdeedac (patch) | |
tree | 5b05f0b30d33cef48963609e8a18a4dff260eab3 /scripts/database/query_analyzers.rb | |
parent | df221d036e5d0c6c0ee4d55b9c97f481ee05dee8 (diff) |
Add latest changes from gitlab-org/gitlab@16-6-stable-eev16.6.0-rc42
Diffstat (limited to 'scripts/database/query_analyzers.rb')
-rw-r--r-- | scripts/database/query_analyzers.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/database/query_analyzers.rb b/scripts/database/query_analyzers.rb new file mode 100644 index 00000000000..390851df81a --- /dev/null +++ b/scripts/database/query_analyzers.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +class Database + class QueryAnalyzers + attr_reader :analyzers + + def initialize + @analyzers = ObjectSpace.each_object(::Class).select { |c| c < Base }.map(&:new) + end + + def analyze(query) + analyzers.each { |analyzer| analyzer.analyze(query) } + end + + def save! + analyzers.each(&:save!) + end + end +end + +Dir[File.join(File.expand_path('query_analyzers', __dir__), '*.rb')].each do |plugin| + require plugin +end |