Navigation Menu

Skip to content

Commit

Permalink
oracle provider: refactor uri handling in oracle provider (followup d…
Browse files Browse the repository at this point in the history
  • Loading branch information
jef-n committed Mar 23, 2016
1 parent cf22cab commit 8fdf485
Show file tree
Hide file tree
Showing 9 changed files with 18 additions and 17 deletions.
6 changes: 1 addition & 5 deletions src/providers/oracle/qgsoraclecolumntypethread.cpp
Expand Up @@ -40,11 +40,7 @@ void QgsOracleColumnTypeThread::run()
{
mStopped = false;

QgsDataSourceURI uri = QgsOracleConn::connUri( mName );
QString conninfo = uri.connectionInfo();
if ( uri.hasParam( "dbworkspace" ) )
conninfo += " dbworkspace=" + uri.param( "dbworkspace" );

QString conninfo = QgsOracleConn::toPoolName( QgsOracleConn::connUri( mName ) );
QgsOracleConn *conn = QgsOracleConnPool::instance()->acquireConnection( conninfo );
if ( !conn )
{
Expand Down
13 changes: 9 additions & 4 deletions src/providers/oracle/qgsoracleconn.cpp
Expand Up @@ -33,10 +33,7 @@ const int QgsOracleConn::sGeomTypeSelectLimit = 100;

QgsOracleConn *QgsOracleConn::connectDb( QgsDataSourceURI uri )
{
QString conninfo = uri.connectionInfo();
if ( uri.hasParam( "dbworkspace" ) )
conninfo += " dbworkspace=" + uri.param( "dbworkspace" );

QString conninfo = toPoolName( uri );
if ( sConnections.contains( conninfo ) )
{
QgsDebugMsg( QString( "Using cached connection for %1" ).arg( conninfo ) );
Expand Down Expand Up @@ -143,6 +140,14 @@ QgsOracleConn::~QgsOracleConn()
mDatabase.close();
}

QString QgsOracleConn::toPoolName( QgsDataSourceURI uri )
{
QString conninfo = uri.connectionInfo();
if ( uri.hasParam( "dbworkspace" ) )
conninfo += " dbworkspace=" + uri.param( "dbworkspace" );
return conninfo;
}

QString QgsOracleConn::connInfo()
{
return sConnections.key( this, QString::null );
Expand Down
1 change: 1 addition & 0 deletions src/providers/oracle/qgsoracleconn.h
Expand Up @@ -160,6 +160,7 @@ class QgsOracleConn : public QObject
static bool onlyExistingTypes( QString theConnName );
static void deleteConnection( QString theConnName );
static QString databaseName( QString database, QString host, QString port );
static QString toPoolName( QgsDataSourceURI uri );

operator QSqlDatabase() { return mDatabase; }

Expand Down
2 changes: 1 addition & 1 deletion src/providers/oracle/qgsoraclefeatureiterator.cpp
Expand Up @@ -30,7 +30,7 @@ QgsOracleFeatureIterator::QgsOracleFeatureIterator( QgsOracleFeatureSource* sour
, mRewind( false )
, mExpressionCompiled( false )
{
mConnection = QgsOracleConnPool::instance()->acquireConnection( mSource->mUri.connectionInfo() );
mConnection = QgsOracleConnPool::instance()->acquireConnection( QgsOracleConn::toPoolName( mSource->mUri ) );
if ( !mConnection )
{
close();
Expand Down
2 changes: 1 addition & 1 deletion src/providers/oracle/qgsoraclenewconnection.cpp
Expand Up @@ -143,7 +143,7 @@ void QgsOracleNewConnection::on_btnConnect_clicked()
if ( !txtWorkspace->text().isEmpty() )
uri.setParam( "dbworkspace", txtWorkspace->text() );

QgsOracleConn *conn = QgsOracleConnPool::instance()->acquireConnection( uri.connectionInfo() );
QgsOracleConn *conn = QgsOracleConnPool::instance()->acquireConnection( QgsOracleConn::toPoolName( uri ) );

if ( conn )
{
Expand Down
2 changes: 1 addition & 1 deletion src/providers/oracle/qgsoracleprovider.cpp
Expand Up @@ -70,7 +70,7 @@ QgsOracleProvider::QgsOracleProvider( QString const & uri )
mRequestedGeomType = mUri.wkbType();
mUseEstimatedMetadata = mUri.useEstimatedMetadata();

mConnection = QgsOracleConn::connectDb( mUri.connectionInfo() );
mConnection = QgsOracleConn::connectDb( mUri );
if ( !mConnection )
{
return;
Expand Down
4 changes: 2 additions & 2 deletions src/providers/oracle/qgsoraclesourceselect.cpp
Expand Up @@ -518,7 +518,7 @@ void QgsOracleSourceSelect::on_btnConnect_clicked()
QgsDataSourceURI uri = QgsOracleConn::connUri( cmbConnections->currentText() );

mIsConnected = true;
mTablesTreeDelegate->setConnectionInfo( uri.connectionInfo() );
mTablesTreeDelegate->setConnectionInfo( uri );

mColumnTypeThread = new QgsOracleColumnTypeThread( cmbConnections->currentText(),
uri.useEstimatedMetadata(),
Expand Down Expand Up @@ -674,7 +674,7 @@ void QgsOracleSourceSelect::loadTableFromCache()


mIsConnected = true;
mTablesTreeDelegate->setConnectionInfo( uri.connectionInfo() );
mTablesTreeDelegate->setConnectionInfo( uri );

finishList();
}
2 changes: 1 addition & 1 deletion src/providers/oracle/qgsoraclesourceselect.h
Expand Up @@ -62,7 +62,7 @@ class QgsOracleSourceSelectDelegate : public QItemDelegate
QgsOracleConn* conn() const
{
if ( !mConn )
setConn( QgsOracleConn::connectDb( mConnInfo ) );
setConn( QgsOracleConnPool::instance()->acquireConnection( QgsOracleConn::toPoolName( mConnInfo ) ) );
return mConn;
}

Expand Down
3 changes: 1 addition & 2 deletions src/providers/oracle/qgsoracletablecache.cpp
Expand Up @@ -273,8 +273,7 @@ void _testTableCache()

// fetch

QgsDataSourceURI uri = QgsOracleConn::connUri( connName );
QgsOracleConn* c = QgsOracleConnectionPool::instance()->acquireConnection( uri.connectionInfo() );
QgsOracleConn* c = QgsOracleConnectionPool::instance()->acquireConnection( QgsOracleConn::toPoolName( QgsOracleConn::connUri( connName ) ) );
if ( !c )
return;

Expand Down

0 comments on commit 8fdf485

Please sign in to comment.