[QGIS-Developer] Renderer/expression issue temporal/gpkg
Richard Duivenvoorde
rdmailings at duif.net
Fri Jan 29 04:27:49 PST 2021
Hi Devs,
I have an issue with the (temporal) rendering of (seemingly only) gpkg.
See https://github.com/qgis/QGIS/issues/41074
For some test datasets.
I tried to debug, but get lost in the deeper core classes like featureiterator and renderer...
A gpkg with a QDatetime column seems to render the wrong 'classes',
while if I create a virtual new attribute (to_datatime('Time')) based on the original QDateTime it will render the right one.
BUT(!) those 2 attributes seem to be exactly the same...
So: to me it looks like there is something fishy there: renderer (featureiterator) seems to return other features then the (same?) iterator for the infotool and attributetable..
The temporal controller creates expressions to do the selections.
EG:
("Time" > make_datetime(2019,9,1,6,0,0) AND "Time" < make_datetime(2019,9,1,8,0,0)) OR "Time" IS NULL
BUT: a gkpg with 7 AND 8 will render BOTH, although the expressions rightfully return True (for 7) and False (for 8):
7 == true/1
make_datetime(2019,9,1,7,0,0) > make_datetime(2019,9,1,6,0,0) AND make_datetime(2019,9,1,7,0,0) < make_datetime(2019,9,1,8,0,0)
8 == false/0
make_datetime(2019,9,1,8,0,0) > make_datetime(2019,9,1,6,0,0) AND make_datetime(2019,9,1,8,0,0) < make_datetime(2019,9,1,8,0,0)
Anybody has a clue? Or can maybe reproduce my issue(s)?
Regards,
Richard Duivenvoorde
PS although one of my open PR's changes the logice of the expression a little, the behaviour for this is the same before and after this
More information about the QGIS-Developer
mailing list