veyron2/query/parse: Replace "{foo as bar}" syntax with "{bar: foo}".
Some people found the old alias syntax difficult to parse visually,
so this changes it to be more like a struct literal. This is
helpful when the sub-query is really long-- it can be difficult
to find the name of the result when it is all the way at the end
of the subquery.
This change adds the requirement that all subqueries have an explicit
name. This makes it obvious what to name a subquery of '.' (i.e. the
whole object). The old code named it "" which is kind of a weird
key to have in a map. Now, the developer will choose.
The downside of required alias names is redundancy (e.g. "{Name: Name}").
We'll see if it is a problem and possibly make it optional in
the future (e.g. "{Name, myloc: Location}").
Change-Id: Icd6e82a848aa88ba87ac08adae6642a819c97d80
1 file changed