Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
MSSQL revert geometryColumnTypes and homogenize
Other providers return an "invalid" col type from geometryColumnTypes
let's keep it that way (for now)
  • Loading branch information
elpaso committed Mar 14, 2020
1 parent 8eaf2bf commit 9a53cf2
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 5 deletions.
4 changes: 4 additions & 0 deletions .ci/travis/linux/scripts/test_blacklist.txt
Expand Up @@ -21,3 +21,7 @@ qgis_openclutilstest
# Relies on a broken/unreliable 3rd party service
qgis_layerdefinition

# MSSQL requires the MSSQL docker
PyQgsProviderConnectionMssql


5 changes: 1 addition & 4 deletions src/core/qgsabstractdatabaseproviderconnection.cpp
Expand Up @@ -193,10 +193,7 @@ void QgsAbstractDatabaseProviderConnection::TableProperty::addGeometryColumnType

QList<QgsAbstractDatabaseProviderConnection::TableProperty::GeometryColumnType> QgsAbstractDatabaseProviderConnection::TableProperty::geometryColumnTypes() const
{
if ( ! mGeometryColumn.isEmpty() )
return mGeometryColumnTypes;
else
return {};
return mGeometryColumnTypes;
}


Expand Down
3 changes: 3 additions & 0 deletions src/providers/mssql/qgsmssqlproviderconnection.cpp
Expand Up @@ -391,6 +391,9 @@ QList<QgsMssqlProviderConnection::TableProperty> QgsMssqlProviderConnection::tab
}
else
{
// Add an invalid column
table.addGeometryColumnType( QgsWkbTypes::Type::NoGeometry,
QgsCoordinateReferenceSystem() );
table.setFlag( QgsMssqlProviderConnection::TableFlag::Aspatial );
}

Expand Down
4 changes: 3 additions & 1 deletion tests/src/python/test_qgsproviderconnection_base.py
Expand Up @@ -201,7 +201,9 @@ def _test_operations(self, md, conn):
self.assertEqual(table_property.geometryColumn(), '')
self.assertEqual(table_property.defaultName(), 'myNewAspatialTable')
cols = table_property.geometryColumnTypes()
self.assertEqual(cols, [])
# We always return geom col types, even when there is no geometry
self.assertEqual(cols[0].wkbType, QgsWkbTypes.NoGeometry)
self.assertFalse(cols[0].crs.isValid())
self.assertFalse(table_property.flags() & QgsAbstractDatabaseProviderConnection.Raster)
self.assertFalse(table_property.flags() & QgsAbstractDatabaseProviderConnection.Vector)
self.assertTrue(table_property.flags() & QgsAbstractDatabaseProviderConnection.Aspatial)
Expand Down

0 comments on commit 9a53cf2

Please sign in to comment.