[spatialite] Represent NULL attributes as QVariant/NULL

Instead of QVariant/Invalid
This commit is contained in:
Matthias Kuhn 2013-08-28 12:22:26 +02:00
parent 52ab06e295
commit 425b8b67d7
2 changed files with 4 additions and 4 deletions

View File

@ -325,14 +325,14 @@ bool QgsSpatiaLiteFeatureIterator::getFeature( sqlite3_stmt *stmt, QgsFeature &f
else
{
int attrIndex = subsetAttributes ? mRequest.subsetOfAttributes()[ic-1] : ic - 1;
feature.setAttribute( attrIndex, getFeatureAttribute( stmt, ic ) );
feature.setAttribute( attrIndex, getFeatureAttribute( stmt, ic, P->attributeFields[attrIndex].type() ) );
}
}
return true;
}
QVariant QgsSpatiaLiteFeatureIterator::getFeatureAttribute( sqlite3_stmt* stmt, int ic )
QVariant QgsSpatiaLiteFeatureIterator::getFeatureAttribute( sqlite3_stmt* stmt, int ic, const QVariant::Type& type )
{
if ( sqlite3_column_type( stmt, ic ) == SQLITE_INTEGER )
{
@ -354,7 +354,7 @@ QVariant QgsSpatiaLiteFeatureIterator::getFeatureAttribute( sqlite3_stmt* stmt,
}
// assuming NULL
return QVariant();
return QVariant( type );
}
void QgsSpatiaLiteFeatureIterator::getFeatureGeometry( sqlite3_stmt* stmt, int ic, QgsFeature& feature )

View File

@ -51,7 +51,7 @@ class QgsSpatiaLiteFeatureIterator : public QgsAbstractFeatureIterator
QString quotedPrimaryKey();
bool getFeature( sqlite3_stmt *stmt, QgsFeature &feature );
QString fieldName( const QgsField& fld );
QVariant getFeatureAttribute( sqlite3_stmt* stmt, int ic );
QVariant getFeatureAttribute( sqlite3_stmt* stmt, int ic, const QVariant::Type& type );
void getFeatureGeometry( sqlite3_stmt* stmt, int ic, QgsFeature& feature );
/**