@@ -1361,8 +1361,6 @@ const StmtNode* EXE_looper(thread_db* tdbb, jrd_req* request, const StmtNode* no
13611361
13621362 SINT64 lastPerfCounter = fb_utils::query_performance_counter ();
13631363 const StmtNode* profileNode = nullptr ;
1364- ULONG lastProfiledLine = node->line ;
1365- ULONG lastProfiledColumn = node->column ;
13661364
13671365 while (node && !(request->req_flags & req_stall))
13681366 {
@@ -1380,24 +1378,22 @@ const StmtNode* EXE_looper(thread_db* tdbb, jrd_req* request, const StmtNode* no
13801378
13811379 if (attachment->isProfilerActive () && !request->hasInternalStatement ())
13821380 {
1383- if (profileNode &&
1384- profileNode-> hasLineColumn &&
1385- profileNode-> isProfileAware () &&
1386- (profileNode ->line != lastProfiledLine || profileNode ->column != lastProfiledColumn ))
1381+ if (node-> hasLineColumn &&
1382+ node-> isProfileAware () &&
1383+ (!profileNode ||
1384+ !(node ->line == profileNode-> line && node ->column == profileNode-> column ) ))
13871385 {
1388- const SINT64 currentPerfCounter = fb_utils::query_performance_counter ();
1386+ if (profileNode)
1387+ {
1388+ const SINT64 currentPerfCounter = fb_utils::query_performance_counter ();
13891389
1390- attachment->getProfilerManager (tdbb)->afterPsqlLineColumn (request,
1391- profileNode->line , profileNode->column ,
1392- currentPerfCounter - lastPerfCounter);
1390+ attachment->getProfilerManager (tdbb)->afterPsqlLineColumn (request,
1391+ profileNode->line , profileNode->column ,
1392+ currentPerfCounter - lastPerfCounter);
13931393
1394- lastPerfCounter = currentPerfCounter;
1395- lastProfiledLine = profileNode->line ;
1396- lastProfiledColumn = profileNode->column ;
1397- }
1394+ lastPerfCounter = currentPerfCounter;
1395+ }
13981396
1399- if (node->hasLineColumn )
1400- {
14011397 profileNode = node;
14021398
14031399 attachment->getProfilerManager (tdbb)->beforePsqlLineColumn (request,
@@ -1448,12 +1444,7 @@ const StmtNode* EXE_looper(thread_db* tdbb, jrd_req* request, const StmtNode* no
14481444 }
14491445 } // while()
14501446
1451- if (attachment->isProfilerActive () &&
1452- !request->hasInternalStatement () &&
1453- profileNode &&
1454- profileNode->hasLineColumn &&
1455- profileNode->isProfileAware () &&
1456- (profileNode->line != lastProfiledLine || profileNode->column != lastProfiledColumn))
1447+ if (attachment->isProfilerActive () && !request->hasInternalStatement () && profileNode)
14571448 {
14581449 const SINT64 currentPerfCounter = fb_utils::query_performance_counter ();
14591450
0 commit comments