Skip to content

Commit 7ae6490

Browse files
QueryBuilder: Hold on to last property condition to use for parameter alias.
1 parent 56ad7eb commit 7ae6490

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

objectbox-java/src/main/java/io/objectbox/query/QueryBuilder.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,14 @@ enum Operator {
9494

9595
private long handle;
9696

97+
/**
98+
* Holds on to last condition. May be a property condition or a combined condition.
99+
*/
97100
private long lastCondition;
101+
/**
102+
* Holds on to last property condition to use with {@link #parameterAlias(String)}
103+
*/
104+
private long lastPropertyCondition;
98105
private Operator combineNextWith = Operator.NONE;
99106

100107
@Nullable
@@ -307,10 +314,10 @@ public QueryBuilder<T> sort(Comparator<T> comparator) {
307314
*/
308315
public QueryBuilder<T> parameterAlias(String alias) {
309316
verifyHandle();
310-
if (lastCondition == 0) {
317+
if (lastPropertyCondition == 0) {
311318
throw new IllegalStateException("No previous condition. Before you can assign an alias, you must first have a condition.");
312319
}
313-
nativeSetParameterAlias(lastCondition, alias);
320+
nativeSetParameterAlias(lastPropertyCondition, alias);
314321
return this;
315322
}
316323

@@ -478,6 +485,7 @@ private void checkCombineCondition(long currentCondition) {
478485
} else {
479486
lastCondition = currentCondition;
480487
}
488+
lastPropertyCondition = currentCondition;
481489
}
482490

483491
public QueryBuilder<T> isNull(Property<T> property) {

0 commit comments

Comments
 (0)