Merge pull request #17566 from liviuconcioiu/proc

Fix #17271 - database names dissapearing from Processes tab
This commit is contained in:
Maurício Meneghini Fauth 2022-06-09 22:48:23 -03:00 committed by GitHub
commit 2e52f362e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 43 additions and 24 deletions

View File

@ -70,26 +70,21 @@ final class Processes
while ($process = $result->fetchAssoc()) {
// Array keys need to modify due to the way it has used
// to display column values
if (
(! empty($params['order_by_field']) && ! empty($params['sort_order']))
|| ! empty($params['showExecuting'])
) {
foreach (array_keys($process) as $key) {
$newKey = ucfirst(mb_strtolower($key));
if ($newKey === $key) {
continue;
}
$process[$newKey] = $process[$key];
unset($process[$key]);
foreach (array_keys($process) as $key) {
$newKey = ucfirst(mb_strtolower($key));
if ($newKey === $key) {
continue;
}
$process[$newKey] = $process[$key];
unset($process[$key]);
}
$rows[] = [
'id' => $process['Id'],
'user' => $process['User'],
'host' => $process['Host'],
'db' => ! isset($process['db']) || strlen($process['db']) === 0 ? '' : $process['db'],
'db' => ! isset($process['Db']) || strlen($process['Db']) === 0 ? '' : $process['Db'],
'command' => $process['Command'],
'time' => $process['Time'],
'state' => ! empty($process['State']) ? $process['State'] : '---',
@ -124,7 +119,7 @@ final class Processes
],
[
'column_name' => __('Database'),
'order_by_field' => 'db',
'order_by_field' => 'Db',
],
[
'column_name' => __('Command'),
@ -138,14 +133,18 @@ final class Processes
'column_name' => __('Status'),
'order_by_field' => 'State',
],
[
];
if ($this->dbi->isMariaDB()) {
$sortableColumns[] = [
'column_name' => __('Progress'),
'order_by_field' => 'Progress',
],
[
'column_name' => __('SQL query'),
'order_by_field' => 'Info',
],
];
}
$sortableColumns[] = [
'column_name' => __('SQL query'),
'order_by_field' => 'Info',
];
$sortableColCount = count($sortableColumns);

View File

@ -45,11 +45,29 @@
</a>
</td>
<td class="font-monospace text-end">{{ row.id }}</td>
<td>{{ row.user }}</td>
<td>
{% if row.user != 'system user' %}
<a href="{{ url('/server/privileges', {
'username': row.user,
'hostname': row.host,
'dbname': row.db,
'tablename': '',
'routinename': '',
}) }}">
{{ row.user }}
</a>
{% else %}
{{ row.user }}
{% endif %}
</td>
<td>{{ row.host }}</td>
<td>
{% if row.db != '' %}
{{ row.db }}
<a href="{{ url('/database/structure', {
'db': row.db,
}) }}">
{{ row.db }}
</a>
{% else %}
<em>{% trans 'None' %}</em>
{% endif %}
@ -57,7 +75,9 @@
<td>{{ row.command }}</td>
<td class="font-monospace text-end">{{ row.time }}</td>
<td>{{ row.state }}</td>
<td>{{ row.progress }}</td>
{% if is_mariadb %}
<td>{{ row.progress }}</td>
{% endif %}
<td>{{ row.info|raw }}</td>
{% endfor %}
</tbody>

View File

@ -77,7 +77,7 @@ class ProcessesControllerTest extends AbstractTestCase
$_POST['full'] = '1';
$_POST['column_name'] = 'Database';
$_POST['order_by_field'] = 'db';
$_POST['order_by_field'] = 'Db';
$_POST['sort_order'] = 'ASC';
$this->dummyDbi->addSelectDb('mysql');