add a get_server_type module_utils method to detect MySQL vs MariaDB

This commit is contained in:
Laurent Indermuehle 2023-09-14 15:41:42 +02:00
parent 1e24343375
commit 089e1c3fb1
No known key found for this signature in database
GPG key ID: 93FA944C9F34DD09
3 changed files with 16 additions and 6 deletions

View file

@ -305,7 +305,8 @@ from ansible_collections.community.mysql.plugins.module_utils.mysql import (
mysql_connect,
mysql_driver,
mysql_driver_fail_msg,
mysql_common_argument_spec
mysql_common_argument_spec,
get_server_type
)
from ansible_collections.community.mysql.plugins.module_utils.user import (
convert_priv_dict_to_str,
@ -407,9 +408,7 @@ class DbServer():
Returns:
library: Depending on a server type (MySQL or MariaDB).
"""
self.cursor.execute("SELECT VERSION()")
if 'mariadb' in self.cursor.fetchone()[0].lower():
if get_server_type(cursor) == 'mariadb':
import ansible_collections.community.mysql.plugins.module_utils.implementations.mariadb.role as role_impl
else:
import ansible_collections.community.mysql.plugins.module_utils.implementations.mysql.role as role_impl