10
10
namespace Nette \Bridges \DatabaseTracy ;
11
11
12
12
use Nette ;
13
+ use Nette \Database \Connection ;
13
14
use Nette \Database \Helpers ;
14
15
use Tracy ;
15
16
@@ -43,13 +44,13 @@ class ConnectionPanel implements Tracy\IBarPanel
43
44
private $ queries = [];
44
45
45
46
46
- public function __construct (Nette \ Database \ Connection $ connection )
47
+ public function __construct (Connection $ connection )
47
48
{
48
49
$ connection ->onQuery [] = [$ this , 'logQuery ' ];
49
50
}
50
51
51
52
52
- public function logQuery (Nette \ Database \ Connection $ connection , $ result ): void
53
+ public function logQuery (Connection $ connection , $ result ): void
53
54
{
54
55
if ($ this ->disabled ) {
55
56
return ;
@@ -59,13 +60,11 @@ public function logQuery(Nette\Database\Connection $connection, $result): void
59
60
$ source = null ;
60
61
$ trace = $ result instanceof \PDOException ? $ result ->getTrace () : debug_backtrace (DEBUG_BACKTRACE_IGNORE_ARGS );
61
62
foreach ($ trace as $ row ) {
62
- if (isset ($ row ['file ' ]) && is_file ($ row ['file ' ]) && !Tracy \Debugger::getBluescreen ()->isCollapsed ($ row ['file ' ])) {
63
- if (
64
- (strpos ($ row ['function ' ] ?? '' , 'call_user_func ' ) === 0 )
65
- || (is_subclass_of ($ row ['class ' ] ?? '' , '\\Nette \\Database \\Connection ' ))
66
- ) {
67
- continue ;
68
- }
63
+ if (
64
+ (isset ($ row ['file ' ]) && is_file ($ row ['file ' ]) && !Tracy \Debugger::getBluescreen ()->isCollapsed ($ row ['file ' ]))
65
+ && ($ row ['class ' ] ?? '' ) !== self ::class
66
+ && !is_a ($ row ['class ' ] ?? '' , Connection::class, true )
67
+ ) {
69
68
$ source = [$ row ['file ' ], (int ) $ row ['line ' ]];
70
69
break ;
71
70
}
0 commit comments