@@ -322,7 +322,7 @@ protected PlanBuilder(
322322 public abstract PlanExprColSeq colSeq (String ... col );
323323 /**
324324 * Passes multiple columns as a parameter to an operation.
325- * @param col the columns. See {@link PlanBuilder#col(String)} and {@link PlanBuilder#as(String, ServerExpression)}
325+ * @param col the columns. See {@link PlanBuilder#col(String)} and {@link PlanBuilder#as(String, ServerExpression)}
326326 * @return the sequence of columns
327327 */
328328 public abstract PlanExprColSeq colSeq (PlanExprCol ... col );
@@ -1276,6 +1276,7 @@ public interface ExportablePlan extends Plan, PlanBuilderBase.ExportablePlanBase
12761276 * of the plan for executing a row pipeline on the server.
12771277 */
12781278 public interface ModifyPlan extends PreparePlan , PlanBuilderBase .ModifyPlanBase {
1279+ public abstract ModifyPlan bind (PlanExprColSeq columns );
12791280/**
12801281 * This function adds a column based on an expression without altering the existing columns in the row set.
12811282 * @param column The name of the column to be defined.
@@ -1296,6 +1297,42 @@ public interface ModifyPlan extends PreparePlan, PlanBuilderBase.ModifyPlanBase
12961297 * @return a ModifyPlan object
12971298 */
12981299 public abstract ModifyPlan except (ModifyPlan right );
1300+ /**
1301+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1302+ * @param right The row set from the right view.
1303+ * @return a ModifyPlan object
1304+ */
1305+ public abstract ModifyPlan existsJoin (ModifyPlan right );
1306+ /**
1307+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1308+ * @param right The row set from the right view.
1309+ * @param keys The equijoin from one or more calls to the op:on function.
1310+ * @return a ModifyPlan object
1311+ */
1312+ public abstract ModifyPlan existsJoin (ModifyPlan right , PlanJoinKey ... keys );
1313+ /**
1314+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1315+ * @param right The row set from the right view.
1316+ * @param keys The equijoin from one or more calls to the op:on function.
1317+ * @return a ModifyPlan object
1318+ */
1319+ public abstract ModifyPlan existsJoin (ModifyPlan right , PlanJoinKeySeq keys );
1320+ /**
1321+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1322+ * @param right The row set from the right view.
1323+ * @param keys The equijoin from one or more calls to the op:on function.
1324+ * @param condition A boolean expression that filters the join output rows. (of <a href="{@docRoot}/doc-files/types/xs_boolean.html">xs:boolean</a>)
1325+ * @return a ModifyPlan object
1326+ */
1327+ public abstract ModifyPlan existsJoin (ModifyPlan right , PlanJoinKeySeq keys , boolean condition );
1328+ /**
1329+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1330+ * @param right The row set from the right view.
1331+ * @param keys The equijoin from one or more calls to the op:on function.
1332+ * @param condition A boolean expression that filters the join output rows. (of <a href="{@docRoot}/doc-files/types/xs_boolean.html">xs:boolean</a>)
1333+ * @return a ModifyPlan object
1334+ */
1335+ public abstract ModifyPlan existsJoin (ModifyPlan right , PlanJoinKeySeq keys , ServerExpression condition );
12991336/**
13001337 * This method counts values for multiple grouping key columns.
13011338 * @param keys This parameter specifies the list of column keys for performing counts. For each column, the operation determines the unique values of that column and produces a separate count for the rows with that value. A column can be named with a string or a column parameter function such as op:col or constructed from an expression with the op:as function. See {@link PlanBuilder#colSeq(String...)}
@@ -1491,6 +1528,42 @@ public interface ModifyPlan extends PreparePlan, PlanBuilderBase.ModifyPlanBase
14911528 * @return a ModifyPlan object
14921529 */
14931530 public abstract ModifyPlan joinFullOuter (ModifyPlan right , PlanJoinKeySeq keys , ServerExpression condition );
1531+ /**
1532+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1533+ * @param right The row set from the right view.
1534+ * @return a ModifyPlan object
1535+ */
1536+ public abstract ModifyPlan notExistsJoin (ModifyPlan right );
1537+ /**
1538+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1539+ * @param right The row set from the right view.
1540+ * @param keys The equijoin from one or more calls to the op:on function.
1541+ * @return a ModifyPlan object
1542+ */
1543+ public abstract ModifyPlan notExistsJoin (ModifyPlan right , PlanJoinKey ... keys );
1544+ /**
1545+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1546+ * @param right The row set from the right view.
1547+ * @param keys The equijoin from one or more calls to the op:on function.
1548+ * @return a ModifyPlan object
1549+ */
1550+ public abstract ModifyPlan notExistsJoin (ModifyPlan right , PlanJoinKeySeq keys );
1551+ /**
1552+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1553+ * @param right The row set from the right view.
1554+ * @param keys The equijoin from one or more calls to the op:on function.
1555+ * @param condition A boolean expression that filters the join output rows. (of <a href="{@docRoot}/doc-files/types/xs_boolean.html">xs:boolean</a>)
1556+ * @return a ModifyPlan object
1557+ */
1558+ public abstract ModifyPlan notExistsJoin (ModifyPlan right , PlanJoinKeySeq keys , boolean condition );
1559+ /**
1560+ * This method is a filtering join that filters based on whether the join exists or not but doesn't add any columns.
1561+ * @param right The row set from the right view.
1562+ * @param keys The equijoin from one or more calls to the op:on function.
1563+ * @param condition A boolean expression that filters the join output rows. (of <a href="{@docRoot}/doc-files/types/xs_boolean.html">xs:boolean</a>)
1564+ * @return a ModifyPlan object
1565+ */
1566+ public abstract ModifyPlan notExistsJoin (ModifyPlan right , PlanJoinKeySeq keys , ServerExpression condition );
14941567/**
14951568 * This method sorts the row set by the specified order definition.
14961569 * @param keys The specified column or sortdef output from the op:asc or op:desc function. See {@link PlanBuilder#sortKeySeq(PlanSortKey...)}
0 commit comments