81 Commits

Author SHA1 Message Date
Nyall Dawson
89b9b67974 Handle type conversion failures for compiled expressions 2015-12-10 20:49:17 +11:00
Nyall Dawson
9cc9d424ce Add extra check for deprecations to documentation test
This check tests that if a function has been declared deprecated
with either Q_DECL_DEPRECATED or has a @deprecated Doxygen note
then it MUST have both the Q_DECL_DEPRECATD and @deprecated note.

It's important that both are used, as Q_DECL_DEPRECATED allows
throwing a warning if that method is used in code, while the
@deprecated doxygen note gives an indication to devs/PyQGIS users
of why it's deprecated and what should be used instead.

Ideally we'd also test for SIP /Deprecated/ tags, but I can't
find any reliable way to do this.
2015-12-07 21:55:36 +11:00
Nyall Dawson
edb16d0014 [FEATURE] Feature limit support for feature requests
Limits the maximum number of features returned by the iterator.
Some providers (postgres, spatialite, MS SQL) pass the limit on
to the provider to result in faster queries.
2015-12-05 10:24:42 +11:00
Michael Douchin
706e651484 Postgresql provider - Use postgis 2.2 ST_RemoveRepeatedPoints for simplification 2015-12-01 14:31:53 +01:00
Nyall Dawson
91571736a8 Make expression compilation optional, but enabled by default
Remove the previous postgres specific option and replace with an
enabled-by-default option which applies to all expression
compilation.
2015-11-18 15:16:38 +11:00
Nyall Dawson
5f65f872dd Create QgsSqlExpressionCompiler as base class for expression compilers
Switch Postgres and OGR compilers to use the new base class. New class
should make it easier to add additional expression compilers (eg
spatialite, MS SQL, etc)
2015-11-18 14:02:18 +11:00
Juergen E. Fischer
04abaf3bfa fix 81bbb82 2015-11-10 21:31:22 +00:00
Juergen E. Fischer
81bbb8235c postgres provider: avoid additional fetch after all features have already been processed 2015-11-10 12:26:38 +00:00
Nyall Dawson
b7e1cae4f0 Switch double quoted single character to single quotes for some
QString methods

Using single quotes is a significant performance boost. Rough
benchmarks indicate the QString single quote methods take
about 15% of the time the double quote variants take.
2015-11-02 17:55:08 +11:00
Hugo Mercier
c7aeb774ce PostGIS: Allow to load TIN, PS and Triangle layers
The postgres provider is modified so that layers with
TIN, PolyhedralSurface and Triangle geometries can be loaded.
Geometries are converted to MultiPolygons (and Polygons for Triangles).

