storageFamilies

fun QueryValueSchema.storageFamilies(capability: QueryCapability, rules: QueryStorageFamilyRules = QueryStorageFamilyRules.STRICT): List<Set<QueryStorageFamily>>

The native type families this scalar value needs for capability: one set per declared alternative, and storage proves the capability when its native types cover every set and fall in some set. An empty list, or a list with an empty set, means no storage can prove the capability for this value.

Only the value's semantic type and value types are read. Capabilities that do not compare values (QueryCapability.PRESENCE, QueryCapability.ELEMENT_SCOPE) have no families: they are storage structure, not value types.