Skip to content

Commit 1a85129

Browse files
committedJun 11, 2014
Merge pull request #1406 from m-kuhn/spatialite-fix
[spatialite] Update layer statistics after adding new columns
2 parents d20c569 + 0d7204c commit 1a85129

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed
 

‎cmake/FindSPATIALITE.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ IF (SPATIALITE_FOUND)
6969
SET(CMAKE_REQUIRED_LIBRARIES "-F/Library/Frameworks" ${CMAKE_REQUIRED_LIBRARIES})
7070
ENDIF(APPLE)
7171
check_library_exists("${SPATIALITE_LIBRARY}" gaiaDropTable "" SPATIALITE_VERSION_GE_4_0_0)
72+
check_library_exists("${SPATIALITE_LIBRARY}" gaiaStatisticsInvalidate "" SPATIALITE_VERSION_G_4_1_1)
7273

7374
ELSE (SPATIALITE_FOUND)
7475

‎src/providers/spatialite/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ QT4_WRAP_CPP(SPATIALITE_MOC_SRCS ${SPATIALITE_MOC_HDRS})
3333
IF(SPATIALITE_VERSION_GE_4_0_0)
3434
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSPATIALITE_VERSION_GE_4_0_0")
3535
ENDIF(SPATIALITE_VERSION_GE_4_0_0)
36+
IF(SPATIALITE_VERSION_G_4_1_1)
37+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSPATIALITE_VERSION_G_4_1_1")
38+
ENDIF(SPATIALITE_VERSION_G_4_1_1)
3639

3740

3841
INCLUDE_DIRECTORIES(

‎src/providers/spatialite/qgsspatialiteprovider.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3827,6 +3827,16 @@ bool QgsSpatiaLiteProvider::addAttributes( const QList<QgsField> &attributes )
38273827
// some error occurred
38283828
goto abort;
38293829
}
3830+
#ifdef SPATIALITE_VERSION_GE_4_0_0
3831+
sql = QString( "UPDATE geometry_columns_statistics set last_verified = 0 WHERE f_table_name=\"%1\" AND f_geometry_column=\"%2\";" )
3832+
.arg( mTableName )
3833+
.arg( mGeometryColumn );
3834+
ret = sqlite3_exec( sqliteHandle, sql.toUtf8().constData(), NULL, NULL, &errMsg );
3835+
update_layer_statistics( sqliteHandle, mTableName.toUtf8().constData(), mGeometryColumn.toUtf8().constData() );
3836+
#elif SPATIALITE_VERSION_G_4_1_1
3837+
gaiaStatisticsInvalidate( sqliteHandle, tableName.toUtf8().constData(), mGeometryColumn.toUtf8().constData() );
3838+
update_layer_statistics( sqliteHandle, mTableName.toUtf8().constData(), mGeometryColumn.toUtf8().constData() );
3839+
#endif
38303840

38313841
// reload columns
38323842
loadFields();

0 commit comments

Comments
 (0)
Please sign in to comment.