Skip to content

Commit 2e968cb

Browse files
authored
Merge pull request #1615 from marklogic/feature/563-optic-methods
DEVEXP-563 Added support for other 11.1 Optic methods
2 parents 1b0bb02 + b09199e commit 2e968cb

File tree

13 files changed

+787
-473
lines changed

13 files changed

+787
-473
lines changed

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

Lines changed: 160 additions & 84 deletions
Large diffs are not rendered by default.

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1587,6 +1587,22 @@ public interface ModifyPlan extends PreparePlan, PlanBuilderBase.ModifyPlanBase
15871587
* @return a ModifyPlan object
15881588
*/
15891589
public abstract ModifyPlan joinDocUri(PlanColumn uriCol, PlanColumn fragmentIdCol);
1590+
/**
1591+
* This method adds an uri column and a document column to rows based on an existing source column having a value of a document uri (which can be used to read other documents) or a fragment id (which can be used to read the source documents for rows). If the fragment id column is null in the row, the row is dropped from the rowset.
1592+
* @param docCol The document column to add to the rows. This can be a string or a column, op:col, op:view-col or op:schema-col, specifying the name of the new column that should have the document as its value. See {@link PlanBuilder#col(XsStringVal)}
1593+
* @param uriCol The uri column to add to the rows. This can be a string or a column, op:col, op:view-col or op:schema-col, specifying the name of the new column that should have the document uri as its value. See {@link PlanBuilder#col(XsStringVal)}
1594+
* @param sourceCol The document uri or fragment id value. This is either an op:fragment-id-col specifying a fragment id column or a document uri column as xs:string or as a column using op:col, op:view-col or op:schema-col. Joining on a fragment id is more efficient than joining on a uri column. See {@link PlanBuilder#col(XsStringVal)}
1595+
* @return a ModifyPlan object
1596+
*/
1597+
public abstract ModifyPlan joinDocAndUri(String docCol, String uriCol, String sourceCol);
1598+
/**
1599+
* This method adds an uri column and a document column to rows based on an existing source column having a value of a document uri (which can be used to read other documents) or a fragment id (which can be used to read the source documents for rows). If the fragment id column is null in the row, the row is dropped from the rowset.
1600+
* @param docCol The document column to add to the rows. This can be a string or a column, op:col, op:view-col or op:schema-col, specifying the name of the new column that should have the document as its value. See {@link PlanBuilder#col(XsStringVal)}
1601+
* @param uriCol The uri column to add to the rows. This can be a string or a column, op:col, op:view-col or op:schema-col, specifying the name of the new column that should have the document uri as its value. See {@link PlanBuilder#col(XsStringVal)}
1602+
* @param sourceCol The document uri or fragment id value. This is either an op:fragment-id-col specifying a fragment id column or a document uri column as xs:string or as a column using op:col, op:view-col or op:schema-col. Joining on a fragment id is more efficient than joining on a uri column. See {@link PlanBuilder#col(XsStringVal)}
1603+
* @return a ModifyPlan object
1604+
*/
1605+
public abstract ModifyPlan joinDocAndUri(PlanColumn docCol, PlanColumn uriCol, PlanColumn sourceCol);
15901606
/**
15911607
* This method returns all rows from multiple tables where the join condition is met. In the output row set, each row concatenates one left row and one right row for each match between the keys in the left and right row sets.
15921608
* @param right The row set from the right view.

0 commit comments

Comments
 (0)