[QGIS Commit] r13379 - in trunk/qgis/src/providers: memory
spatialite
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sun Apr 25 08:47:18 EDT 2010
Author: jef
Date: 2010-04-25 08:47:16 -0400 (Sun, 25 Apr 2010)
New Revision: 13379
Modified:
trunk/qgis/src/providers/memory/qgsmemoryprovider.cpp
trunk/qgis/src/providers/spatialite/qgsspatialiteprovider.cpp
Log:
also set feature validity in featureAtId of memory and spatialite provider
Modified: trunk/qgis/src/providers/memory/qgsmemoryprovider.cpp
===================================================================
--- trunk/qgis/src/providers/memory/qgsmemoryprovider.cpp 2010-04-25 09:05:57 UTC (rev 13378)
+++ trunk/qgis/src/providers/memory/qgsmemoryprovider.cpp 2010-04-25 12:47:16 UTC (rev 13379)
@@ -69,7 +69,7 @@
bool QgsMemoryProvider::nextFeature( QgsFeature& feature )
{
feature.setValid( false );
- bool hasFeature = FALSE;
+ bool hasFeature = false;
// option 1: using spatial index
if ( mSelectUsingSpatialIndex )
@@ -80,10 +80,10 @@
if ( mSelectUseIntersect )
{
if ( mFeatures[*mSelectSI_Iterator].geometry()->intersects( mSelectRectGeom ) )
- hasFeature = TRUE;
+ hasFeature = true;
}
else
- hasFeature = TRUE;
+ hasFeature = true;
if ( hasFeature )
break;
@@ -106,7 +106,7 @@
if ( mSelectRect.isEmpty() )
{
// selection rect empty => using all features
- hasFeature = TRUE;
+ hasFeature = true;
}
else
{
@@ -114,13 +114,13 @@
{
// using exact test when checking for intersection
if ( mSelectIterator->geometry()->intersects( mSelectRectGeom ) )
- hasFeature = TRUE;
+ hasFeature = true;
}
else
{
// check just bounding box against rect when not using intersection
if ( mSelectIterator->geometry()->boundingBox().intersects( mSelectRect ) )
- hasFeature = TRUE;
+ hasFeature = true;
}
}
@@ -147,13 +147,15 @@
bool fetchGeometry,
QgsAttributeList fetchAttributes )
{
+ feature.setValid( false );
QgsFeatureMap::iterator it = mFeatures.find( featureId );
if ( it == mFeatures.end() )
- return FALSE;
+ return false;
feature = *it;
- return TRUE;
+ feature.setValid( true );
+ return true;
}
@@ -173,13 +175,13 @@
// (but don't use it when selection rect is not specified)
if ( mSpatialIndex && !mSelectRect.isEmpty() )
{
- mSelectUsingSpatialIndex = TRUE;
+ mSelectUsingSpatialIndex = true;
mSelectSI_Features = mSpatialIndex->intersects( rect );
QgsDebugMsg( "Features returned by spatial index: " + QString::number( mSelectSI_Features.count() ) );
}
else
{
- mSelectUsingSpatialIndex = FALSE;
+ mSelectUsingSpatialIndex = false;
mSelectSI_Features.clear();
}
@@ -252,7 +254,7 @@
updateExtent();
- return TRUE;
+ return true;
}
bool QgsMemoryProvider::deleteFeatures( const QgsFeatureIds & id )
@@ -274,7 +276,7 @@
updateExtent();
- return TRUE;
+ return true;
}
bool QgsMemoryProvider::addAttributes( const QList<QgsField> &attributes )
@@ -298,14 +300,14 @@
if ( it2.key() > nextId ) nextId = it2.key();
mFields[nextId+1] = *it;
}
- return TRUE;
+ return true;
}
bool QgsMemoryProvider::deleteAttributes( const QgsAttributeIds& attributes )
{
for ( QgsAttributeIds::const_iterator it = attributes.begin(); it != attributes.end(); ++it )
mFields.remove( *it );
- return TRUE;
+ return true;
}
bool QgsMemoryProvider::changeAttributeValues( const QgsChangedAttributesMap & attr_map )
@@ -320,7 +322,7 @@
for ( QgsAttributeMap::const_iterator it2 = attrs.begin(); it2 != attrs.end(); ++it2 )
fit->changeAttribute( it2.key(), it2.value() );
}
- return TRUE;
+ return true;
}
bool QgsMemoryProvider::changeGeometryValues( QgsGeometryMap & geometry_map )
@@ -344,7 +346,7 @@
updateExtent();
- return TRUE;
+ return true;
}
bool QgsMemoryProvider::createSpatialIndex()
@@ -359,7 +361,7 @@
mSpatialIndex->insertFeature( *it );
}
}
- return TRUE;
+ return true;
}
int QgsMemoryProvider::capabilities() const
Modified: trunk/qgis/src/providers/spatialite/qgsspatialiteprovider.cpp
===================================================================
--- trunk/qgis/src/providers/spatialite/qgsspatialiteprovider.cpp 2010-04-25 09:05:57 UTC (rev 13378)
+++ trunk/qgis/src/providers/spatialite/qgsspatialiteprovider.cpp 2010-04-25 12:47:16 UTC (rev 13379)
@@ -222,6 +222,8 @@
{
sqlite3_stmt *stmt = NULL;
+ feature.setValid( false );
+
QString sql = "SELECT ROWID";
for ( QgsAttributeList::const_iterator it = fetchAttributes.constBegin(); it != fetchAttributes.constEnd(); ++it )
{
@@ -347,6 +349,8 @@
}
sqlite3_finalize( stmt );
+ feature.setValid( true );
+
return true;
}
@@ -1433,7 +1437,7 @@
}
// checking the DB for sanity
- if ( checkMetadata( sqlite_handle ) == false )
+ if ( !checkMetadata( sqlite_handle ) )
{
// failure
QgsDebugMsg( QString( "Failure while connecting to: %1\n\ninvalid metadata tables" ).arg( dbPath ) );
More information about the QGIS-commit
mailing list