Skip to content

Commit a85bf98

Browse files
author
ehennum
committed
fix for .where(p.sqlCondition("...")) Optic function #909
1 parent 0e0b52c commit a85bf98

File tree

2 files changed

+12
-34
lines changed

2 files changed

+12
-34
lines changed

marklogic-client-api/src/main/java/com/marklogic/client/expression/PlanBuilderBase.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,12 @@ interface ModifyPlanBase {
331331
* @return a ModifyPlan object
332332
*/
333333
public PlanBuilder.ModifyPlan where(CtsQueryExpr condition);
334+
/**
335+
* This method restricts the row set to rows matched by an SQL boolean expression. To construct the condition argument, pass the SQL boolean expression as a string to the sqlCondition() method.
336+
* @param condition The SQL boolean expression on which to match as returned by sqlCondition().
337+
* @return a ModifyPlan object
338+
*/
339+
public PlanBuilder.ModifyPlan where(PlanCondition condition);
334340
/**
335341
* This method adjusts the row set based on the triples for the sem.store definition,
336342
* restricting the triples to the documents matched by a cts.query expression and

marklogic-client-api/src/main/java/com/marklogic/client/impl/PlanBuilderSubImpl.java

Lines changed: 6 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -28,40 +28,7 @@
2828
import com.marklogic.client.io.BaseHandle;
2929
import com.marklogic.client.io.marker.ContentHandle;
3030
import com.marklogic.client.io.marker.JSONReadHandle;
31-
import com.marklogic.client.type.ArrayNodeExpr;
32-
import com.marklogic.client.type.AttributeNodeExpr;
33-
import com.marklogic.client.type.AttributeNodeSeqExpr;
34-
import com.marklogic.client.type.CtsQueryExpr;
35-
import com.marklogic.client.type.CtsReferenceExpr;
36-
import com.marklogic.client.type.ElementNodeExpr;
37-
import com.marklogic.client.type.ItemExpr;
38-
import com.marklogic.client.type.ItemSeqExpr;
39-
import com.marklogic.client.type.JsonContentNodeExpr;
40-
import com.marklogic.client.type.ObjectNodeExpr;
41-
import com.marklogic.client.type.PlanAggregateCol;
42-
import com.marklogic.client.type.PlanCase;
43-
import com.marklogic.client.type.PlanColumn;
44-
import com.marklogic.client.type.PlanExprCol;
45-
import com.marklogic.client.type.PlanFunction;
46-
import com.marklogic.client.type.PlanGroupConcatOptionSeq;
47-
import com.marklogic.client.type.PlanJsonProperty;
48-
import com.marklogic.client.type.PlanParamBindingVal;
49-
import com.marklogic.client.type.PlanParamExpr;
50-
import com.marklogic.client.type.PlanPrefixer;
51-
import com.marklogic.client.type.PlanSystemColumn;
52-
import com.marklogic.client.type.PlanTripleOption;
53-
import com.marklogic.client.type.PlanTriplePatternSeq;
54-
import com.marklogic.client.type.PlanValueOption;
55-
import com.marklogic.client.type.SemIriVal;
56-
import com.marklogic.client.type.SemStoreExpr;
57-
import com.marklogic.client.type.XmlContentNodeExpr;
58-
import com.marklogic.client.type.XmlContentNodeSeqExpr;
59-
import com.marklogic.client.type.XsBooleanExpr;
60-
import com.marklogic.client.type.XsLongVal;
61-
import com.marklogic.client.type.XsQNameExpr;
62-
import com.marklogic.client.type.XsQNameVal;
63-
import com.marklogic.client.type.XsStringSeqVal;
64-
import com.marklogic.client.type.XsStringVal;
31+
import com.marklogic.client.type.*;
6532

6633
public class PlanBuilderSubImpl extends PlanBuilderImpl {
6734
public PlanBuilderSubImpl() {
@@ -668,6 +635,11 @@ public ModifyPlan where(CtsQueryExpr condition) {
668635
return new ModifyPlanSubImpl(this, "op", "where", new Object[]{ condition });
669636
}
670637

638+
@Override
639+
public ModifyPlan where(PlanCondition condition) {
640+
return new ModifyPlanSubImpl(this, "op", "where", new Object[]{ condition });
641+
}
642+
671643
@Override
672644
public ModifyPlan where(SemStoreExpr condition) {
673645
return new ModifyPlanSubImpl(this, "op", "where", new Object[]{ condition });

0 commit comments

Comments
 (0)