Skip to content

Commit 6f2ade7

Browse files
committedJan 15, 2012
error logging:
- fix key message in postgres provider - add logging of errors to spatialite provider - log commit errors in vector layer
1 parent 64a0f7f commit 6f2ade7

File tree

3 files changed

+37
-35
lines changed

3 files changed

+37
-35
lines changed
 

‎src/core/qgsvectorlayer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
#include "qgsgeometry.h"
5151
#include "qgslabel.h"
5252
#include "qgslogger.h"
53+
#include "qgsmessagelog.h"
5354
#include "qgsmaptopixel.h"
5455
#include "qgspoint.h"
5556
#include "qgsproviderregistry.h"
@@ -3865,7 +3866,8 @@ bool QgsVectorLayer::commitChanges()
38653866

38663867
updateFieldMap();
38673868
mDataProvider->updateExtents();
3868-
QgsDebugMsg( "result:\n " + mCommitErrors.join( "\n " ) );
3869+
3870+
QgsMessageLog::logMessage( tr( "Commit errors:\n%1" ).arg( mCommitErrors.join( "\n" ) ) );
38693871

38703872
return success;
38713873
}

‎src/providers/postgres/qgspostgresprovider.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1398,9 +1398,12 @@ bool QgsPostgresProvider::determinePrimaryKey()
13981398
{
13991399
mPrimaryKeyType = pktTid;
14001400
}
1401+
else
1402+
{
1403+
QgsMessageLog::logMessage( tr( "The table has no column suitable for use as a key. Quantum GIS requires a primary key, a PostgreSQL oid column or a ctid for tables." ), tr( "PostGIS" ) );
1404+
}
14011405
}
14021406

1403-
QgsMessageLog::logMessage( tr( "The table has no column suitable for use as a key. Quantum GIS requires a primary key, a PostgreSQL oid column or a ctid for tables." ), tr( "PostGIS" ) );
14041407
}
14051408
else if ( type == "v" ) // the relation is a view
14061409
{

‎src/providers/spatialite/qgsspatialiteprovider.cpp

Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ email : a.furieri@lqt.it
2222
#include <qgsmessageoutput.h>
2323
#include <qgsrectangle.h>
2424
#include <qgscoordinatereferencesystem.h>
25-
#include "qgsvectorlayerimport.h"
2625

26+
#include "qgsvectorlayerimport.h"
2727
#include "qgsspatialiteprovider.h"
28-
2928
#include "qgslogger.h"
29+
#include "qgsmessagelog.h"
3030

3131
#include <QFileInfo>
3232
#include <QDir>
@@ -572,9 +572,7 @@ void QgsSpatiaLiteProvider::loadFields()
572572
if ( sqlite3_prepare_v2( sqliteHandle, sql.toUtf8().constData(), -1, &stmt, NULL ) != SQLITE_OK )
573573
{
574574
// some error occurred
575-
QgsDebugMsg( QString( "SQLite error: %1\n\nSQL: %2" )
576-
.arg( sql )
577-
.arg( QString::fromUtf8( sqlite3_errmsg( sqliteHandle ) ) ) );
575+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( sqlite3_errmsg( sqliteHandle ) ), tr( "SpatiaLite" ) );
578576
return;
579577
}
580578

@@ -642,10 +640,10 @@ void QgsSpatiaLiteProvider::loadFields()
642640
return;
643641

644642
error:
643+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ? errMsg : tr( "unknown cause" ) ), tr( "SpatiaLite" ) );
645644
// unexpected error
646645
if ( errMsg != NULL )
647646
{
648-
QgsDebugMsg( QString( "SQL error: %1" ).arg( QString::fromUtf8( errMsg ) ) );
649647
sqlite3_free( errMsg );
650648
}
651649
}
@@ -840,7 +838,7 @@ bool QgsSpatiaLiteProvider::getFeature( sqlite3_stmt *stmt, bool fetchGeometry,
840838
else
841839
{
842840
// some unexpected error occurred
843-
QgsDebugMsg( QString( "sqlite3_step() error: %1" ).arg( QString::fromUtf8( sqlite3_errmsg( sqliteHandle ) ) ) );
841+
QgsMessageLog::logMessage( tr( "SQLite error getting feature: %1" ).arg( QString::fromUtf8( sqlite3_errmsg( sqliteHandle ) ) ), tr( "SpatiaLite" ) );
844842
return false;
845843
}
846844

@@ -3290,7 +3288,7 @@ bool QgsSpatiaLiteProvider::prepareStatement(
32903288
if ( sqlite3_prepare_v2( sqliteHandle, sql.toUtf8().constData(), -1, &stmt, NULL ) != SQLITE_OK )
32913289
{
32923290
// some error occurred
3293-
QgsDebugMsg( QString( "SQLite error: %1\n\nSQL: %2" ).arg( sql ).arg( QString::fromUtf8( sqlite3_errmsg( sqliteHandle ) ) ) );
3291+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( sqlite3_errmsg( sqliteHandle ) ), tr( "SpatiaLite" ) );
32943292
return false;
32953293
}
32963294

@@ -3421,10 +3419,10 @@ QVariant QgsSpatiaLiteProvider::minimumValue( int index )
34213419
}
34223420

