Skip to content

Commit

Permalink
Fix compiler warnings in QgsHanaConnection
Browse files Browse the repository at this point in the history
  • Loading branch information
mrylov authored and nyalldawson committed May 4, 2021
1 parent 0289cb7 commit 8b35677
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions src/providers/hana/qgshanaconnection.cpp
Expand Up @@ -696,16 +696,15 @@ void QgsHanaConnection::readQueryFields( const QString &schemaName, const QStrin
const std::function<void( const AttributeField &field )> &callback )
{
QMap<QString, QMap<QString, QString>> clmComments;
auto getColumnComments = [&clmComments, &conn = mConnection](
const QString & schemaName, const QString & tableName, const QString & columnName )
auto getColumnComments = [&]( const QString & schemaName, const QString & tableName, const QString & columnName )
{
if ( schemaName.isEmpty() || tableName.isEmpty() || columnName.isEmpty() )
return QString();
const QString key = QStringLiteral( "%1.%2" ).arg( QgsHanaUtils::quotedIdentifier( schemaName ), QgsHanaUtils::quotedIdentifier( tableName ) );
if ( !clmComments.contains( key ) )
{
const char *sql = "SELECT COLUMN_NAME, COMMENTS FROM SYS.TABLE_COLUMNS WHERE SCHEMA_NAME = ? AND TABLE_NAME = ?";
PreparedStatementRef stmt = conn->prepareStatement( sql );
PreparedStatementRef stmt = mConnection->prepareStatement( sql );
stmt->setNString( 1, NString( schemaName.toStdU16String() ) );
stmt->setNString( 2, NString( tableName.toStdU16String() ) );

Expand All @@ -722,14 +721,13 @@ void QgsHanaConnection::readQueryFields( const QString &schemaName, const QStrin
};

QMap<QString, QMap<QString, bool>> clmUniqueness;
auto isColumnUnique = [&clmUniqueness, &conn = mConnection](
const QString & schemaName, const QString & tableName, const QString & columnName )
auto isColumnUnique = [&]( const QString & schemaName, const QString & tableName, const QString & columnName )
{
if ( schemaName.isEmpty() || tableName.isEmpty() || columnName.isEmpty() )
return false;
const QString key = QStringLiteral( "%1.%2" ).arg( QgsHanaUtils::quotedIdentifier( schemaName ), QgsHanaUtils::quotedIdentifier( tableName ) );
if ( !clmUniqueness.contains( key ) )
clmUniqueness.insert( key, getColumnsUniqueness( *conn, schemaName, tableName ) );
clmUniqueness.insert( key, getColumnsUniqueness( *mConnection, schemaName, tableName ) );
return clmUniqueness[key].value( columnName, false );
};

Expand Down

0 comments on commit 8b35677

Please sign in to comment.