-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce Values to support expressions #409
Introduce Values to support expressions #409
Conversation
PR Review ChecklistDo not edit the content of this comment. The PR reviewer should simply update this comment by ticking each review item below, as they get completed. Trivial Change
Code
Architecture
|
Tests are red because the cluster artifact doesn't support arithmetic. |
@Override | ||
public Concept.Remote asRemote(TypeDBTransaction transaction) { | ||
throw new TypeDBClientException(VALUECONCEPT_HAS_NO_REMOTE); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Value concepts are ephemeral and have no remote.
6ecf2eb
to
64456a3
Compare
## What is the goal of this PR? We update the Rust driver to support the features introduced in driver Java since v2.19 in effort to preserve the feature set when transitioning from the JVM-native implementation to the Rust JNI implementation. ## What are the changes implemented in this PR? Changes in master since branching (#417): Reimplemented in Rust and made available in Java over JNI: - #409 - #421 - 1f396a6 Improve method unavailable error message - #430 - #431: partial, since `tonic` does not report SSL errors to the same granularity Cherry-picked directly: - #415 - 42800e7 Update VERSION to 2.18.1 - 7cd0a5a Add eclipsesource-minimal-json to maven dependencies (#423) - 63614ec Update CODEOWNERS - #424 Dropped entirely (Java-specific or obsolete): - #422 - 8c0caa1 Update VERSION and release notes --------- Co-authored-by: Benjamin Small <benjaminasmall@gmail.com> Co-authored-by: joshua <joshua@vaticle.com> Co-authored-by: Krishnan Govindraj <krishnangovindraj@users.noreply.github.com>
What is the goal of this PR?
Introduce the 'Value' type, which is returned as the result of an expression's computation. This change follows from typedb/typeql#260, which outlines the capabilities of the new expression syntax.
Values (representing any of Long, Double, Boolean, String, or DateTime) are returned as part of
ConceptMap
answers and are subtypes ofConcept
for the time being. Their main API is made of the.getValue()
method and.getValueType()
method, along with all the standard safe downcasting methods to convert aConcept
into aValue
, usingConcept.isValue()
andConcept.asValue()
.We also move the import location of
ValueType
from being nested inAttributeType
toConcept
.What are the changes implemented in this PR?
Value
concept and the requiredValueImpl
that implements itValueType
to no longer live withinAttributeType
- now it exists inConcept.ValueType
ExpressionTest
behaviour scenarios, which we also add to CI