Skip to content

Commit bdd4388

Browse files
committed
oracle provider: also retrieve pk candidates for geometryless views (fixes #11963)
1 parent 9c6fe06 commit bdd4388

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

src/providers/oracle/qgsoracleconn.cpp

+13-13
Original file line numberDiff line numberDiff line change
@@ -361,11 +361,22 @@ QString QgsOracleConn::fieldExpression( const QgsField &fld )
361361

362362
void QgsOracleConn::retrieveLayerTypes( QgsOracleLayerProperty &layerProperty, bool useEstimatedMetadata, bool onlyExistingTypes )
363363
{
364+
QgsDebugMsg( "entering: " + layerProperty.toString() );
365+
366+
if ( layerProperty.isView )
367+
{
368+
layerProperty.pkCols = pkCandidates( layerProperty.ownerName, layerProperty.tableName );
369+
if ( layerProperty.pkCols.isEmpty() )
370+
{
371+
QgsMessageLog::logMessage( tr( "View %1.%2 doesn't have integer columns for use as keys." )
372+
.arg( layerProperty.ownerName ).arg( layerProperty.tableName ),
373+
tr( "Oracle" ) );
374+
}
375+
}
376+
364377
if ( layerProperty.geometryColName.isEmpty() )
365378
return;
366379

367-
QgsDebugMsg( "entering: " + layerProperty.toString() );
368-
369380
QString table;
370381
QString where;
371382

@@ -466,17 +477,6 @@ void QgsOracleConn::retrieveLayerTypes( QgsOracleLayerProperty &layerProperty, b
466477
layerProperty.srids << ( srids.size() == 1 ? *srids.constBegin() : 0 );
467478
}
468479

469-
if ( layerProperty.isView )
470-
{
471-
layerProperty.pkCols = pkCandidates( layerProperty.ownerName, layerProperty.tableName );
472-
if ( layerProperty.pkCols.isEmpty() )
473-
{
474-
QgsMessageLog::logMessage( tr( "View %1.%2 doesn't have integer columns for use as keys." )
475-
.arg( layerProperty.ownerName ).arg( layerProperty.tableName ),
476-
tr( "Oracle" ) );
477-
}
478-
}
479-
480480
QgsDebugMsg( "leaving." );
481481
}
482482

0 commit comments

Comments
 (0)