The special "all" schema
There is a special schema known as the all schema, defined in glean/schema/source/schema.angle.
The all schema is used to resolve names to particular predicates and
types when the version in omitted. This matters in a few places:
When Thrift types are generated from the schema, the types and predicates from the
allschema determine which names are unversioned in the generated Thrift. For example, if theallschema containssrc.1, then the predicatesrc.File.1will be simply calledFilein the generated Thrift; otherwise it would be calledFile_1.When an Angle query mentions an unversioned predicate or type, the name is resolved to a particular version of that predicate or type using the current
allschema.When deriving a predicate with the CLI tool, like
glean derive python.TargetUses.
The all schema is defined like this:
schema all.6 :
src.1,
python.4,
code.18
If there are multiple versions of all, all but the highest version
are ignored.