Skip to content

Commit 99b20b0

Browse files
lukaspijakdg
authored andcommitted
ConnectionPanel - highlight INSERT|UPDATE|DELETE (#237)
1 parent 671c233 commit 99b20b0

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/Bridges/DatabaseTracy/ConnectionPanel.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,17 @@ public function getPanel(): ?string
122122
$totalTime = $this->totalTime;
123123
$queries = [];
124124
foreach ($this->queries as $query) {
125-
[$connection, $sql, $params, $source, $time, $rows, $error] = $query;
125+
[$connection, $sql, $params, , , , $error] = $query;
126126
$explain = null;
127-
if (!$error && $this->explain && preg_match('#\s*\(?\s*SELECT\s#iA', $sql)) {
127+
$command = preg_match('#\s*\(?\s*(SELECT|INSERT|UPDATE|DELETE)\s#iA', $sql, $m) ? strtolower($m[1]) : null;
128+
if (!$error && $this->explain && $command === 'select') {
128129
try {
129130
$cmd = is_string($this->explain) ? $this->explain : 'EXPLAIN';
130131
$explain = $connection->queryArgs("$cmd $sql", $params)->fetchAll();
131132
} catch (\PDOException $e) {
132133
}
133134
}
135+
$query[] = $command;
134136
$query[] = $explain;
135137
$queries[] = $query;
136138
}

src/Bridges/DatabaseTracy/templates/ConnectionPanel.panel.phtml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ use Tracy\Helpers;
1212
#tracy-debug td.nette-DbConnectionPanel-sql { background: white !important }
1313
#tracy-debug .nette-DbConnectionPanel-source { color: #BBB !important }
1414
#tracy-debug .nette-DbConnectionPanel-explain td { white-space: pre }
15+
#tracy-debug td.nette-DbConnectionPanel-sql-insert { background: #E7ffE7 !important }
16+
#tracy-debug td.nette-DbConnectionPanel-sql-delete { background: #FFE7E7 !important }
17+
#tracy-debug td.nette-DbConnectionPanel-sql-update { background: #E7FBFF !important }
1518
</style>
1619

1720
<h1 title="<?= Helpers::escapeHtml($connection->getDsn()) ?>">Queries: <?php
@@ -23,7 +26,7 @@ use Tracy\Helpers;
2326
<tr><th>Time&nbsp;ms</th><th>SQL Query</th><th>Rows</th></tr>
2427
<?php
2528
foreach ($queries as $query):
26-
[$connection, $sql, $params, $source, $time, $rows, $error, $explain] = $query;
29+
[$connection, $sql, $params, $source, $time, $rows, $error, $command, $explain] = $query;
2730
?>
2831
<tr>
2932
<td>
@@ -34,7 +37,7 @@ use Tracy\Helpers;
3437
<br /><a class="tracy-toggle tracy-collapsed" data-tracy-ref="^tr .nette-DbConnectionPanel-explain">explain</a>
3538
<?php endif ?>
3639
</td>
37-
<td class="nette-DbConnectionPanel-sql"><?= DbHelpers::dumpSql($sql, $params, $connection) ?>
40+
<td class="nette-DbConnectionPanel-sql nette-DbConnectionPanel-sql-<?= Helpers::escapeHtml($command) ?>"><?= DbHelpers::dumpSql($sql, $params, $connection) ?>
3841
<?php if ($explain): ?>
3942
<table class="tracy-collapsed nette-DbConnectionPanel-explain">
4043
<tr>

0 commit comments

Comments
 (0)