mysql_user: add session_vars argument (#489)

* mysql_user: add session_vars argument

* Update tests/integration/targets/test_mysql_user/tasks/main.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
Andrew Klychkov 2023-01-24 14:53:29 +01:00 committed by GitHub
parent c242584bae
commit 930a5a5d49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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))