cubicweb #3604001 bad interpretation of LIMIT in UNION query [validation pending]

The following query returns 1 row instead of 2:

(Any X LIMIT 1 WHERE X is CWRelation)
UNION
(Any X LIMIT 1 WHERE X is CWAttribute)

Moreover, the following one returns the 2 expected rows:

Any X WITH X BEING (
  (Any X LIMIT 1 WHERE X is CWRelation)
  UNION
  (Any X LIMIT 1 WHERE X is CWAttribute))

The problem seems to lie in OneFetchStep.__init__ where only the last child of the rqlst is considered:

http://hg.logilab.org/master/cubicweb/file/09b4ebb9b0f1/server/ssplanner.py#l369

priorityimportant
typebug
done in3.19.0
load0.250
load left0.000
closed by<not specified>