@@ -133,9 +133,6 @@ QgsMssqlProvider::QgsMssqlProvider( QString uri )
133
133
mWkbType = QGis::WKBNoGeometry;
134
134
mSRId = 0 ;
135
135
}
136
-
137
- if ( mFidColName .isEmpty () )
138
- mValid = false ;
139
136
}
140
137
141
138
// fill type names into sets
@@ -947,6 +944,9 @@ bool QgsMssqlProvider::changeAttributeValues( const QgsChangedAttributesMap & at
947
944
if ( attr_map.isEmpty () )
948
945
return true ;
949
946
947
+ if ( mFidColName .isEmpty () )
948
+ return false ;
949
+
950
950
for ( QgsChangedAttributesMap::const_iterator it = attr_map.begin (); it != attr_map.end (); ++it )
951
951
{
952
952
QgsFeatureId fid = it.key ();
@@ -1055,6 +1055,9 @@ bool QgsMssqlProvider::changeGeometryValues( QgsGeometryMap & geometry_map )
1055
1055
if ( geometry_map.isEmpty () )
1056
1056
return true ;
1057
1057
1058
+ if ( mFidColName .isEmpty () )
1059
+ return false ;
1060
+
1058
1061
for ( QgsGeometryMap::iterator it = geometry_map.begin (); it != geometry_map.end (); ++it )
1059
1062
{
1060
1063
QgsFeatureId fid = it.key ();
@@ -1125,6 +1128,9 @@ bool QgsMssqlProvider::changeGeometryValues( QgsGeometryMap & geometry_map )
1125
1128
1126
1129
bool QgsMssqlProvider::deleteFeatures ( const QgsFeatureIds & id )
1127
1130
{
1131
+ if ( mFidColName .isEmpty () )
1132
+ return false ;
1133
+
1128
1134
QString featureIds;
1129
1135
for ( QgsFeatureIds::const_iterator it = id.begin (); it != id.end (); ++it )
1130
1136
{
@@ -1156,7 +1162,10 @@ bool QgsMssqlProvider::deleteFeatures( const QgsFeatureIds & id )
1156
1162
1157
1163
int QgsMssqlProvider::capabilities () const
1158
1164
{
1159
- return CreateSpatialIndex | CreateAttributeIndex | AddFeatures | DeleteFeatures |
1165
+ if (mFidColName .isEmpty ())
1166
+ return CreateSpatialIndex | CreateAttributeIndex | AddFeatures | AddAttributes;
1167
+ else
1168
+ return CreateSpatialIndex | CreateAttributeIndex | AddFeatures | DeleteFeatures |
1160
1169
ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes |
1161
1170
QgsVectorDataProvider::SelectAtId | QgsVectorDataProvider::SelectGeometryAtId;
1162
1171
}
0 commit comments