34233421
error:
3422+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ? errMsg : tr( "unknown cause" ) ), tr( "SpatiaLite" ) );
34243423
// unexpected error
34253424
if ( errMsg != NULL )
34263425
{
3427-
QgsDebugMsg( QString( "SQL error: %1" ).arg( QString::fromUtf8( errMsg ) ) );
34283426
sqlite3_free( errMsg );
34293427
}
34303428
return QVariant( QString::null );
@@ -3476,10 +3474,10 @@ QVariant QgsSpatiaLiteProvider::maximumValue( int index )
34763474
}
34773475

34783476
error:
3477+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ? errMsg : tr( "unknown cause" ) ), tr( "SpatiaLite" ) );
34793478
// unexpected error
34803479
if ( errMsg != NULL )
34813480
{
3482-
QgsDebugMsg( QString( "SQL error: %1" ).arg( QString::fromUtf8( errMsg ) ) );
34833481
sqlite3_free( errMsg );
34843482
}
34853483
return QVariant( QString::null );
@@ -3518,7 +3516,7 @@ void QgsSpatiaLiteProvider::uniqueValues( int index, QList < QVariant > &uniqueV
35183516
if ( sqlite3_prepare_v2( sqliteHandle, sql.toUtf8().constData(), -1, &stmt, NULL ) != SQLITE_OK )
35193517
{
35203518
// some error occurred
3521-
QgsDebugMsg( QString( "SQLite error: %1\n\nSQL: %2" ).arg( sql ).arg( QString::fromUtf8( sqlite3_errmsg( sqliteHandle ) ) ) );
3519+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( sqlite3_errmsg( sqliteHandle ) ), tr( "SpatiaLite" ) );
35223520
return;
35233521
}
35243522

@@ -3554,7 +3552,7 @@ void QgsSpatiaLiteProvider::uniqueValues( int index, QList < QVariant > &uniqueV
35543552
}
35553553
else
35563554
{
3557-
QgsDebugMsg( QString( "SQL error:\n%1\n%2" ).arg( sql ).arg( QString::fromUtf8( sqlite3_errmsg( sqliteHandle ) ) ) );
3555+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( sqlite3_errmsg( sqliteHandle ) ), tr( "SpatiaLite" ) );
35583556
sqlite3_finalize( stmt );
35593557
return;
35603558
}
@@ -3627,7 +3625,7 @@ bool QgsSpatiaLiteProvider::addFeatures( QgsFeatureList & flist )
36273625
if ( sqlite3_prepare_v2( sqliteHandle, sql.toUtf8().constData(), -1, &stmt, NULL ) != SQLITE_OK )
36283626
{
36293627
// some error occurred
3630-
QgsDebugMsg( QString( "SQLite error: %1\n\nSQL: %2" ).arg( sql ).arg( sqlite3_errmsg( sqliteHandle ) ) );
3628+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( sqlite3_errmsg( sqliteHandle ) ), tr( "SpatiaLite" ) );
36313629
return false;
36323630
}
36333631

@@ -3727,7 +3725,7 @@ bool QgsSpatiaLiteProvider::addFeatures( QgsFeatureList & flist )
37273725
return true;
37283726

