Merging upstream version 1.24.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
5df7a54f6d
commit
4523ea515c
14 changed files with 141 additions and 112 deletions
128
mycli/AUTHORS
128
mycli/AUTHORS
|
@ -15,78 +15,80 @@ Core Developers:
|
|||
Contributors:
|
||||
-------------
|
||||
|
||||
* Steve Robbins
|
||||
* Shoma Suzuki
|
||||
* Daniel West
|
||||
* Scrappy Soft
|
||||
* Daniel Black
|
||||
* Jonathan Bruno
|
||||
* Casper Langemeijer
|
||||
* Jonathan Slenders
|
||||
* Artem Bezsmertnyi
|
||||
* Mikhail Borisov
|
||||
* Heath Naylor
|
||||
* Phil Cohen
|
||||
* spacewander
|
||||
* Adam Chainz
|
||||
* Johannes Hoff
|
||||
* Kacper Kwapisz
|
||||
* Lennart Weller
|
||||
* Martijn Engler
|
||||
* Terseus
|
||||
* Tyler Kuipers
|
||||
* William GARCIA
|
||||
* Yasuhiro Matsumoto
|
||||
* bjarnagin
|
||||
* jbruno
|
||||
* mrdeathless
|
||||
* 0xflotus
|
||||
* Abirami P
|
||||
* John Sterling
|
||||
* Jialong Liu
|
||||
* Zhidong
|
||||
* Daniël van Eeden
|
||||
* zer09
|
||||
* cxbig
|
||||
* chainkite
|
||||
* Michał Górny
|
||||
* Terje Røsten
|
||||
* Ryan Smith
|
||||
* Klaus Wünschel
|
||||
* François Pietka
|
||||
* Colin Caine
|
||||
* Frederic Aoustin
|
||||
* caitinggui
|
||||
* ushuz
|
||||
* Zhaolong Zhu
|
||||
* Zhongyang Guan
|
||||
* Huachao Mao
|
||||
* QiaoHou Peng
|
||||
* Yang Zou
|
||||
* Angelo Lupo
|
||||
* Adam Chainz
|
||||
* Aljosha Papsch
|
||||
* Zane C. Bowers-Hadley
|
||||
* Mike Palandra
|
||||
* Andy Teijelo Pérez
|
||||
* Angelo Lupo
|
||||
* Artem Bezsmertnyi
|
||||
* bitkeen
|
||||
* bjarnagin
|
||||
* caitinggui
|
||||
* Carlos Afonso
|
||||
* Casper Langemeijer
|
||||
* chainkite
|
||||
* Colin Caine
|
||||
* cxbig
|
||||
* Daniel Black
|
||||
* Daniel West
|
||||
* Daniël van Eeden
|
||||
* François Pietka
|
||||
* Frederic Aoustin
|
||||
* Georgy Frolov
|
||||
* Jonathan Lloyd
|
||||
* Nathan Huang
|
||||
* Heath Naylor
|
||||
* Huachao Mao
|
||||
* Jakub Boukal
|
||||
* Takeshi D. Itoh
|
||||
* laixintao
|
||||
* Zach DeCook
|
||||
* jbruno
|
||||
* Jerome Provensal
|
||||
* Jialong Liu
|
||||
* Johannes Hoff
|
||||
* John Sterling
|
||||
* Jonathan Bruno
|
||||
* Jonathan Lloyd
|
||||
* Jonathan Slenders
|
||||
* Kacper Kwapisz
|
||||
* Karthikeyan Singaravelan
|
||||
* kevinhwang91
|
||||
* KITAGAWA Yasutaka
|
||||
* Nicolas Palumbo
|
||||
* Andy Teijelo Pérez
|
||||
* bitkeen
|
||||
* Morgan Mitchell
|
||||
* Klaus Wünschel
|
||||
* laixintao
|
||||
* Lennart Weller
|
||||
* Martijn Engler
|
||||
* Massimiliano Torromeo
|
||||
* Michał Górny
|
||||
* Mike Palandra
|
||||
* Mikhail Borisov
|
||||
* Morgan Mitchell
|
||||
* mrdeathless
|
||||
* Nathan Huang
|
||||
* Nicolas Palumbo
|
||||
* Phil Cohen
|
||||
* QiaoHou Peng
|
||||
* Roland Walker
|
||||
* xeron
|
||||
* 0xflotus
|
||||
* Ryan Smith
|
||||
* Scrappy Soft
|
||||
* Seamile
|
||||
* Jerome Provensal
|
||||
* Shoma Suzuki
|
||||
* spacewander
|
||||
* Steve Robbins
|
||||
* Takeshi D. Itoh
|
||||
* Terje Røsten
|
||||
* Terseus
|
||||
* Tyler Kuipers
|
||||
* ushuz
|
||||
* William GARCIA
|
||||
* xeron
|
||||
* Yang Zou
|
||||
* Yasuhiro Matsumoto
|
||||
* Zach DeCook
|
||||
* Zane C. Bowers-Hadley
|
||||
* zer09
|
||||
* Zhaolong Zhu
|
||||
* Zhidong
|
||||
* Zhongyang Guan
|
||||
|
||||
Creator:
|
||||
--------
|
||||
Created by:
|
||||
-----------
|
||||
|
||||
Amjith Ramanujam
|
||||
|
|
|
@ -1 +1 @@
|
|||
__version__ = '1.24.1'
|
||||
__version__ = '1.24.2'
|
||||
|
|
|
@ -36,7 +36,7 @@ class CompletionRefresher(object):
|
|||
target=self._bg_refresh,
|
||||
args=(executor, callbacks, completer_options),
|
||||
name='completion_refresh')
|
||||
self._completer_thread.setDaemon(True)
|
||||
self._completer_thread.daemon = True
|
||||
self._completer_thread.start()
|
||||
return [(None, None, None,
|
||||
'Auto-completion refresh started in the background.')]
|
||||
|
|
|
@ -60,8 +60,8 @@ wider_completion_menu = False
|
|||
# \n - Newline
|
||||
# \P - AM/PM
|
||||
# \p - Port
|
||||
# \R - The current time, in 24-hour military time (0–23)
|
||||
# \r - The current time, standard 12-hour time (1–12)
|
||||
# \R - The current time, in 24-hour military time (0-23)
|
||||
# \r - The current time, standard 12-hour time (1-12)
|
||||
# \s - Seconds of the current time
|
||||
# \t - Product type (Percona, MySQL, MariaDB)
|
||||
# \A - DSN alias name (from the [alias_dsn] section)
|
||||
|
|
|
@ -81,6 +81,13 @@ def extract_from_part(parsed, stop_at_punctuation=True):
|
|||
yield x
|
||||
elif stop_at_punctuation and item.ttype is Punctuation:
|
||||
return
|
||||
# Multiple JOINs in the same query won't work properly since
|
||||
# "ON" is a keyword and will trigger the next elif condition.
|
||||
# So instead of stooping the loop when finding an "ON" skip it
|
||||
# eg: 'SELECT * FROM abc JOIN def ON abc.id = def.abc_id JOIN ghi'
|
||||
elif item.ttype is Keyword and item.value.upper() == 'ON':
|
||||
tbl_prefix_seen = False
|
||||
continue
|
||||
# An incomplete nested select won't be recognized correctly as a
|
||||
# sub-select. eg: 'SELECT * FROM (SELECT id FROM user'. This causes
|
||||
# the second FROM to trigger this elif condition resulting in a
|
||||
|
|
|
@ -135,23 +135,25 @@ def status(cur, **_):
|
|||
else:
|
||||
output.append(('UNIX socket:', variables['socket']))
|
||||
|
||||
output.append(('Uptime:', format_uptime(status['Uptime'])))
|
||||
if 'Uptime' in status:
|
||||
output.append(('Uptime:', format_uptime(status['Uptime'])))
|
||||
|
||||
# Print the current server statistics.
|
||||
stats = []
|
||||
stats.append('Connections: {0}'.format(status['Threads_connected']))
|
||||
if 'Queries' in status:
|
||||
stats.append('Queries: {0}'.format(status['Queries']))
|
||||
stats.append('Slow queries: {0}'.format(status['Slow_queries']))
|
||||
stats.append('Opens: {0}'.format(status['Opened_tables']))
|
||||
stats.append('Flush tables: {0}'.format(status['Flush_commands']))
|
||||
stats.append('Open tables: {0}'.format(status['Open_tables']))
|
||||
if 'Queries' in status:
|
||||
queries_per_second = int(status['Queries']) / int(status['Uptime'])
|
||||
stats.append('Queries per second avg: {:.3f}'.format(
|
||||
queries_per_second))
|
||||
stats = ' '.join(stats)
|
||||
footer.append('\n' + stats)
|
||||
if 'Threads_connected' in status:
|
||||
# Print the current server statistics.
|
||||
stats = []
|
||||
stats.append('Connections: {0}'.format(status['Threads_connected']))
|
||||
if 'Queries' in status:
|
||||
stats.append('Queries: {0}'.format(status['Queries']))
|
||||
stats.append('Slow queries: {0}'.format(status['Slow_queries']))
|
||||
stats.append('Opens: {0}'.format(status['Opened_tables']))
|
||||
stats.append('Flush tables: {0}'.format(status['Flush_commands']))
|
||||
stats.append('Open tables: {0}'.format(status['Open_tables']))
|
||||
if 'Queries' in status:
|
||||
queries_per_second = int(status['Queries']) / int(status['Uptime'])
|
||||
stats.append('Queries per second avg: {:.3f}'.format(
|
||||
queries_per_second))
|
||||
stats = ' '.join(stats)
|
||||
footer.append('\n' + stats)
|
||||
|
||||
footer.append('--------------')
|
||||
return [('\n'.join(title), output, '', '\n'.join(footer))]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue