@@ -71,42 +71,35 @@ int QgsMssqlProvider::sConnectionId = 0;
7171
7272QgsMssqlProvider::QgsMssqlProvider ( const QString &uri, const ProviderOptions &options, Qgis::DataProviderReadFlags flags )
7373 : QgsVectorDataProvider( uri, options, flags )
74+ , mUri( uri )
7475 , mShared( new QgsMssqlSharedData )
7576{
76- const QgsDataSourceUri anUri = QgsDataSourceUri ( uri );
77-
78- if ( !anUri.srid ().isEmpty () )
79- mSRId = anUri.srid ().toInt ();
77+ if ( !mUri .srid ().isEmpty () )
78+ mSRId = mUri .srid ().toInt ();
8079 else
8180 mSRId = -1 ;
8281
83- mWkbType = anUri .wkbType ();
82+ mWkbType = mUri .wkbType ();
8483
8584 mValid = true ;
8685
87- mUserName = anUri.username ();
88- mPassword = anUri.password ();
89- mService = anUri.service ();
90- mDatabaseName = anUri.database ();
91- mHost = anUri.host ();
92-
93- mUseEstimatedMetadata = anUri.useEstimatedMetadata ();
86+ mUseEstimatedMetadata = mUri .useEstimatedMetadata ();
9487 if ( mReadFlags & Qgis::DataProviderReadFlag::TrustDataSource )
9588 {
9689 mUseEstimatedMetadata = true ;
9790 }
9891
99- mDisableInvalidGeometryHandling = anUri .hasParam ( QStringLiteral ( " disableInvalidGeometryHandling" ) )
100- ? anUri .param ( QStringLiteral ( " disableInvalidGeometryHandling" ) ).toInt ()
92+ mDisableInvalidGeometryHandling = mUri .hasParam ( QStringLiteral ( " disableInvalidGeometryHandling" ) )
93+ ? mUri .param ( QStringLiteral ( " disableInvalidGeometryHandling" ) ).toInt ()
10194 : false ;
10295
103- mUseGeometryColumnsTableForExtent = anUri .hasParam ( QStringLiteral ( " extentInGeometryColumns" ) )
104- ? anUri .param ( QStringLiteral ( " extentInGeometryColumns" ) ).toInt ()
96+ mUseGeometryColumnsTableForExtent = mUri .hasParam ( QStringLiteral ( " extentInGeometryColumns" ) )
97+ ? mUri .param ( QStringLiteral ( " extentInGeometryColumns" ) ).toInt ()
10598 : false ;
10699
107- mSqlWhereClause = anUri .sql ();
100+ mSqlWhereClause = mUri .sql ();
108101
109- mConn = QgsMssqlDatabase::connectDb ( mService , mHost , mDatabaseName , mUserName , mPassword , false );
102+ mConn = QgsMssqlDatabase::connectDb ( mUri , false );
110103 if ( !mConn )
111104 {
112105 mValid = false ;
@@ -124,23 +117,23 @@ QgsMssqlProvider::QgsMssqlProvider( const QString &uri, const ProviderOptions &o
124117
125118 // Database successfully opened; we can now issue SQL commands.
126119
127- if ( mSchemaName .isEmpty () && anUri .table ().startsWith ( ' (' ) && anUri .table ().endsWith ( ' )' ) )
120+ if ( mSchemaName .isEmpty () && mUri .table ().startsWith ( ' (' ) && mUri .table ().endsWith ( ' )' ) )
128121 {
129122 mIsQuery = true ;
130- mQuery = anUri .table ();
123+ mQuery = mUri .table ();
131124 }
132125 else
133126 {
134127 mIsQuery = false ;
135- if ( !anUri .schema ().isEmpty () )
136- mSchemaName = anUri .schema ();
128+ if ( !mUri .schema ().isEmpty () )
129+ mSchemaName = mUri .schema ();
137130 else
138131 mSchemaName = QStringLiteral ( " dbo" );
139132
140- if ( !anUri .table ().isEmpty () )
133+ if ( !mUri .table ().isEmpty () )
141134 {
142135 // the layer name has been specified
143- mTableName = anUri .table ();
136+ mTableName = mUri .table ();
144137 QStringList sl = mTableName .split ( ' .' );
145138 if ( sl.length () == 2 )
146139 {
@@ -162,8 +155,8 @@ QgsMssqlProvider::QgsMssqlProvider( const QString &uri, const ProviderOptions &o
162155
163156 if ( mValid )
164157 {
165- if ( !anUri .geometryColumn ().isEmpty () )
166- mGeometryColName = anUri .geometryColumn ();
158+ if ( !mUri .geometryColumn ().isEmpty () )
159+ mGeometryColName = mUri .geometryColumn ();
167160
168161 if ( !mIsQuery )
169162 {
@@ -181,8 +174,8 @@ QgsMssqlProvider::QgsMssqlProvider( const QString &uri, const ProviderOptions &o
181174 UpdateStatistics ( mUseEstimatedMetadata );
182175
183176 // only for views, defined in layer data when loading layer for first time
184- bool primaryKeyFromGeometryColumnsTable = anUri .hasParam ( QStringLiteral ( " primaryKeyInGeometryColumns" ) )
185- ? anUri .param ( QStringLiteral ( " primaryKeyInGeometryColumns" ) ).toInt ()
177+ bool primaryKeyFromGeometryColumnsTable = mUri .hasParam ( QStringLiteral ( " primaryKeyInGeometryColumns" ) )
178+ ? mUri .param ( QStringLiteral ( " primaryKeyInGeometryColumns" ) ).toInt ()
186179 : false ;
187180
188181 QStringList cols;
@@ -192,12 +185,12 @@ QgsMssqlProvider::QgsMssqlProvider( const QString &uri, const ProviderOptions &o
192185 mPrimaryKeyAttrs .clear ();
193186 primaryKeyFromGeometryColumnsTable = getPrimaryKeyFromGeometryColumns ( cols );
194187 if ( !primaryKeyFromGeometryColumnsTable )
195- QgsMessageLog::logMessage ( tr ( " Invalid primary key from geometry_columns table for layer '%1', get primary key from the layer." ).arg ( anUri .table () ), tr ( " MS SQL Server" ) );
188+ QgsMessageLog::logMessage ( tr ( " Invalid primary key from geometry_columns table for layer '%1', get primary key from the layer." ).arg ( mUri .table () ), tr ( " MS SQL Server" ) );
196189 }
197190
198191 if ( !primaryKeyFromGeometryColumnsTable )
199192 {
200- const QString primaryKey = anUri .keyColumn ();
193+ const QString primaryKey = mUri .keyColumn ();
201194 if ( !primaryKey.isEmpty () )
202195 {
203196 mPrimaryKeyAttrs .clear ();
@@ -2357,7 +2350,7 @@ bool QgsMssqlProviderMetadata::styleExists( const QString &uri, const QString &s
23572350 errorCause.clear ();
23582351 const QgsDataSourceUri dsUri ( uri );
23592352 // connect to database
2360- std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri. service (), dsUri. host (), dsUri. database (), dsUri. username (), dsUri. password () );
2353+ std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri );
23612354
23622355 if ( !db->isValid () )
23632356 {
@@ -2416,7 +2409,7 @@ bool QgsMssqlProviderMetadata::saveStyle( const QString &uri, const QString &qml
24162409{
24172410 const QgsDataSourceUri dsUri ( uri );
24182411 // connect to database
2419- std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri. service (), dsUri. host (), dsUri. database (), dsUri. username (), dsUri. password () );
2412+ std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri );
24202413
24212414 if ( !db->isValid () )
24222415 {
@@ -2580,7 +2573,7 @@ QString QgsMssqlProviderMetadata::loadStoredStyle( const QString &uri, QString &
25802573 errCause.clear ();
25812574 const QgsDataSourceUri dsUri ( uri );
25822575 // connect to database
2583- std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri. service (), dsUri. host (), dsUri. database (), dsUri. username (), dsUri. password () );
2576+ std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri );
25842577
25852578 if ( !db->isValid () )
25862579 {
@@ -2645,7 +2638,7 @@ int QgsMssqlProviderMetadata::listStyles( const QString &uri, QStringList &ids,
26452638{
26462639 const QgsDataSourceUri dsUri ( uri );
26472640 // connect to database
2648- std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri. service (), dsUri. host (), dsUri. database (), dsUri. username (), dsUri. password () );
2641+ std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri );
26492642
26502643 if ( !db->isValid () )
26512644 {
@@ -2742,7 +2735,7 @@ QString QgsMssqlProviderMetadata::getStyleById( const QString &uri, const QStrin
27422735{
27432736 const QgsDataSourceUri dsUri ( uri );
27442737 // connect to database
2745- std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri. service (), dsUri. host (), dsUri. database (), dsUri. username (), dsUri. password () );
2738+ std::shared_ptr<QgsMssqlDatabase> db = QgsMssqlDatabase::connectDb ( dsUri );
27462739
27472740 if ( !db->isValid () )
27482741 {
0 commit comments