Skip to content

Commit 1d7d39b

Browse files
author
ehennum
committed
JavaDoc update on limitations
1 parent b989790 commit 1d7d39b

File tree

1 file changed

+21
-13
lines changed
  • marklogic-client-api/src/main/java/com/marklogic/client/datamovement

1 file changed

+21
-13
lines changed

marklogic-client-api/src/main/java/com/marklogic/client/datamovement/RowBatcher.java

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@
1616
package com.marklogic.client.datamovement;
1717

1818
import com.marklogic.client.expression.PlanBuilder;
19+
import com.marklogic.client.expression.PlanBuilder.ModifyPlan;
1920
import com.marklogic.client.io.marker.ContentHandle;
2021
import com.marklogic.client.row.RowManager;
22+
import com.marklogic.client.type.PlanCondition;
23+
import com.marklogic.client.type.PlanExprColSeq;
2124

2225
import java.util.concurrent.TimeUnit;
2326

@@ -56,20 +59,25 @@
5659
* {@link RowManager#newPlanBuilder() newPlanBuilder()}
5760
* method provides a factory for constructing a {@link PlanBuilder}.</p>
5861
*
59-
* <p>Use the RowManager's {@link PlanBuilder} to build a plan for retrieving the rows.
60-
* Pass the built plan to the
61-
* {@link RowBatcher#withBatchView(PlanBuilder.ModifyPlan) withBatchView()}
62-
* method to initialize the RowBatcher with the plan. The plan must start with a view
63-
* and should get all rows from the initial view without filtering, limiting, grouping,
64-
* or sorting the rows of the view. The plan may filter, limit, group over, or sort
65-
* other views prior to joining another view with the initial view. The plan may join
66-
* documents with the initial view. The plan may also project columns from the initial
67-
* view or create expression columns with a select() operation. </p>
62+
* <p>Use the RowManager's {@link PlanBuilder} to build a plan for retrieving the rows from a view.
63+
*The plan must have the following characteristics:</p>
64+
* <ul>
65+
* <li>Must start with a {@link PlanBuilder#fromView(String, String) fromView()} operation that
66+
* specifies the view with the rows to be exported.</li>
67+
* <li>May filter the exported rows with a
68+
* {@link ModifyPlan#where(PlanCondition) where()} operation
69+
* prior to any joins.</li>
70+
* <li>May project columns from the exported rows with a
71+
* {@link ModifyPlan#select(PlanExprColSeq) select()} operation
72+
* prior to any joins.</li>
73+
* <li>Must not limit, group, or sort over the exported view (either before or after any joins).</li>
74+
* <li>May join other views with the exported view, applying any operation to a joined view prior to the join.</li>
75+
* <li>May join documents or uris with the exported view.</li>
76+
* <li>Must not specify parameter placeholders.</li>
77+
* </ul>
6878
*
69-
* <p>To export different sets of rows for different purposes, construct a view for each
70-
* export in the TDE. The export can get the data from the documents instead of from the
71-
* index by joining documents in the plan. When joining documents, the view must have one
72-
* row per document but may have a single column.</p>
79+
* <p>Pass the built plan to the {@link RowBatcher#withBatchView(PlanBuilder.ModifyPlan) withBatchView()}
80+
* method to initialize the RowBatcher with the plan.</p>
7381
*
7482
* <p>Specify the number of threads for retrieving rows with the
7583
* {@link RowBatcher#withThreadCount(int) withThreadCount()}

0 commit comments

Comments
 (0)