Skip to content

Commit 1b5046c

Browse files
Extend ThingConstraint.has to return attribute identity variables
1 parent 25531fc commit 1b5046c

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

java/pattern/constraint/ThingConstraint.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import java.util.Set;
4242
import java.util.concurrent.atomic.AtomicInteger;
4343
import java.util.regex.Pattern;
44+
import java.util.stream.Collectors;
4445

4546
import static com.vaticle.typedb.common.collection.Collections.list;
4647
import static com.vaticle.typedb.common.collection.Collections.pair;
@@ -436,7 +437,7 @@ private Has(@Nullable TypeVariable type, ThingVariable<?> attribute) {
436437

437438
@Override
438439
public Set<BoundVariable> variables() {
439-
return set(attribute);
440+
return attribute.variables().collect(Collectors.toSet());
440441
}
441442

442443
@Override

java/query/test/TypeQLQueryTest.java

+8
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,14 @@ public void testMatchInsertWithValueVariable() {
142142
assertEquals("match\n?x = 2;\ninsert\n$a ?x isa prime;", query.toString());
143143
}
144144

145+
@Test
146+
public void testMatchInsertOwnershipWithValueVariable() {
147+
TypeQLInsert query = match(
148+
valvar("x").assign(Expr.constant(2))
149+
).insert(var("p").has("prime", valvar("x")));
150+
assertEquals("match\n?x = 2;\ninsert\n$p has prime ?x;", query.toString());
151+
}
152+
145153
@Test
146154
public void testZeroToString() {
147155
assertEquals("match\n$x 0.0;", match(var("x").eq(0.0)).toString());

0 commit comments

Comments
 (0)