The postgres test is completed to cover the loading of different types
of layers
2015-10-21 09:41:49 +02:00
Nyall Dawson
1969e09b6f Also avoid detaching QgsFields and QgsAttributes where possible 2015-10-20 20:36:08 +11:00
Nyall Dawson
5ed3d1b73f Use QString::arg multi argument method to avoid extra heap allocations 2015-10-15 17:51:06 +11:00
Nyall Dawson
f628ebd423 Replace foreach with Q_FOREACH
For:
- consistency
- to make it immediately clear that this is a Qt macro and that it
works slightly differently to c++ for loops
2015-09-09 19:17:29 +10:00
Matthias Kuhn
5be0ee734f Remove QgsFeatureRequest::FilterRect from providers/iterators 2015-07-29 12:09:44 +02:00
Matthias Kuhn
156a0e9184 Preserve 0 values from postgres int columns 2015-07-13 09:48:12 +02:00
Juergen E. Fischer
90b3efb93d postgres provider: also cast geography to geometry when using && (fixes #8572) 2015-06-26 16:55:51 +02:00
Matthias Kuhn
038f99b505 Reduce warning noise and fix some doxymentation issues
Some warnings are wrapped in Q_NOWARN_DEPRECATED_*, these are warnings for
issues which are not critical and therefore of limited importance.

The general idea is to leave the space for compiler warnings to the one that
really need to be addressed.

Also removes a no longer required header file of dxflib.

Exposes some ready-to use doxymentation by wrapping it in appropriate comment
structure.

And some more cleanup
2015-06-15 18:42:27 +02:00
Marco Hugentobler
abe9fd0399 Move more wkb type code to QgsWKBTypes. Fix possibility to load curved geometries into QGIS 2015-05-29 10:56:46 +02:00
Martin Dobias
ed65181031 Fix identify tool for PostGIS 1.x layers
curvetoline() function was expected, however:
- in PostGIS < 1.5 such function does not exist
- in PostGIS >=1.5 the function is st_curvetoline()
2015-05-27 21:25:14 +07:00
Juergen E. Fischer
98c601d1ba fix typos 2015-05-25 20:12:02 +02:00
Juergen E. Fischer
5b3a96d9d6 geometry fixes:
* 3d geometries from oracle
* windows build
2015-05-25 16:54:23 +02:00
Marco Hugentobler
68fe5f5791 [FEATURE:] New geometry classes 2015-05-25 08:53:49 +02:00
Juergen E. Fischer
cec5bdeb0d fix some warnings 2015-05-24 18:48:22 +02:00
Matthias Kuhn
a2ae8b4e38 Add unit tests for postgres provider
basically to get a framework to test the expression compiler
2015-05-22 11:57:16 +02:00
Matthias Kuhn
a99deb8b88 [FEATURE] Send filter expressions to postgres provider
This commit allows to filter features already on server side. Only supported
expressions will be sent to the database. Expressions using unsupported
operators or functions will gracefully fallback to local evaluation.

To make use of this feature

 * Enable it in options: data sources
 * QgsFeatureRequest().setFilterExpression( expression )
 * or QgsVectorLayer::getFeatures( expression )
2015-05-22 11:57:16 +02:00
Nyall Dawson
9076ff8d71 Fix some deprecated warnings 2015-05-21 00:56:03 +10:00
Sandro Santilli
449094829a Add support for Pointcloud layers 2015-05-06 22:25:44 +02:00
Juergen E. Fischer
97572244dc postgres provider: also apply filterWhereClause to feature iterators (fixes #12499 & #12500) 2015-04-02 17:47:08 +02:00
Juergen E. Fischer
f17755cec4 indentation update 2015-03-19 22:58:11 +01:00
Sandro Santilli
472fbbed49 Use ST_Force2D from PostGIS-2.1.0 up 2015-03-03 18:26:59 +01:00
Nyall Dawson
c253a9f623 Uninitialized variable fixes 2015-02-10 22:23:01 +11:00
Sandro Mani
40ad3b0993 [FEATURE]: Transactional editing for postgres layers (other datasources possible in the future). Funded by City of Uster 2015-01-19 15:22:20 +01:00
Landry Breuil
581cac7e9d Fix build failure with gcc < 4.4 (bug #10762) 2014-12-15 11:04:10 +01:00
Juergen E. Fischer
8d3654baa7 indentation update 2014-10-20 00:16:36 +02:00
Juergen E. Fischer
779bf5fb33 postgres: close connection when cursor can't be opened (fixes #10119) 2014-06-01 18:04:59 +02:00
Juergen E. Fischer
7f6663a8e6 postgres: also accept PGRES_TUPLES_OK as positive result for UPDATE/DELETE/INSERT (fixes #9738) 2014-06-01 00:54:00 +02:00
Juergen E. Fischer
da6ff917e6 fix 016b03b5 2014-05-31 16:10:15 +02:00
Juergen E. Fischer
016b03b562 postgres: convert 4d geometries to 2d (fixes #9748) 2014-05-31 13:47:55 +02:00
Juergen E. Fischer
5a25570b7e indentation update 2014-02-23 23:27:03 +01:00
Martin Dobias
a3af93394e Merge branch 'master' into threading-revival
Some features are still disabled - will be fixed later

Conflicts:
	python/core/composer/qgscomposition.sip
	python/core/diagram/qgsdiagram.sip
	python/core/diagram/qgshistogramdiagram.sip
	python/core/diagram/qgspiediagram.sip
	python/core/diagram/qgstextdiagram.sip
	python/core/qgsdiagramrendererv2.sip
	python/core/qgsfield.sip
	python/core/qgslabelsearchtree.sip
	python/core/qgsmaprenderer.sip
	python/core/qgsrenderchecker.sip
	python/core/symbology-ng/qgssymbollayerv2.sip
	python/gui/qgsmapcanvas.sip
	src/app/composer/qgscomposerlegendwidget.cpp
	src/app/qgisapp.cpp
	src/core/composer/qgsatlascomposition.cpp
	src/core/composer/qgscomposerattributetable.cpp
	src/core/composer/qgscomposermap.cpp
	src/core/composer/qgscomposition.cpp
	src/core/composer/qgscomposition.h
	src/core/diagram/qgsdiagram.h
	src/core/diagram/qgshistogramdiagram.cpp
	src/core/diagram/qgshistogramdiagram.h
	src/core/diagram/qgspiediagram.cpp
	src/core/diagram/qgspiediagram.h
	src/core/diagram/qgstextdiagram.cpp
	src/core/diagram/qgstextdiagram.h
	src/core/qgsdiagramrendererv2.cpp
	src/core/qgsdiagramrendererv2.h
	src/core/qgsmaprenderer.cpp
	src/core/qgsmaprenderer.h
	src/core/qgsnetworkaccessmanager.h
	src/core/qgspallabeling.cpp
	src/core/qgsrenderchecker.h
	src/core/qgsvectorlayer.cpp
	src/core/qgsvectorlayer.h
	src/core/qgsvectorlayerfeatureiterator.cpp
	src/core/qgsvectorlayerfeatureiterator.h
	src/core/raster/qgsrasterlayer.cpp
	src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp
	src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp
	src/core/symbology-ng/qgsmarkersymbollayerv2.cpp
	src/core/symbology-ng/qgssinglesymbolrendererv2.cpp
	src/core/symbology-ng/qgssymbollayerv2.cpp
	src/core/symbology-ng/qgssymbollayerv2.h
	src/core/symbology-ng/qgssymbolv2.cpp
	src/gui/qgshighlight.cpp
	src/gui/qgsmapcanvas.cpp
	src/gui/qgsmapcanvas.h
	src/gui/qgsmapcanvasitem.cpp
	src/gui/qgsmaptoolidentify.cpp
	src/plugins/georeferencer/qgsgeorefplugingui.cpp
	src/providers/memory/qgsmemoryfeatureiterator.cpp
	src/providers/ogr/qgsogrfeatureiterator.cpp
	src/providers/ogr/qgsogrfeatureiterator.h
	src/providers/ogr/qgsogrprovider.cpp
	src/providers/oracle/qgsoraclefeatureiterator.cpp
	src/providers/oracle/qgsoracleprovider.cpp
	src/providers/postgres/qgspostgresconn.cpp
	src/providers/postgres/qgspostgresfeatureiterator.cpp
	src/providers/postgres/qgspostgresfeatureiterator.h
	src/providers/wfs/qgswfsfeatureiterator.cpp
	src/providers/wms/qgswmsprovider.cpp
	src/providers/wms/qgswmsprovider.h
	src/ui/qgsoptionsbase.ui
	tests/src/core/CMakeLists.txt
	tests/src/core/testqgscomposereffects.cpp
	tests/src/core/testqgscomposerhtml.cpp
	tests/src/core/testqgscomposerscalebar.cpp
	tests/src/core/testqgscomposershapes.cpp
2014-02-18 11:28:46 +07:00
Juergen E. Fischer
85f6fb8b71 postgres provider: convert M to Z geometries (fixes #9032) 2014-02-11 01:37:10 +01:00
Martin Dobias
f15c886940 Fix #8852 (crash when removing invalid postgres table from project) 2014-02-09 15:59:43 +07:00
ahuarte47
db1192f151 #8725R: Replace ST_Simplify by ST_SnapToGrid 2014-01-31 01:49:09 +01:00
Juergen E. Fischer
eaf5725f56 postgres provider: don't try to detect geometry type or srid, if it's already known (fixes #9421) 2014-01-25 00:59:53 +01:00
Alvaro Huarte
b0474d6f5b #8725R: no check simplification topology for point geometries 2014-01-23 11:25:27 +01:00
Alvaro Huarte
2baf40307a #8725R: fix invalid LineStrings 2014-01-22 18:48:40 +01:00
Alvaro Huarte
01a733ba3f #8725R: fix collapsed polygons by ST_simplify in postgis 2014-01-22 12:52:06 +01:00
Alvaro Huarte
f6f0384c6b #87525R: refactoring and minor changes 2014-01-22 12:52:06 +01:00
Juergen E. Fischer
bf814c20d1 indentation update 2014-01-18 03:58:53 +01:00
Alvaro Huarte
8fb87f1828 #8725-R: minor changes 2014-01-15 11:00:01 +01:00