fix oracle provider (followup 5be0ee7)

This commit is contained in:
Juergen E. Fischer 2015-07-30 09:31:28 +02:00
parent 2887a4ae57
commit fe50327b28
2 changed files with 10 additions and 5 deletions

View File

@ -33,6 +33,7 @@ MACRO (PLUGIN_INSTALL plugin subdir )
ADD_DEPENDENCIES(staged-plugins zzz-${plugin}-stageinstall)
ADD_CUSTOM_TARGET(staged-${plugin} DEPENDS zzz-${plugin}-stageinstall)
FILE(WRITE ${_cmake} "")
ENDIF(NOT TARGET zzz-${plugin}-stageinstall)
ADD_CUSTOM_TARGET(zzz-${plugin}-${n}-depend DEPENDS ${ARGN})

View File

@ -46,7 +46,7 @@ QgsOracleFeatureIterator::QgsOracleFeatureIterator( QgsOracleFeatureSource* sour
QString whereClause;
if ( !mRequest.filterRect().isNull && !mSource->mGeometryColumn.isNull() && mSource->mHasSpatialIndex )
if ( !mRequest.filterRect().isNull() && !mSource->mGeometryColumn.isNull() && mSource->mHasSpatialIndex )
{
QgsRectangle rect( mRequest.filterRect() );
QString bbox = QString( "mdsys.sdo_geometry(2003,%1,NULL,"
@ -72,14 +72,18 @@ QgsOracleFeatureIterator::QgsOracleFeatureIterator( QgsOracleFeatureSource* sour
switch ( request.filterType() )
{
case QgsFeatureRequest::FilterFid:
{
QString fidWhereClause = QgsOracleUtils::whereClause( request.filterFid(), mSource->mFields, mSource->mPrimaryKeyType, mSource->mPrimaryKeyAttrs, mSource->mShared );
whereClause = QgsPostgresUtils::andWhereClauses( whereClause, fidWhereClause );
break;
whereClause = QgsOracleUtils::andWhereClauses( whereClause, fidWhereClause );
}
break;
case QgsFeatureRequest::FilterFids:
{
QString fidsWhereClause = QgsOracleUtils::whereClause( request.filterFids(), mSource->mFields, mSource->mPrimaryKeyType, mSource->mPrimaryKeyAttrs, mSource->mShared );
whereClause = QgsPostgresUtils::andWhereClauses( whereClause, fidsWhereClause );
break;
whereClause = QgsOracleUtils::andWhereClauses( whereClause, fidsWhereClause );
}
break;
case QgsFeatureRequest::FilterNone:
break;