mysql_user: add session_vars argument

This commit is contained in:
Andrew Klychkov 2023-01-20 10:19:30 +01:00
parent c242584bae
commit b001470e71
4 changed files with 54 additions and 1 deletions

View file

@ -34,6 +34,8 @@ mysql_driver_fail_msg = ('A MySQL module is required: for Python 2.7 either PyMy
'Consider setting ansible_python_interpreter to use '
'the intended Python version.')
from ansible_collections.community.mysql.plugins.module_utils.database import mysql_quote_identifier
def parse_from_mysql_config_file(cnf):
# Default values of comment_prefix is '#' and ';'.
@ -149,3 +151,13 @@ def get_server_version(cursor):
version_str = result[0]
return version_str
def set_session_vars(module, cursor, session_vars):
"""Set session vars."""
for var, value in session_vars.items():
query = "SET SESSION %s = " % mysql_quote_identifier(var, 'vars')
try:
cursor.execute(query + "%s", (value,))
except Exception as e:
module.fail_json(msg='Failed to execute %s%s: %s' % (query, value, e))