From 184bf418ca01d19cd5ffa08ab3dc6b89c5f20a6b Mon Sep 17 00:00:00 2001 From: vmora Date: Wed, 10 Jul 2013 11:13:24 +0200 Subject: [PATCH] - removed useless function getPrimaryKey since a member already exist for that - modified the test to have multiple column primary key (it fails for the moment --- .../spatialite/qgsspatialiteprovider.cpp | 37 +------------------ .../spatialite/qgsspatialiteprovider.h | 4 -- .../src/python/test_qgsspatialiteprovider.py | 2 +- 3 files changed, 2 insertions(+), 41 deletions(-) diff --git a/src/providers/spatialite/qgsspatialiteprovider.cpp b/src/providers/spatialite/qgsspatialiteprovider.cpp index 374774a256c..359a42bf4bf 100644 --- a/src/providers/spatialite/qgsspatialiteprovider.cpp +++ b/src/providers/spatialite/qgsspatialiteprovider.cpp @@ -3506,10 +3506,7 @@ bool QgsSpatiaLiteProvider::addFeatures( QgsFeatureList & flist ) QString values; QString separator; int ia, ret; - - const QString primaryKey = getPrimaryKey(); - if ( flist.size() == 0 ) return true; const QgsAttributes & attributevec = flist[0].attributes(); @@ -3609,7 +3606,7 @@ bool QgsSpatiaLiteProvider::addFeatures( QgsFeatureList & flist ) continue; // replace primary key with NULL so that sqlite will generate one for us - if ( primaryKey == fieldname ) + if ( mPrimaryKey == fieldname ) { v = QVariant(); assert(v.toString().isEmpty()); @@ -5208,35 +5205,3 @@ QGISEXTERN bool deleteLayer( const QString& dbPath, const QString& tableName, QS return true; } -QString QgsSpatiaLiteProvider::getPrimaryKey() -{ - char **results; - int rows; - int columns; - char *errMsg = NULL; - QString sql = QString( "PRAGMA table_info(%1)" ).arg( mQuery ); - - int ret = sqlite3_get_table( sqliteHandle, sql.toUtf8().constData(), &results, &rows, &columns, &errMsg ); - if ( ret != SQLITE_OK ) - { - QgsDebugMsg( "sqlite error: " + QString::fromUtf8( errMsg ) ); - } - - int pkColIdx=0; - for (; (pkColIdx < columns) && (QString("pk") != results[pkColIdx]) ; pkColIdx++){} - assert(pkColIdx