diff --git a/src/providers/mssql/qgsmssqlprovider.cpp b/src/providers/mssql/qgsmssqlprovider.cpp index 0c76d3543d0..ceea53d6b80 100644 --- a/src/providers/mssql/qgsmssqlprovider.cpp +++ b/src/providers/mssql/qgsmssqlprovider.cpp @@ -960,6 +960,9 @@ bool QgsMssqlProvider::addAttributes( const QList &attributes ) { QString statement; + if ( attributes.count() == 0 ) + return true; + for ( QList::const_iterator it = attributes.begin(); it != attributes.end(); ++it ) { QString type = it->typeName(); diff --git a/src/providers/postgres/qgspostgresprovider.cpp b/src/providers/postgres/qgspostgresprovider.cpp index 561bfb5d5b1..16ae6534a08 100644 --- a/src/providers/postgres/qgspostgresprovider.cpp +++ b/src/providers/postgres/qgspostgresprovider.cpp @@ -1938,6 +1938,9 @@ bool QgsPostgresProvider::addAttributes( const QList &attributes ) if ( mIsQuery ) return false; + if ( attributes.count() == 0 ) + return true; + QgsPostgresConn* conn = connectionRW(); if ( !conn ) { diff --git a/src/providers/spatialite/qgsspatialiteprovider.cpp b/src/providers/spatialite/qgsspatialiteprovider.cpp index 4a4bf51b68b..2f09138f8b3 100644 --- a/src/providers/spatialite/qgsspatialiteprovider.cpp +++ b/src/providers/spatialite/qgsspatialiteprovider.cpp @@ -3797,6 +3797,9 @@ bool QgsSpatiaLiteProvider::addAttributes( const QList &attributes ) bool toCommit = false; QString sql; + if ( attributes.count() == 0 ) + return true; + int ret = sqlite3_exec( sqliteHandle, "BEGIN", NULL, NULL, &errMsg ); if ( ret != SQLITE_OK ) {