You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 9, 2023. It is now read-only.
Support generalised annotations and uniqueness (#293)
## What is the goal of this PR?
We update the Typedb Protocol and TypeQL to the latest versions, which support the uniqueness annotation and generalised `Type` APIs. These generalised APIs allow querying by a set of annotations, rather than just boolean = `true|false`.
For example, the API: `AttributeType.get_owners(onlyKey: boolean)`, has become: `AttributeType.get_owners(annotations: Set["Annotation"])`
All usages of boolean flags to indicate key-ness should be replaced by a set of `ThingType.AnnotationEnum.KEY`. The new `@unique` annotation is available as `ThingType.AnnotationEnum.KEY`, and also usable within the APIs that accept annotations.
## What are the changes implemented in this PR?
* Update dependencies to include generalised annotations in the language and protocol. We also pull the `behaviour` repository to include tests for generalised annotations
* We reflect the changes to the behaviour test steps in the implementation of BDD steps, in particular with extensions for generalised annotations
* Update Concept API methods to remove the `*_key` boolean and replace it with a set of flags from `ThingType.Annotation`
Related protocol changes: typedb/typedb-protocol#182 and typedb/typedb-protocol@de4f5b4
Related core changes: typedb/typedb#6775 , typedb/typedb@e24cfa9 , and typedb/typedb@b16cdb0
commit="fbba9fc19042460760b852b765d356c9b3f4ebf0"# sync-marker: do not remove this comment, this is used for sync-dependencies by @vaticle_typedb_behaviour
42
+
commit="aa675d9052046b1a4ffd45f444854d8735028702"# sync-marker: do not remove this comment, this is used for sync-dependencies by @vaticle_typedb_behaviour
0 commit comments