zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #24524
Re: [Merge] lp:~zorba-coders/zorba/use-dataguide into lp:zorba
> I don't understand why. In my example it wouldn't. The count functions could
> count
> the number of empty objects or objects that contain only the STREET field.
I've looked into the test and here are the issues:
1) The fn:count() does not have the %explores-json annotation. I've confused it with the JSONiq array size() function.
2) Currently the dataguide does not distinguish between any of the fn: functions. So for example if you modify the query:
for $obj in parse-json(f:read-text(fn:resolve-uri("citylots-small.json")))
group by $s := $obj.STREET
return {
street : $s,
count : count($obj),
seq : subsequence($obj, 1, 100)
}
then if you prune the input to have only the .STREET field you'll get an incorrect result. So currently the argument to subsequence() is "explored" and so the dataguide is "*" in this case. The same happens with count().
3) fn:count() is a special case as it only cares for the number of objects and not their contents. I think another annotation could be added, which would be the opposite of %explores-json and which would indicate that the function ignores the details of the object. Or I could just add some code in the dataguide collection to handle fn:count() separately.
--
--
https://code.launchpad.net/~zorba-coders/zorba/use-dataguide/+merge/176385
Your team Zorba Coders is subscribed to branch lp:zorba.
Follow ups
References