[Qgis-user] Editing attributes in embedded forms

Pekka Sarkola pekka at gispo.fi
Thu Jun 3 04:02:37 PDT 2021


Hi Bo,

Yes, serial -type has been working always. But since PostgreSQL 10 identity
has been preferred (?) way to handle primary keys, I have followed that
guideline:
https://www.depesz.com/2017/04/10/waiting-for-postgresql-10-identity-columns/

But, I see that this has already been fixed. Thank you, I will test later
on.

Rgs,

Pekka

Pekka Sarkola
Gispo Oy
pekka.sarkola at gispo.fi   - GSM +358 40 725 2042
www.gispo.fi – www.paikkatieto.com


to 3. kesäk. 2021 klo 11.07 Bo Victor Thomsen (bo.victor.thomsen at gmail.com)
kirjoitti:

> Hi Pekka -
>
> I think you ran into a QGIS - Postgres problem using the "identity" type
> qualifier.
>
> I tried to execute your "create table" example with the "Identity" type
> definition for the primary key. It doesn't create the sequence that QGIS
> assumes exist.
>
> Changing you sample code to:
>
>     CREATE TABLE IF NOT EXISTS data.sample_point2
>     (
>         fid serial NOT NULL,
>         wkb_point geometry(Point,3067),
>         name varchar,
>         CONSTRAINT sample_point2_pk PRIMARY KEY (fid)
>     );
>
> i.e change the PK column to a "serial" will produce the expected sequence
> in Postgres. The last table will probably function correctly in QGIS  (Not
> tested, and yes - I know: Identity and Serial types is not the same)
>
>
> Med venlig hilsen / Kind regards
>
> Bo Victor Thomsen
>
> Den 03-06-2021 kl. 08:23 skrev Pekka Sarkola:
>
> Hi,
>
> You repeat this "ERROR: column "sample_point_fid_seq" does not exist"
> -problem with:
> Create very simple table to PostGIS (choose your own CRS):
>
> CREATE TABLE IF NOT EXISTS sample_point
> (
>     fid integer NOT NULL GENERATED ALWAYS AS IDENTITY,
>     wkb_point geometry(Point,3067),
>     name varchar,
>     CONSTRAINT sample_point_pk PRIMARY KEY (fid)
> );
>
> Add table to QGIS. Editing works, without errors.
>
> If you tick on from project properties: "Evaluate default values on
> provider side", error will happen:
>
> 2021-06-03T09:22:31     WARNING    Erroneous query: SELECT
> nextval("sample_point_fid_seq"::regclass) returned 7 [ERROR: column
> "sample_point_fid_seq" does not exist
>
>              LINE 1: SELECT nextval("sample_point_fid_seq"::regclass)
>
>               ^
>
>              ]
>
> Rgs,
>
> Pekka
>
> Pekka Sarkola
> Gispo Oy
> pekka.sarkola at gispo.fi   - GSM +358 40 725 2042
> www.gispo.fi – www.paikkatieto.com
>
>
> to 3. kesäk. 2021 klo 8.47 Pekka Sarkola (pekka at gispo.fi) kirjoitti:
>
>> Hi Alexandre et al,
>>
>> I re-create a database (sample one), create a new QGIS project, add
>> layers => same error. Maybe I open an issue in Github and I can share more
>> SQL and snapshots.
>>
>> Rgs,
>>
>> Pekka
>>
>> Pekka Sarkola
>> Gispo Oy
>> pekka.sarkola at gispo.fi   - GSM +358 40 725 2042
>> www.gispo.fi – www.paikkatieto.com
>>
>>
>> ti 1. kesäk. 2021 klo 16.36 Alexandre Neto (senhor.neto at gmail.com)
>> kirjoitti:
>>
>>> From that last error...
>>>
>>> Are you sure your table was not changed after being loaded to QGIS? It
>>> seems to expect a sequence that no longer exists.
>>>
>>> Alexandre Neto
>>>
>>> A terça, 1/06/2021, 12:22, Pekka Sarkola <pekka at gispo.fi> escreveu:
>>>
>>>> Hi Andreas,
>>>>
>>>> Trasnsactions groups are enabled: editing is working (not in embedded
>>>> forms) as expected.
>>>>
>>>> If I enable "Evaluate default values.."-option, I will get error:
>>>>
>>>> 2021-06-01T14:11:44     WARNING    Erroneous query: SELECT
>>>> nextval("sample_point_fid_seq"::regclass) returned 7 [ERROR: column
>>>> "sample_point_fid_seq" does not exist
>>>>              LINE 1: SELECT nextval("sample_point_fid_seq"::regclass)
>>>>
>>>> Primary key of the geometry table is "fid" and it has been defined as
>>>> IDENTITY column (fid integer NOT NULL GENERATED ALWAYS AS IDENTITY (
>>>> INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ).
>>>>
>>>> I presume this evaluation of the default values is not the solution for
>>>> this case.
>>>>
>>>> Rgs,
>>>>
>>>> Pekka
>>>>
>>>> Pekka Sarkola
>>>> Gispo Oy
>>>> pekka.sarkola at gispo.fi   - GSM +358 40 725 2042
>>>> www.gispo.fi – www.paikkatieto.com
>>>>
>>>>
>>>> ti 1. kesäk. 2021 klo 11.10 Andreas Neumann (a.neumann at carto.net)
>>>> kirjoitti:
>>>>
>>>>> Hi Pekka,
>>>>>
>>>>> Have you enabled the  transaction mode in your project?
>>>>>
>>>>> See menu "Project" --> "Properties" --> "Data Sources".
>>>>>
>>>>> I usually enable all three check boxes:
>>>>>
>>>>> - Automatically create transaction groups where possible
>>>>>
>>>>> - Evaluate default values on provider side
>>>>>
>>>>> - Trust project when data source has no metadata
>>>>>
>>>>> The transaction mode allows to edit all layers from the same data base
>>>>> connection (needs identical db connection string and credentials) and -
>>>>> together with "evaluate default values on provider side" - immediately
>>>>> retrieves primary keys from the DB, so that you can link objects
>>>>> immediately, without having to save first.
>>>>>
>>>>> Greetings,
>>>>>
>>>>> Andreas
>>>>>
>>>>> On 2021-06-01 09:55, Pekka Sarkola wrote:
>>>>>
>>>>> Hi folks!
>>>>>
>>>>> I have a problem editing feature attributes in embedded forms. Data is
>>>>> stored in PostGIS and I have a simple 1:1 relationship with the geometry
>>>>> table and an additional attribute table. QGIS version is 3.18.3 on Ubuntu.
>>>>>
>>>>> I have created a custom form with a drag-and-drop designer. I can edit
>>>>> additional attribute table attributes in embedded form, but those edits are
>>>>> not stored anywhere. I have to open a separate form and then edit attribute
>>>>> values of the related attribute table. This is quite annoying for the end
>>>>> user.
>>>>>
>>>>> Any suggestions? Or should I write a better description to the Github?
>>>>>
>>>>> Rgs,
>>>>>
>>>>> Pekka
>>>>>
>>>>> Pekka Sarkola
>>>>> Gispo Oy
>>>>> pekka.sarkola at gispo.fi   - GSM +358 40 725 2042
>>>>> www.gispo.fi – www.paikkatieto.com
>>>>>
>>>>> _______________________________________________
>>>>> Qgis-user mailing list
>>>>> Qgis-user at lists.osgeo.org
>>>>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>>>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>>>>
>>>>>
>>>>> _______________________________________________
>>>> Qgis-user mailing list
>>>> Qgis-user at lists.osgeo.org
>>>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>>>
>>>
> _______________________________________________
> Qgis-user mailing listQgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20210603/ce5f84c5/attachment-0001.html>


More information about the Qgis-user mailing list