Shape on articles still auto-generated (by having it in outer query, we don't need to parse EdgeQL text and inject anything inside).
This might also be integrated to compile-time checks, described in edgedb/edgedb#4276 so that shape and types of values are checked at compile time rather than at run time.
The idea is that when one does a query via Rust (or perhaps any other type-safe language), they describe shape twice:
Since we know the shape of the query from defined structure we can simplify query to:
Where internally it's transformed into the following query:
Since EdgeQL is easily composable, it will work fine if you need a filter on an
articles
, or a computable:Note:
first_name
would better be in-schema computablearticles
still auto-generated (by having it in outer query, we don't need to parse EdgeQL text and inject anything inside).This might also be integrated to compile-time checks, described in edgedb/edgedb#4276 so that shape and types of values are checked at compile time rather than at run time.