qwat-data-model icon indicating copy to clipboard operation
qwat-data-model copied to clipboard

Missing sequences for editable views?

Open haubourg opened this issue 4 years ago • 6 comments

Hi all , when using audit trigger to query the last modification date on every type I realized that we have a missing use case. For the editable views like hydrant or vw_element_installations QGIS does not evaluate the sequence, so what is logged by the audit trigger is either 'NULL' or the manual input , which is different from the definitive id.

I propose to add default values to the editable views so that QGIS can evaluate those sequences.

Something like :

ALTER VIEW qwat_od.vw_element_installation ALTER COLUMN id SET DEFAULT nextval('qwat_od.node_id_seq'); Any objection or better idea?

haubourg avatar Mar 20 '20 15:03 haubourg

In fact, the view generation is code-generated by the od_inheritance.py, so this is not trivial. At this stage, either we switch to [Pirogue](meta generation lib), or we just store plain text view definitions for the inheritance model. @lbartoletti @ponceta @3nids any opinion ?

The impact is currently that we can't use the audit system to track features created via editable views.

haubourg avatar Mar 20 '20 15:03 haubourg

In fact, this wouldn't work, because the trigger calls the fn_node_create node creation function which will give another id. We need to change the triggers to keep the id provided by QGIS if it equal to the max value of the sequence.
So it's not a trivial work.

haubourg avatar Mar 20 '20 15:03 haubourg

Interesting, I have the same problem here since qwat_od.vw_element_hydrant is not logged anymore :

image

image

IMHO QWAT should go for pirogue as soon as possible to get rid of the initial inheritance model.

@3nids is it a big work? Day(s)? Week(s)?

Pirogue enables mixed python / sql script which could be a gain in clarity.

ponceta avatar Aug 11 '20 13:08 ponceta

Moving to pirogue would indeed help a lot towards code clarity and maintenance ease. I'd say we're roughly talking about 3-4 days of work, I haven't looked into the details, but it should be a good estimate.

3nids avatar Aug 11 '20 14:08 3nids

Interesting, I have the same problem here since qwat_od.vw_element_hydrant is not logged anymore :

This issue is only for INSERT operations, not UPDATE. @ponceta if you don't have audit trails on hydrants, you probably lost the audit trigger on this view. Maybe a local customization or an extension missing to restore the triggers?

I think this is a bug unrelated to pirogue or the legacy metaproject. Can we move the pirogue migration discussion to another issue?

haubourg avatar Aug 17 '20 07:08 haubourg

@haubourg yes, sorry, pirogue discussion is moved to https://github.com/qwat/qwat-data-model/issues/326

ponceta avatar Sep 02 '20 12:09 ponceta