Please sign in to comment.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix attributetable and vectorlayercache
* In the attributetable there was a mess with references and pointers, originating from 66fadee. * QgsVectorLayerCache did sometimes cache features which did not contain all information which needs to be cached and therefore corrupting the cache and leading to incomplete cache hits. * Add a unit test for the cache problem * Fix QgsCacheIndexFeatureId * QgsAbstractCacheIndex::getCacheIterator now produces a QgsFeatureIterator (instead of a list of Feature Ids). This allows to combine a mixed response, partly satisfied by the cache and partly by an additional query to the backend.
- Loading branch information
Showing with 182 additions and 36 deletions.
- +5 −3 src/core/qgscacheindex.h
- +35 −1 src/core/qgscacheindexfeatureid.cpp
- +41 −3 src/core/qgscacheindexfeatureid.h
- +9 −0 src/core/qgsfeaturerequest.cpp
- +2 −0 src/core/qgsfeaturerequest.h
- +22 −5 src/core/qgsvectorlayercache.cpp
- +17 −1 src/core/qgsvectorlayercache.h
- +13 −17 src/gui/attributetable/qgsattributetablemodel.cpp
- +1 −1 src/gui/attributetable/qgsattributetablemodel.h
- +37 −5 tests/src/core/testqgsvectorlayercache.cpp