|
16 | 16 | package com.marklogic.client.datamovement; |
17 | 17 |
|
18 | 18 | import com.marklogic.client.expression.PlanBuilder; |
| 19 | +import com.marklogic.client.expression.PlanBuilder.ModifyPlan; |
19 | 20 | import com.marklogic.client.io.marker.ContentHandle; |
20 | 21 | import com.marklogic.client.row.RowManager; |
| 22 | +import com.marklogic.client.type.PlanCondition; |
| 23 | +import com.marklogic.client.type.PlanExprColSeq; |
21 | 24 |
|
22 | 25 | import java.util.concurrent.TimeUnit; |
23 | 26 |
|
|
56 | 59 | * {@link RowManager#newPlanBuilder() newPlanBuilder()} |
57 | 60 | * method provides a factory for constructing a {@link PlanBuilder}.</p> |
58 | 61 | * |
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> |
68 | 78 | * |
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> |
73 | 81 | * |
74 | 82 | * <p>Specify the number of threads for retrieving rows with the |
75 | 83 | * {@link RowBatcher#withThreadCount(int) withThreadCount()} |
|
0 commit comments