oracle provider: handle NULL geometry in case of multiple geometry columns

This commit is contained in:
Juergen E. Fischer 2016-04-03 01:46:19 +02:00
parent 59de73ac3b
commit c93187d78c

View File

@ -275,6 +275,8 @@ bool QgsOracleFeatureIterator::fetchFeature( QgsFeature& feature )
if ( fld.type() == QVariant::ByteArray && fld.typeName().endsWith( ".SDO_GEOMETRY" ) )
{
QByteArray *ba = static_cast<QByteArray*>( v.data() );
if ( ba->size() > 0 )
{
unsigned char *copy = new unsigned char[ba->size()];
memcpy( copy, ba->constData(), ba->size() );
@ -283,6 +285,11 @@ bool QgsOracleFeatureIterator::fetchFeature( QgsFeature& feature )
v = g->exportToWkt();
delete g;
}
else
{
v = QVariant( QVariant::String );
}
}
else if ( v.type() != fld.type() )
v = QgsVectorDataProvider::convertValue( fld.type(), v.toString() );
feature.setAttribute( idx, v );