mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-27 00:33:48 -05:00
oracle provider: optionally use extents from metadata table (implements #8850)
This commit is contained in:
parent
e3e22be36f
commit
45fea7b461
@ -1993,6 +1993,28 @@ QgsRectangle QgsOracleProvider::extent()
|
||||
QString sql;
|
||||
QSqlQuery qry( *mConnection );
|
||||
|
||||
if ( mUseEstimatedMetadata )
|
||||
{
|
||||
if ( exec( qry, QString( "SELECT sdo_lb,sdo_ub FROM mdsys.all_sdo_geom_metadata m, table(m.diminfo) WHERE owner=%1 AND table_name=%2 AND column_name=%3 AND sdo_dimname='X'" )
|
||||
.arg( quotedValue( mOwnerName ) )
|
||||
.arg( quotedValue( mTableName ) )
|
||||
.arg( quotedValue( mGeometryColumn ) ) ) && qry.next() )
|
||||
{
|
||||
mLayerExtent.setXMinimum( qry.value( 0 ).toDouble() );
|
||||
mLayerExtent.setXMaximum( qry.value( 1 ).toDouble() );
|
||||
|
||||
if ( exec( qry, QString( "SELECT sdo_lb,sdo_ub FROM mdsys.all_sdo_geom_metadata m, table(m.diminfo) WHERE owner=%1 AND table_name=%2 AND column_name=%3 AND sdo_dimname='Y'" )
|
||||
.arg( quotedValue( mOwnerName ) )
|
||||
.arg( quotedValue( mTableName ) )
|
||||
.arg( quotedValue( mGeometryColumn ) ) ) && qry.next() )
|
||||
{
|
||||
mLayerExtent.setYMinimum( qry.value( 0 ).toDouble() );
|
||||
mLayerExtent.setYMaximum( qry.value( 1 ).toDouble() );
|
||||
return mLayerExtent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool ok = false;
|
||||
|
||||
if ( !mSpatialIndex.isNull() && ( mUseEstimatedMetadata || mSqlWhereClause.isEmpty() ) )
|
||||
|
Loading…
x
Reference in New Issue
Block a user