@@ -490,29 +490,23 @@ void QOCISpatialResultPrivate::setStatementAttributes()
490490
491491 int r = OCI_SUCCESS ;
492492
493- if ( prefetchRows >= 0 )
494- {
495- r = OCIAttrSet ( sql,
496- OCI_HTYPE_STMT ,
497- &prefetchRows,
498- 0 ,
499- OCI_ATTR_PREFETCH_ROWS ,
500- err );
501- if ( r != OCI_SUCCESS )
502- qOraWarning ( " Couldn't set OCI_ATTR_PREFETCH_ROWS: " , err );
503- }
504- if ( prefetchMem >= 0 )
505- {
506- r = OCIAttrSet ( sql,
507- OCI_HTYPE_STMT ,
508- &prefetchMem,
509- 0 ,
510- OCI_ATTR_PREFETCH_MEMORY ,
511- err );
512- if ( r != OCI_SUCCESS )
513- qOraWarning ( " QOCISpatialResultPrivate::setStatementAttributes:"
514- " Couldn't set OCI_ATTR_PREFETCH_MEMORY: " , err );
515- }
493+ r = OCIAttrSet ( sql,
494+ OCI_HTYPE_STMT ,
495+ &prefetchRows,
496+ 0 ,
497+ OCI_ATTR_PREFETCH_ROWS ,
498+ err );
499+ if ( r != OCI_SUCCESS )
500+ qOraWarning ( " Couldn't set OCI_ATTR_PREFETCH_ROWS: " , err );
501+ r = OCIAttrSet ( sql,
502+ OCI_HTYPE_STMT ,
503+ &prefetchMem,
504+ 0 ,
505+ OCI_ATTR_PREFETCH_MEMORY ,
506+ err );
507+ if ( r != OCI_SUCCESS )
508+ qOraWarning ( " QOCISpatialResultPrivate::setStatementAttributes:"
509+ " Couldn't set OCI_ATTR_PREFETCH_MEMORY: " , err );
516510}
517511
518512int QOCISpatialResultPrivate::bindValue ( OCIStmt *sql, OCIBind **hbnd, OCIError *err, int pos,
@@ -3832,15 +3826,19 @@ static void qParseOpts( const QString &options, QOCISpatialDriverPrivate *d )
38323826 bool ok;
38333827 if ( opt == QLatin1String ( " OCI_ATTR_PREFETCH_ROWS" ) )
38343828 {
3835- d-> prefetchRows = val.toInt ( &ok );
3829+ int intVal = val.toInt ( &ok );
38363830 if ( !ok )
38373831 d->prefetchRows = QOCISPATIAL_PREFETCH_ROWS ;
3832+ else if ( intVal >= 0 )
3833+ d->prefetchRows = static_cast <ub4>( intVal );
38383834 }
38393835 else if ( opt == QLatin1String ( " OCI_ATTR_PREFETCH_MEMORY" ) )
38403836 {
3841- d-> prefetchMem = val.toInt ( &ok );
3837+ int intVal = val.toInt ( &ok );
38423838 if ( !ok )
38433839 d->prefetchMem = QOCISPATIAL_PREFETCH_MEM ;
3840+ else if ( intVal >= 0 )
3841+ d->prefetchMem = static_cast <ub4>( intVal );
38443842 }
38453843 else
38463844 {
0 commit comments