37293727
abort:
3730-
QgsDebugMsg( QString( "SQL error:\n%1\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
3728+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ? errMsg : tr( "unknown cause" ) ), tr( "SpatiaLite" ) );
37313729
if ( errMsg )
37323730
{
37333731
sqlite3_free( errMsg );
@@ -3763,7 +3761,7 @@ bool QgsSpatiaLiteProvider::deleteFeatures( const QgsFeatureIds &id )
37633761
if ( sqlite3_prepare_v2( sqliteHandle, sql.toUtf8().constData(), -1, &stmt, NULL ) != SQLITE_OK )
37643762
{
37653763
// some error occurred
3766-
QgsDebugMsg( QString( "SQLite error: %1\n\nSQL: %2" ).arg( sql ).arg( QString::fromUtf8( sqlite3_errmsg( sqliteHandle ) ) ) );
3764+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( sqlite3_errmsg( sqliteHandle ) ), tr( "SpatiaLite" ) );
37673765
return false;
37683766
}
37693767

@@ -3805,7 +3803,7 @@ bool QgsSpatiaLiteProvider::deleteFeatures( const QgsFeatureIds &id )
38053803
return true;
38063804

38073805
abort:
3808-
QgsDebugMsg( QString( "SQL error:\n%1\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
3806+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ? errMsg : tr( "unknown cause" ) ), tr( "SpatiaLite" ) );
38093807
if ( errMsg )
38103808
{
38113809
sqlite3_free( errMsg );
@@ -3861,7 +3859,7 @@ bool QgsSpatiaLiteProvider::addAttributes( const QList<QgsField> &attributes )
38613859
return true;
38623860

38633861
abort:
3864-
QgsDebugMsg( QString( "SQL error:\n%1\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
3862+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ? errMsg : tr( "unknown cause" ) ), tr( "SpatiaLite" ) );
38653863
if ( errMsg )
38663864
{
38673865
sqlite3_free( errMsg );
@@ -3956,7 +3954,7 @@ bool QgsSpatiaLiteProvider::changeAttributeValues( const QgsChangedAttributesMap
39563954
return true;
39573955

39583956
abort:
3959-
QgsDebugMsg( QString( "SQL error:\n%1\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
3957+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ? errMsg : tr( "unknown cause" ) ), tr( "SpatiaLite" ) );
39603958
if ( errMsg )
39613959
{
39623960
sqlite3_free( errMsg );
@@ -3996,7 +3994,7 @@ bool QgsSpatiaLiteProvider::changeGeometryValues( QgsGeometryMap & geometry_map
39963994
if ( sqlite3_prepare_v2( sqliteHandle, sql.toUtf8().constData(), -1, &stmt, NULL ) != SQLITE_OK )
39973995
{
39983996
// some error occurred
3999-
QgsDebugMsg( QString( "SQLite error: %1\n\nSQL: %2" ).arg( sql ).arg( QString::fromUtf8( sqlite3_errmsg( sqliteHandle ) ) ) );
3997+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( sqlite3_errmsg( sqliteHandle ) ), tr( "SpatiaLite" ) );
40003998
return false;
40013999
}
40024000

@@ -4048,7 +4046,7 @@ bool QgsSpatiaLiteProvider::changeGeometryValues( QgsGeometryMap & geometry_map
40484046
return true;
40494047

40504048
abort:
4051-
QgsDebugMsg( QString( "SQL error:\n%1\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
4049+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ? errMsg : tr( "unknown cause" ) ), tr( "SpatiaLite" ) );
40524050
if ( errMsg )
40534051
{
40544052
sqlite3_free( errMsg );
@@ -4063,7 +4061,6 @@ bool QgsSpatiaLiteProvider::changeGeometryValues( QgsGeometryMap & geometry_map
40634061
return false;
40644062
}
40654063

4066-
40674064
int QgsSpatiaLiteProvider::capabilities() const
40684065
{
40694066
return enabledCapabilities;
@@ -4240,7 +4237,7 @@ bool QgsSpatiaLiteProvider::checkLayerType()
42404237
}
42414238
if ( errMsg )
42424239
{
4243-
QgsDebugMsg( QString( "sqlite error %1 [%2]" ).arg( sql ).arg( errMsg ) );
4240+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
42444241
sqlite3_free( errMsg );
42454242
errMsg = 0;
42464243
}
@@ -4279,7 +4276,7 @@ bool QgsSpatiaLiteProvider::checkLayerType()
42794276
}
42804277
if ( errMsg )
42814278
{
4282-
QgsDebugMsg( QString( "sqlite error %1 [%2]" ).arg( sql ).arg( errMsg ) );
4279+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
42834280
sqlite3_free( errMsg );
42844281
errMsg = 0;
42854282
}
@@ -4323,7 +4320,7 @@ bool QgsSpatiaLiteProvider::checkLayerType()
43234320
}
43244321
if ( errMsg )
43254322
{
4326-
QgsDebugMsg( QString( "sqlite error %1 [%2]" ).arg( sql ).arg( errMsg ) );
4323+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
43274324
sqlite3_free( errMsg );
43284325
errMsg = 0;
43294326
}
@@ -4343,7 +4340,7 @@ bool QgsSpatiaLiteProvider::checkLayerType()
43434340
}
43444341
if ( errMsg )
43454342
{
4346-
QgsDebugMsg( QString( "sqlite error %1 [%2]" ).arg( sql ).arg( errMsg ) );
4343+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
43474344
sqlite3_free( errMsg );
43484345
errMsg = 0;
43494346
}
@@ -4363,7 +4360,7 @@ bool QgsSpatiaLiteProvider::checkLayerType()
43634360
}
43644361
if ( errMsg )
43654362
{
4366-
QgsDebugMsg( QString( "sqlite error %1 [%2]" ).arg( sql ).arg( errMsg ) );
4363+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
43674364
sqlite3_free( errMsg );
43684365
errMsg = 0;
43694366
}
@@ -4489,10 +4486,10 @@ bool QgsSpatiaLiteProvider::getTableGeometryDetails()
44894486
return getSridDetails();
44904487

44914488
error:
4489+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ? errMsg : tr( "unknown cause" ) ), tr( "SpatiaLite" ) );
44924490
// unexpected error
44934491
if ( errMsg != NULL )
44944492
{
4495-
QgsDebugMsg( QString( "SQL error: %1\n\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
44964493
sqlite3_free( errMsg );
44974494
}
44984495
return false;
@@ -4575,7 +4572,7 @@ bool QgsSpatiaLiteProvider::getViewGeometryDetails()
45754572
// unexpected error
45764573
if ( errMsg != NULL )
45774574
{
4578-
QgsDebugMsg( QString( "SQL error: %1\n\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
4575+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
45794576
sqlite3_free( errMsg );
45804577
}
45814578
return false;
@@ -4645,7 +4642,7 @@ bool QgsSpatiaLiteProvider::getVShapeGeometryDetails()
46454642
// unexpected error
46464643
if ( errMsg != NULL )
46474644
{
4648-
QgsDebugMsg( QString( "SQL error: %1\n\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
4645+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
46494646
sqlite3_free( errMsg );
46504647
}
46514648
return false;
@@ -4761,7 +4758,7 @@ bool QgsSpatiaLiteProvider::getQueryGeometryDetails()
47614758
// unexpected error
47624759
if ( errMsg != NULL )
47634760
{
4764-
QgsDebugMsg( QString( "SQL error: %1\n\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
4761+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
47654762
sqlite3_free( errMsg );
47664763
}
47674764
return false;
@@ -4798,7 +4795,7 @@ bool QgsSpatiaLiteProvider::getSridDetails()
47984795
// unexpected error
47994796
if ( errMsg != NULL )
48004797
{
4801-
QgsDebugMsg( QString( "SQL error: %1\n\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
4798+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
48024799
sqlite3_free( errMsg );
48034800
}
48044801
return false;
@@ -4849,7 +4846,7 @@ bool QgsSpatiaLiteProvider::getTableSummary()
48494846
// unexpected error
48504847
if ( errMsg != NULL )
48514848
{
4852-
QgsDebugMsg( QString( "SQL error: %1\n\n%2" ).arg( sql ).arg( errMsg ? QString::fromUtf8( errMsg ) : "unknown cause" ) );
4849+
QgsMessageLog::logMessage( tr( "SQLite error: %2\nSQL: %1" ).arg( sql ).arg( errMsg ), tr( "SpatiaLite" ) );
48534850
sqlite3_free( errMsg );
48544851
}
48554852
return false;
@@ -4993,7 +4990,7 @@ QGISEXTERN bool createDb( const QString& dbPath, QString& errCause )
49934990
ret = sqlite3_exec( sqlite_handle, "PRAGMA foreign_keys = 1", NULL, 0, &errMsg );
49944991
if ( ret != SQLITE_OK )
49954992
{
4996-
errCause = QObject::tr( "Unable to activate FOREIGN_KEY constraints" );
4993+
errCause = QObject::tr( "Unable to activate FOREIGN_KEY constraints [%1]" ).arg( errMsg );
49974994
sqlite3_free( errMsg );
49984995
sqlite3_close( sqlite_handle );
49994996
return false;

0 commit comments

Comments
 (0)
Please sign in to comment.