48080 Commits

Author SHA1 Message Date
Nyall Dawson
d7d2a1474a [ogr] Only try to add original fid from iterators, not in other cases 2018-06-03 09:24:35 +10:00
Nyall Dawson
ca1262d16b Fix failing test
We need to ensure that the FID column is also fetched for the
unfiltered layer which we use when requesting features by ID
2018-06-03 09:24:35 +10:00
Nyall Dawson
f3bc283cd5 Better tests 2018-06-03 09:24:35 +10:00
Nyall Dawson
6430059876 Remove safety check
Doesn't work correctly - flags valid matches as invalid
2018-06-03 09:24:35 +10:00
Nyall Dawson
2975339073 [ogr] Fix very slow feature requests when filter string set
Follow up 217e7006. Avoid the very expensive iteration to
find matching features when a subset string is set by
instead querying the original, unfiltered layer when
we are doing a FilterFids type request.

Fixes many hangs when using OGR layers with filters in place.
2018-06-03 09:24:35 +10:00
Nyall Dawson
bab8b78c0f Use correct member variable prefix 2018-06-03 09:24:35 +10:00
Alessandro Pasotti
79ba0eee1a
Merge pull request #7143 from elpaso/bugfix-19050-field-calc-save-real-as-int
Do not set min/max precision for int fields
2018-06-02 22:55:24 +02:00
Even Rouault
f68f288dea
Merge pull request #7145 from rouault/fix_18596
[OGR provider] When editing a GeoJSON file, close and re-open the file at end of editing session (fixes #18596)
2018-06-02 17:32:12 +02:00
Even Rouault
754018a477
[OGR provider] When editing a GeoJSON file, close and re-open the file at end of editing session (fixes #18596) 2018-06-02 12:00:15 +02:00
Even Rouault
7e2ca8f61b
Merge pull request #7144 from rouault/fix_18976
[Postgres provider] Speed up feature insertion when pkid column is not set (fixes #18976)
2018-06-02 11:27:27 +02:00
Even Rouault
a9a8fbdb17
[cleanup] use for range based loop 2018-06-01 23:09:32 +02:00
Even Rouault
2ed200a8f2
Merge pull request #7142 from rouault/fix_18996
QgsSvgCache::svgAsPicture(): make sure the returned picture is not shared (fixes #18996)
2018-06-01 22:33:49 +02:00
Even Rouault
cc25727a18
[Postgres provider] Speed up feature insertion when pkid column is not set (fixes #18976)
When inserting features whose attribute column corresponding to the pkid
is empty, and tat this pkid column has a default value using a sequence,
then we can remove it from the INSERT statement completely, which save us
from doing a SELECT nextval(...) for each row. On the provided test case
of that ticket, on a debug build, this cuts down the insertion time from 5 minutes
to 1 minute 10s.
2018-06-01 22:31:09 +02:00
Even Rouault
75b7edf1d2
QgsSvgCache::svgAsPicture(): make sure the returned picture is not shared (fixes #18996)
For some reason QPicture.detach() doesn't seem to always work as intended, at
least with QT 5.5 on Ubuntu 16.04
Serialization/deserialization is a safe way to be ensured we don't
share a copy.

Relates to a6eea7205c72a1be837ab43b79aad0c67a92a9b2
2018-06-01 22:00:07 +02:00
Alessandro Pasotti
033071ae50 Do not set min/max precision for int fields
Fixes #19050

QGIS saves integer field when I create a new real
field through field calculator (Update field works as intended)

backport required
2018-06-01 18:07:41 +02:00
Even Rouault
9d3f8d44f5
Merge pull request #7140 from rouault/fix_19009
Assorted set of fixes regarding field length for OGR provider
2018-06-01 17:42:59 +02:00
Even Rouault
3b29102627
Merge pull request #7141 from rouault/fix_18563
QgsVectorFileWriter: workaround a bug in GDAL where appending to an existing BNA crashes it (fixes #18563)
2018-06-01 15:17:10 +02:00
Even Rouault
43f796e78e
QgsVectorFileWriter: workaround a bug in GDAL where appending to an existing BNA crashes it (fixes #18563)
Upstream fixes done in GDAL as well to fix the crash itself:
GDAL master: a36939afd5
GDAL 2.3 branch: f9af14bc04
2018-06-01 14:28:30 +02:00
Even Rouault
e4d5899bb2
Merge pull request #7131 from rouault/fix_linux_build_qca
QCAMacros.cmake: fix Linux build
2018-06-01 14:19:42 +02:00
Alessandro Pasotti
3aa630ca25 Added QgsDataProvider::ProviderOptions to the bindings 2018-06-01 14:18:44 +02:00
Even Rouault
b9003ffa12
QgsVectorDataProvider::supportedType(): only checks field length and precision against min/max if they are defined (ie > 0). Fixes test_qgsauxiliarystorage.py and qgis_projectstoragetest 2018-06-01 14:06:04 +02:00
Denis Rouzaud
dc9fb90b01 add note on how to invalidate results 2018-06-01 03:31:39 -08:00
Denis Rouzaud
a15d8903ed [locator] add a way to invalidate results from python API
otherwise if you access the config of the filter (or change app settings) from outside the main application settings dialog, results are not invalidate

for instance, if you update a URL of a service, results won't be updated
2018-06-01 03:31:39 -08:00
Even Rouault
917a6e3cdc
QCAMacros.cmake: re-add 25ba36180cfbf836b9458beb98e28f62349c4260 for FreeBSD 2018-06-01 13:23:49 +02:00
Even Rouault
1a4f80428d
QCAMacros.cmake: fix Linux build
25ba36180c causes
build failures on Ubuntu 16.04 and 18.04 with gcc

{{{
/usr/bin/c++    -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I/usr/include/Qca-qt5/QtCrypto  -fPIE   -std=gnu++11 -o CMakeFiles/cmTC_3b936.dir/qcaossl.cpp.o -c /home/even/qgis/QGIS/build/CMakeFiles/CMakeTmp/qcaossl.cpp
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:37:0,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1,
                 from /usr/include/Qca-qt5/QtCrypto/qca_core.h:36,
                 from /usr/include/Qca-qt5/QtCrypto/qca.h:36,
                 from /usr/include/Qca-qt5/QtCrypto/QtCrypto:1,
                 from /home/even/qgis/QGIS/build/CMakeFiles/CMakeTmp/qcaossl.cpp:2:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1067:4: error: #error "You must build your code with position independent code if Qt was built with -reduce-relocations. " "Compile your code with -fPIC (-fPIE is not enough)."
 #  error "You must build your code with position independent code if Qt was built with -reduce-relocations. "\
    ^
}}}

qtglobal.h doesn't like -fPIC and -fPIE together

See https://github.com/qgis/QGIS/pull/6093#issuecomment-393518711
2018-06-01 13:22:48 +02:00
Even Rouault
a3e527d8ff
[OGR provider] Advertize correct supported data types, length and with for GPKG; and advertize Date, Time, DateTime based on driver capabilities 2018-06-01 13:19:29 +02:00
Even Rouault
bad1ab4ea5
QgsVectorDataProvider::supportedType(): use -1 as the value for unspecified length/width (this is the default in QgsField constructor and QgsVectorDataProvider::NativeType()) 2018-06-01 13:18:48 +02:00
Even Rouault
04a55b2578
[cleanup] QgsFieldCalculator: avoid use of hardcoded magic indices 2018-06-01 13:17:13 +02:00
Even Rouault
f4bf1ec907
[OGR provider] GPKG: allow repeated creation of int fields with len != 0 (fixes #19009) 2018-06-01 13:15:41 +02:00
Andrea Giudiceandrea
6192b5eb36 Add fill/stroke color & opacity parameters to more north arrows svg images 2018-06-01 18:02:16 +07:00
Nyall Dawson
05f426e061 Remove orig_ogc_fid fields from server filter tests 2018-06-01 21:00:20 +10:00
Nyall Dawson
e6e54de383 Add test to ensure that orig_ogc_fid field is only ever used internally
We don't want to expose this field to users, or include it in layer
exports or copies

And rename internal field to __orig_ogc_fid to avoid clashes with
existing datasets which have been exported before this fix and which
now contain a orig_ogc_fid field
2018-06-01 21:00:20 +10:00
Alessandro Pasotti
0fa88e6faf Skip failing test on Travis
the test passes locally
2018-06-01 10:55:17 +02:00
Alessandro Pasotti
2f41d32e98 Added test to cmake 2018-06-01 10:55:17 +02:00
Alessandro Pasotti
cac675a978 Removed commented code 2018-06-01 10:55:17 +02:00
Alessandro Pasotti
749bc02143 Fix provider for min/max updates 2018-06-01 10:55:17 +02:00
Alessandro Pasotti
6f3be9fa3d SIP updates 2018-06-01 10:55:17 +02:00
Alessandro Pasotti
b696e9b1fd Minor updates to the doc strings 2018-06-01 10:55:17 +02:00
Alessandro Pasotti
1e3661cbf7 Added QgsSpatialIndex to the python provider 2018-06-01 10:53:46 +02:00
Alessandro Pasotti
abcad019a9 Python provider tests passing
Except for QgsLayerDefinition.exportLayerDefinitionLayers
and QgsLayerDefinition.loadLayerDefinitionLayers
2018-06-01 10:53:46 +02:00
Alessandro Pasotti
29575b5b7e QgsDebugMsg -> QgsDebugMsgLevel 2018-06-01 10:53:46 +02:00
Alessandro Pasotti
324fd7d522 Allow python creation of QgsFeatureIterator from an abstract one 2018-06-01 10:53:46 +02:00
Alessandro Pasotti
7ffdab2d09 Do not dec ref in methodcode 2018-06-01 10:53:46 +02:00
Alessandro Pasotti
adcc2e96f9 Moved python provider to separate file
Also cloned other memory layer methods
2018-06-01 10:53:46 +02:00
Alessandro Pasotti
e341b3a5cf Tests for Python vector data provider (still failing but not crashing!) 2018-06-01 10:53:46 +02:00
Alessandro Pasotti
839a889038 SIP wrappers for QgsProviderMetadata 2018-06-01 10:53:46 +02:00
Alessandro Pasotti
9d66eb8db4 API to register new vector data providers 2018-06-01 10:53:46 +02:00
Alessandro Pasotti
222f3ad9e0 Check for index validity and do not crash! 2018-06-01 10:53:46 +02:00
Nyall Dawson
bd65fc607b [processing][gdal] Don't double quote output paths
Breaks for some drivers, e.g. KML

Fixes #18264
2018-06-01 18:21:41 +10:00
Nyall Dawson
30ecb33855 [processing][GRASS] Fix some algorithms always export as GPKG, regardless of format selected 2018-06-01 16:53:00 +10:00