Skip to content

Commit 9a53cf2

Browse files
committedMar 14, 2020
MSSQL revert geometryColumnTypes and homogenize
Other providers return an "invalid" col type from geometryColumnTypes let's keep it that way (for now)
1 parent 8eaf2bf commit 9a53cf2

File tree

4 files changed

+11
-5
lines changed

4 files changed

+11
-5
lines changed
 

‎.ci/travis/linux/scripts/test_blacklist.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,7 @@ qgis_openclutilstest
2121
# Relies on a broken/unreliable 3rd party service
2222
qgis_layerdefinition
2323

24+
# MSSQL requires the MSSQL docker
25+
PyQgsProviderConnectionMssql
26+
27+

‎src/core/qgsabstractdatabaseproviderconnection.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,7 @@ void QgsAbstractDatabaseProviderConnection::TableProperty::addGeometryColumnType
193193

194194
QList<QgsAbstractDatabaseProviderConnection::TableProperty::GeometryColumnType> QgsAbstractDatabaseProviderConnection::TableProperty::geometryColumnTypes() const
195195
{
196-
if ( ! mGeometryColumn.isEmpty() )
197-
return mGeometryColumnTypes;
198-
else
199-
return {};
196+
return mGeometryColumnTypes;
200197
}
201198

202199

‎src/providers/mssql/qgsmssqlproviderconnection.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,9 @@ QList<QgsMssqlProviderConnection::TableProperty> QgsMssqlProviderConnection::tab
391391
}
392392
else
393393
{
394+
// Add an invalid column
395+
table.addGeometryColumnType( QgsWkbTypes::Type::NoGeometry,
396+
QgsCoordinateReferenceSystem() );
394397
table.setFlag( QgsMssqlProviderConnection::TableFlag::Aspatial );
395398
}
396399

‎tests/src/python/test_qgsproviderconnection_base.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,9 @@ def _test_operations(self, md, conn):
201201
self.assertEqual(table_property.geometryColumn(), '')
202202
self.assertEqual(table_property.defaultName(), 'myNewAspatialTable')
203203
cols = table_property.geometryColumnTypes()
204-
self.assertEqual(cols, [])
204+
# We always return geom col types, even when there is no geometry
205+
self.assertEqual(cols[0].wkbType, QgsWkbTypes.NoGeometry)
206+
self.assertFalse(cols[0].crs.isValid())
205207
self.assertFalse(table_property.flags() & QgsAbstractDatabaseProviderConnection.Raster)
206208
self.assertFalse(table_property.flags() & QgsAbstractDatabaseProviderConnection.Vector)
207209
self.assertTrue(table_property.flags() & QgsAbstractDatabaseProviderConnection.Aspatial)

0 commit comments

Comments
 (0)
Please sign in to comment.