mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-07 00:15:48 -04:00
Install query logger only when needed
This commit is contained in:
parent
43de538d95
commit
b4d73caba8
@ -277,22 +277,25 @@ QgsOgrFeatureIterator::QgsOgrFeatureIterator( QgsOgrFeatureSource *source, bool
|
||||
std::sort( mRequestAttributes.begin(), mRequestAttributes.end() );
|
||||
}
|
||||
|
||||
// Install query logger
|
||||
#if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(3,7,0)
|
||||
GDALDatasetSetQueryLoggerFunc( mConn->ds, [ ]( const char *pszSQL, const char *pszError, int64_t lNumRecords, int64_t lExecutionTimeMilliseconds, void *pQueryLoggerArg )
|
||||
// Install query logger
|
||||
if ( QgsApplication::databaseQueryLog()->enabled() )
|
||||
{
|
||||
QgsDatabaseQueryLogEntry entry;
|
||||
entry.initiatorClass = QStringLiteral( "QgsOgrFeatureIterator" );
|
||||
entry.origin = QGS_QUERY_LOG_ORIGIN;
|
||||
entry.provider = QStringLiteral( "ogr" );
|
||||
entry.uri = *reinterpret_cast<QString *>( pQueryLoggerArg );
|
||||
entry.query = QString( pszSQL );
|
||||
entry.error = QString( pszError );
|
||||
entry.startedTime = QDateTime::currentMSecsSinceEpoch() - lExecutionTimeMilliseconds;
|
||||
entry.fetchedRows = lNumRecords;
|
||||
QgsApplication::databaseQueryLog()->log( entry );
|
||||
QgsApplication::databaseQueryLog()->finished( entry );
|
||||
}, reinterpret_cast<void *>( &mConn->path ) );
|
||||
GDALDatasetSetQueryLoggerFunc( mConn->ds, [ ]( const char *pszSQL, const char *pszError, int64_t lNumRecords, int64_t lExecutionTimeMilliseconds, void *pQueryLoggerArg )
|
||||
{
|
||||
QgsDatabaseQueryLogEntry entry;
|
||||
entry.initiatorClass = QStringLiteral( "QgsOgrFeatureIterator" );
|
||||
entry.origin = QGS_QUERY_LOG_ORIGIN;
|
||||
entry.provider = QStringLiteral( "ogr" );
|
||||
entry.uri = *reinterpret_cast<QString *>( pQueryLoggerArg );
|
||||
entry.query = QString( pszSQL );
|
||||
entry.error = QString( pszError );
|
||||
entry.startedTime = QDateTime::currentMSecsSinceEpoch() - lExecutionTimeMilliseconds;
|
||||
entry.fetchedRows = lNumRecords;
|
||||
QgsApplication::databaseQueryLog()->log( entry );
|
||||
QgsApplication::databaseQueryLog()->finished( entry );
|
||||
}, reinterpret_cast<void *>( &mConn->path ) );
|
||||
}
|
||||
#endif
|
||||
//start with first feature
|
||||
rewind();
|
||||
|
Loading…
x
Reference in New Issue
Block a user