62 Commits

Author SHA1 Message Date
Blottiere Paul
0dcfd56cdf Rowid column from ogr provider is ignored thanks to a blacklist join option 2017-10-09 05:01:34 +01:00
Nyall Dawson
a87d352bd7 Run clang-tidy modernize-use-default-member-init to move member
initialization to headers (c++11 style)
2017-09-27 05:02:34 +10:00
Nyall Dawson
be5d2979b9 Fix some Clazy detaching container warnings
(not all are valid, but at worst this flips some more
Q_FOREACH uses to c++11 for loops)
2017-08-29 18:04:29 +10:00
Blottiere Paul
e008f5881b Request without attributes 2017-08-28 14:09:58 +01:00
Blottiere Paul
cbeb8b27e5 Improve performance 2017-08-28 14:09:57 +01:00
Blottiere Paul
1fb88a778c QgsVectorLayerJoinBuffer inherits from QgsFeatureSink 2017-08-28 14:09:57 +01:00
Blottiere Paul
b6e42c7d2b Move join intelligence in QgsVectorlayerJoinBuffer 2017-08-28 14:09:57 +01:00
Blottiere Paul
8b70d7fa4b Rename setDeleteCascade/isDeleteCascade in setCascadedDelete/hasCascadedDelete 2017-08-28 14:09:56 +01:00
Blottiere Paul
97ad226f64 Rename isUpsertOnEdit in hasUpsertOnEdit 2017-08-28 14:09:56 +01:00
Blottiere Paul
cad038b1bf Initialize joined feature properly 2017-08-28 14:09:56 +01:00
Blottiere Paul
477775a5d7 [FEATURE] Joined fields are editable if the option is activated 2017-08-28 14:09:55 +01:00
Blottiere Paul
1897bec2a8 [needs-doc] Add editable/upsert on edit/delete cascade options 2017-08-28 14:09:55 +01:00
Blottiere Paul
1811a39654 [FEATURE] Constraints are updated on joined fields when dynamic form option is enabled 2017-07-24 14:45:46 +01:00
Blottiere Paul
3a8d56ec75 Replace QString by QStringLiteral 2017-07-02 17:25:15 +02:00
Blottiere Paul
e52414ea9d Q_FOREACH use to iterate over joins info 2017-07-02 17:21:36 +02:00
Blottiere Paul
3e2d9c5445 Add consistency between ptrs and ref 2017-07-02 16:58:54 +02:00
Blottiere Paul
c09f5bef83 Safer filtering step thanks to QgsExpression 2017-06-30 08:24:26 +01:00
Blottiere Paul
c6ffd54170 Joined fields are updated according to the target field name in form 2017-06-30 06:46:22 +01:00
Blottiere Paul
73bb463c05 [needs-doc] New option to update joined fields in form 2017-06-30 06:45:34 +01:00
Blottiere Paul
be32fdec6b [bugfix] Attribute table model not updated after opening a project with joins 2017-06-25 14:39:00 +01:00
Martin Dobias
51e7efe218 Replace QString::null by QString() in core (deprecated since Qt 5.9) 2017-06-06 11:36:41 +02:00
Denis Rouzaud
40c056cae0 run astyle on src/core 2017-03-03 09:09:37 +01:00
Martin Dobias
7683cfacd3 Rework vector joins so they do not use QgsProject::instance()
The basic idea is to split reading of XML definition and resolution of layer IDs into layers.

Also includes some cleanups in QgsProject and improvements in QgsVectorLayerJoinInfo.
2017-01-31 09:33:02 +08:00
Nyall Dawson
2a34af8bd1 Optimise destructors (pt 2) 2016-12-30 15:48:07 +10:00
Martin Dobias
d56a97d4fe Merge QgsMapLayerRegistry into QgsProject
All methods/signals of QgsMapLayerRegistry moved verbatim to QgsProject.
2016-12-10 15:18:12 +08:00
Nyall Dawson
47109d13b7 Flip some connects to new style 2016-11-01 11:10:40 +10:00
Nyall Dawson
4166a3ea62 Fix most clazy qstring-unneeded-heap-allocations warnings
By flipping string literals to QStringLiteral/QLatin1String

see

https://woboq.com/blog/qstringliteral.html
2016-10-24 15:26:24 +10:00
Nyall Dawson
44289084e9 Optimise passing of variables by ref/value 2016-10-24 10:36:23 +10:00
Matthias Kuhn
b6779f63ff Rename QgsFields::fieldNameIndex() to lookupField()
To have two clearly different names for tolerant/intolerant index lookup
2016-10-01 15:39:03 +02:00
Nyall Dawson
c628c0f434 Rework includes to forward declare as much as possible
Should speed up recompilation when headers change
2016-07-18 19:10:19 +10:00
Denis Rouzaud
7eacd444d0 prevent concurrent access while creating iterators and updating cache info (#3224)
#mutexmania
kudos to @m-kuhn
2016-06-21 18:02:06 +02:00
Nyall Dawson
0a5ad73581 Invalid join cache when layer is modified (fix #11140) 2016-06-13 22:08:55 +10:00
Nyall Dawson
1563193707 Port more field iterating to Q_FOREACH, avoid some detachments 2016-03-10 10:45:19 +11:00
Denis Rouzaud
e453c1588d remove join returns true in case of success 2016-02-01 03:38:16 -05:00
Denis Rouzaud
13ccf70e1a test vector join: add PostgreSQL provider 2016-01-20 12:00:46 +01:00
Nyall Dawson
576875e998 Followup 320c696 use clang-modernize to replace 0/NULL use with nullptr 2015-12-15 11:24:51 +11:00
Nyall Dawson
ee720796a3 Change size()/count() == 0 and count() > 0 to isEmpty() checks
Because:
- easier to read
- follows recommendations by clazy/KDAB
- potentially performance benefits
2015-12-08 22:45:06 +11: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
Nyall Dawson
1969e09b6f Also avoid detaching QgsFields and QgsAttributes where possible 2015-10-20 20:36:08 +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
Nyall Dawson
73ffb83ad4 Make sure a lot of foreach loops use references 2015-09-08 17:33:18 +10:00
Matthias Kuhn
e832b2a28a Add QgsVectorLayer::fields() as alias to pendingFields()
pendingFields() is not very intuitive and leads to confusion for new developers.
2015-08-04 15:13:31 +02:00
Martin Dobias
78708159b2 Fix shifted joined attributes when join field is repeated (fixes #12589) 2015-06-18 21:18:19 +08:00
arnaud.morvan@camptocamp.com
cb4d5189ef Write to project join memory cache property instead of cachedAttributes.isEmpty 2015-05-21 08:42:31 +02:00
Nyall Dawson
d393d268e1 Fix up non-const getters for attributes and geometry in QgsFeature
(preparation for implicit sharing)
2015-05-20 21:46:15 +10:00
Matthias Kuhn
60712cd9bd [FEATURE] Allow to specify custom prefix for joins 2015-01-22 15:58:34 +01:00
Nyall Dawson
d74f4062f0 Fix warning 2014-10-19 18:37:46 +11:00
Juergen E. Fischer
d8cc79ac44 indentation update 2014-09-26 22:00:00 +02:00
Martin Dobias
de48dad6e9 Followup #10912 - detect cycles in joins and reject joins that would create cycle
Cycle would otherwise cause infinite loop when updating fields and it does not make sense
2014-09-16 12:11:15 +07:00
Martin Dobias
ffcd07b066 Joins: optionally use just a subset of fields from joined layer 2014-09-13 14:27:52 +07:00