Fixed #3767 - mysql_user command fails with dots (and underscores) in
database names.
This commit is contained in:
parent
bb5e4f0673
commit
266255640e
1 changed files with 10 additions and 1 deletions
|
@ -223,7 +223,7 @@ def privileges_get(cursor, user,host):
|
|||
privileges = [ pick(x) for x in privileges]
|
||||
if "WITH GRANT OPTION" in res.group(4):
|
||||
privileges.append('GRANT')
|
||||
db = res.group(2).replace('`', '')
|
||||
db = res.group(2)
|
||||
output[db] = privileges
|
||||
return output
|
||||
|
||||
|
@ -241,8 +241,17 @@ def privileges_unpack(priv):
|
|||
output = {}
|
||||
for item in priv.split('/'):
|
||||
pieces = item.split(':')
|
||||
if pieces[0].find('.') != -1:
|
||||
|
||||
pieces[0] = pieces[0].split('.')
|
||||
for idx, piece in enumerate(pieces):
|
||||
if pieces[0][idx] != "*":
|
||||
pieces[0][idx] = "`" + pieces[0][idx] + "`"
|
||||
pieces[0] = '.'.join(pieces[0])
|
||||
|
||||
output[pieces[0]] = pieces[1].upper().split(',')
|
||||
|
||||
|
||||
if '*.*' not in output:
|
||||
output['*.*'] = ['USAGE']
|
||||
|
||||
|
|
Loading…
Reference in a new issue