From 0aa33e1c41a815fbd27d7655ef371fe01c8bebbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danny=20Gr=C3=A4f?= Date: Fri, 27 Sep 2024 18:25:27 +0100 Subject: [PATCH] Replace instances loop by one information schema query. --- lib/puppet/provider/mysql_database/mysql.rb | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/puppet/provider/mysql_database/mysql.rb b/lib/puppet/provider/mysql_database/mysql.rb index 04d95bf76..77be75bb0 100644 --- a/lib/puppet/provider/mysql_database/mysql.rb +++ b/lib/puppet/provider/mysql_database/mysql.rb @@ -7,16 +7,12 @@ commands mysql_raw: 'mysql' def self.instances - mysql_caller('show databases', 'regular').split("\n").map do |name| - attributes = {} - mysql_caller(["show variables like '%_database'", name], 'regular').split("\n").each do |line| - k, v = line.split(%r{\s}) - attributes[k] = v - end + mysql_caller('SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA', 'regular').split("\n").map do |line| + name, charset, collate = line.split(%r{\s}) new(name: name, ensure: :present, - charset: attributes['character_set_database'], - collate: attributes['collation_database']) + charset: charset, + collate: collate) end end