[Qgis-user] QGIS 2.10.1 adding PostGIS Views

James Keener jim at jimkeener.com
Tue Sep 1 10:15:59 PDT 2015


I don't disagree that it's a bad practice. However, is qgis a tool that you work with or around? Do we want to say "your data must have X as part of its schema or qgis can't use it" or will qgis make the best it can with poor data. Honestly, being loudly opinionated is a valid option if the developers feel it doesn't decrease the user experience drastically.

I'd also like to point out that the primary key need not be a single field. For instance (state_fips, county_fips) could be a valid key for county-based metrics. Going back to the previous question I posed, do we want to tell users to conform to a single-field primary key or will qgis accept valid schema designs. Again, it comes down to dev time vs the cost to the user experience.

Jim

On September 1, 2015 12:42:56 PM EDT, "Leknín Řepánek" <godzilalalala at gmail.com> wrote:
>Situation with a view without unique (and indexed) key is bad database
>model, or bad query. Using window function is unefficient, but i can't
>find another way to make unique column on query with duplicities in
>records. In query without duplicities is possible to use oid (but this
>needs tables with oids), or ctid (but ctid is slow).
>
>Sorting in row_number can be defined in (ORDER BY ...). But is
>unefficient (as you say). But works well for display smaller parts of
>data (thousands of features).
>
>Materialized view can be indexed. But this is about use case and it
>isnt
>a "pretty solution".  
>
>Je;
>
>On Tue, Sep 01, 2015 at 11:36:53AM -0400, James Keener wrote:
>> Please stop saying this. It's fine for certain situations, but it is
>not a
>> permanently unique identifier for a row. It may change when the
>underlying
>> table is altered. Sure, it's unique if you read the results and keep
>them in
>> memory and never talk about it again, but qgis does that on its own
>already.
>> 
>> Moreover querying on it is extremely inefficient. Querying against it
>forces a
>> sequence scan on the table. Depending on the table and version, it
>could also
>> try to materialize the view fully in memory before doing the scan.
>> 
>> Jim
>> 
>> On September 1, 2015 11:31:32 AM EDT, "Leknín Řepánek"
>> <godzilalalala at gmail.com> wrote:
>> 
>>     Workaround about primary key in view, i had use sever times is
>using
>>     window function "row_number() over()". It works in views and in
>query
>>     from database manager.
>> 
>>     Je;
>> 
>>     On Tue, Sep 01, 2015 at 04:09:49PM +0200, Sandro Santilli wrote:
>>          On Tue, Sep 01, 2015 at 02:37:22PM +0200, Jürgen E. Fischer
>wrote:
>>              Hi Sandro,
>> 
>>              On Tue, 01. Sep 2015 at 13:48:33 +0200, Sandro Santilli
>wrote:
>>                  I agree with Luca this should have been better not
>backported to 2.8.3.
>>                  Only proper bugs should be backported, and this was
>a (debatable)
>>                  GUI enhancement, as far as I can
>>                 tell.
>> 
>>              We intend to only backport fixes and not bugs. ;)
>> 
>>              You were always supposed to select the key column -
>preselecting the first
>>              column was the bug (also debatable).  And #11317 is a
>ticket that demonstrates
>>              there were unaware users.
>> 
>>          Reading #11317 I looks to me that the reported bug was about
>>          "Add PostGIS Layer" not giving the user full detail of why a
>>          layer could not be loaded: "is an invalid layer - not
>loaded".
>>          In this I agree with Aren here:
>http://hub.qgis.org/issues/11317#note-6
>> 
>>              That the first column often happens to be the primary
>key and and the combobox
>>              is not lexically sorted is somewhat pure luck - and
>unless you avoid having the
>>              key verified (using "use estimated metadata"),
>>             keeping a wrongly select
>>              column will make the layer to insert invalid.
>> 
>>          I agree that the reported regression was based on the false
>expectation
>>          that QGIS would pick a primary key automatically, but in the
>>          (unlikely?) case a user was aware of that and properly coded
>the view
>>          to ensure primary key was first (or only) numeric the change
>was
>>          indeed a degradation of the experience.
>> 
>>              But I agree that the tooltip that you get on disabled
>lines (not only for the
>>              key selection, but also geometry type and srid) might
>not be visible enough
>>              (but that IMHO would be just a GUI enhancement).
>> 
>>          There should maybe be another rule about LTS backports
>being:
>>          debatable fixes/enhancement need to be debated more on list
>?
>> 
>>          --strk;
>>        
>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>> 
>>          Qgis-user mailing
>>         list
>>          Qgis-user at lists.osgeo.org
>>          http://lists.osgeo.org/mailman/listinfo/qgis-user
>>    
>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>> 
>>     Qgis-user mailing list
>>     Qgis-user at lists.osgeo.org
>>     http://lists.osgeo.org/mailman/listinfo/qgis-user
>> 
>> 
>> --
>> Sent from my Android device with K-9 Mail. Please excuse my brevity.

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20150901/37e7357a/attachment.html>


More information about the Qgis-user mailing list