public static interface PlanBuilderBase.ModifyPlanBase
Modifier and Type | Method and Description |
---|---|
PlanBuilder.ModifyPlan |
facetBy(PlanNamedGroupSeq keys)
This method counts values for multiple grouping key columns.
|
PlanBuilder.ModifyPlan |
facetBy(PlanNamedGroupSeq keys,
PlanExprCol countCol)
This method counts values for multiple grouping key columns.
|
PlanBuilder.ModifyPlan |
facetBy(PlanNamedGroupSeq keys,
java.lang.String countCol)
This method counts values for multiple grouping key columns.
|
PlanBuilder.ModifyPlan |
groupByUnion(PlanGroupSeq keys)
Constructs multiple groups over a single row set in a single pass.
|
PlanBuilder.ModifyPlan |
groupByUnion(PlanGroupSeq keys,
PlanAggregateColSeq aggregates)
Constructs multiple groups over a single row set in a single pass.
|
PlanBuilder.ModifyPlan |
groupToArrays(PlanNamedGroupSeq keys)
Provides a convenience that executes a
groupByUnion(PlanGroupSeq, PlanAggregateColSeq)
to produce a single row with a separate array for each group. |
PlanBuilder.ModifyPlan |
groupToArrays(PlanNamedGroupSeq keys,
PlanAggregateColSeq aggregates)
Provides a convenience that executes a
groupByUnion(PlanGroupSeq, PlanAggregateColSeq)
to produce a single row with a separate array for each group. |
PlanBuilder.ModifyPlan |
limit(long length)
This method returns a subset of the rows in the result set by returning the specified number of rows.
|
PlanBuilder.ModifyPlan |
limit(PlanParamExpr length)
This method returns a subset of the rows in the result set by returning the specified number of rows.
|
PlanBuilder.ModifyPlan |
limit(XsLongVal length)
This method returns a subset of the rows in the result set by returning the specified number of rows.
|
PlanBuilder.ModifyPlan |
offset(long start)
This method returns a subset of the rows in the result set by skipping the number of rows specified by start and returning the remaining rows up to the number specified by the prototype.limit method.
|
PlanBuilder.ModifyPlan |
offset(PlanParamExpr start)
This method returns a subset of the rows in the result set by skipping the number of rows specified by start and returning the remaining rows up to the number specified by the prototype.limit method.
|
PlanBuilder.ModifyPlan |
offset(XsLongVal start)
This method returns a subset of the rows in the result set by skipping the number of rows specified by start and returning the remaining rows up to the number specified by the prototype.limit method.
|
PlanBuilder.ModifyPlan |
offsetLimit(long start,
long length)
This method returns a subset of the rows in the result set by skipping the number of rows specified by start and returning the remaining rows up to the length limit.
|
PlanBuilder.ModifyPlan |
offsetLimit(XsLongVal start,
XsLongVal length)
This method returns a subset of the rows in the result set by skipping the number of rows specified by start and returning the remaining rows up to the length limit.
|
PlanBuilder.ModifyPlan |
where(CtsQueryExpr condition)
This method restricts the row set to rows from the documents matched by the cts.query expression.
|
PlanBuilder.ModifyPlan |
where(PlanCondition condition)
This method restricts the row set to rows matched by an SQL boolean expression.
|
PlanBuilder.ModifyPlan |
where(SemStoreExpr condition)
This method adjusts the row set based on the triples for the sem.store definition,
restricting the triples to the documents matched by a cts.query expression and
expanding the triples based on inferencing rules.
|
PlanBuilder.ModifyPlan |
where(ServerExpression condition)
This method restricts the row set to rows matched by the boolean expression.
|
PlanBuilder.ModifyPlan groupByUnion(PlanGroupSeq keys)
The keys parameter takes a PlanBuilderBase.groupSeq(PlanGroup...)
sequence
providing the group specifications.
Use a PlanBuilder.col(String)
value to specify a group with a single key
or a PlanBuilderBase.group(String...)
value to specify a group with many keys
or (for all rows) no key.
The PlanBuilderBase.rollup(String...)
and PlanBuilderBase.cube(String...)
functions provide conveniences to generate multiple groups over a list of column keys.
Each group must specify a unique set of grouping keys.
keys
- Specifies the grouping keys for each group. See PlanBuilderBase.groupSeq(PlanGroup...)
PlanBuilder.ModifyPlan groupByUnion(PlanGroupSeq keys, PlanAggregateColSeq aggregates)
The keys parameter takes a PlanBuilderBase.groupSeq(PlanGroup...)
sequence
providing the group specifications.
Use a PlanBuilder.col(String)
value to specify a group with a single key
or a PlanBuilderBase.group(String...)
value to specify a group with many keys
or (for all rows) no key.
The PlanBuilderBase.rollup(String...)
and PlanBuilderBase.cube(String...)
functions provide conveniences to generate multiple groups over a list of column keys.
Each group must specify a unique set of grouping keys.
The aggregates parameter takes a single aggregate or a sequence of aggregates
collected by PlanBuilder.aggregateSeq(PlanAggregateCol...)
.
An aggregate can be a PlanBuilder.col(String)
to sample the column or a
PlanBuilder.arrayAggregate(String, String)
,
PlanBuilder.avg(String, String)
,
PlanBuilder.count(String, String)
,
PlanBuilderBase.groupConcat(String, String)
,
PlanBuilder.hasGroupKey(String, String)
,
PlanBuilder.max(String, String)
,
PlanBuilder.min(String, String)
,
PlanBuilder.sample(String, String)
,
PlanBuilder.sum(String, String)
,
PlanBuilder.uda(String, String, String, String, String)
aggregate function.
keys
- Specifies the grouping keys for each group. See PlanBuilderBase.groupSeq(PlanGroup...)
aggregates
- This parameter specifies either new columns for aggregate functions over the rows or columndefs that are constant. See PlanBuilder.aggregateSeq(PlanAggregateCol...)
PlanBuilder.ModifyPlan groupToArrays(PlanNamedGroupSeq keys)
groupByUnion(PlanGroupSeq, PlanAggregateColSeq)
to produce a single row with a separate array for each group.
The convenience constructs a PlanBuilderBase.jsonObject(PlanJsonProperty...)
for each row in each group with a property for each column belonging to the group and
aggregates the objects for each group with
a PlanBuilder.arrayAggregate(PlanColumn, PlanExprCol)
.keys
- Specifies the name and grouping keys for each group. See PlanBuilderBase.namedGroupSeq(PlanNamedGroup...)
PlanBuilder.ModifyPlan groupToArrays(PlanNamedGroupSeq keys, PlanAggregateColSeq aggregates)
groupByUnion(PlanGroupSeq, PlanAggregateColSeq)
to produce a single row with a separate array for each group.
The convenience constructs a PlanBuilderBase.jsonObject(PlanJsonProperty...)
for each row in each group with a property for each column belonging to the group and
aggregates the objects for each group with
a PlanBuilder.arrayAggregate(PlanColumn, PlanExprCol)
.
The aggregates parameter takes a single aggregate or a sequence of aggregates
collected by PlanBuilder.aggregateSeq(PlanAggregateCol...)
.
An aggregate can be a PlanBuilder.col(String)
to sample the column or a
PlanBuilder.arrayAggregate(String, String)
,
PlanBuilder.avg(String, String)
,
PlanBuilder.count(String, String)
,
PlanBuilderBase.groupConcat(String, String)
,
PlanBuilder.hasGroupKey(String, String)
,
PlanBuilder.max(String, String)
,
PlanBuilder.min(String, String)
,
PlanBuilder.sample(String, String)
,
PlanBuilder.sum(String, String)
,
PlanBuilder.uda(String, String, String, String, String)
aggregate function.
keys
- Specifies the name and grouping keys for each group. See PlanBuilderBase.namedGroupSeq(PlanNamedGroup...)
aggregates
- This parameter specifies either new columns for aggregate functions over the rows or columndefs that are constant. See PlanBuilder.aggregateSeq(PlanAggregateCol...)
PlanBuilder.ModifyPlan facetBy(PlanNamedGroupSeq keys)
keys
- This parameter specifies the list of column keys or group keys for performing counts. For each
column/group, the operation determines the unique values of that column/group 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 PlanBuilder.colSeq(String...)
. A group can be a namedGroup or bucketGroup. see
PlanBuilderBase.namedGroupSeq(PlanNamedGroup...)
, PlanBuilderBase.namedGroup(String, PlanExprColSeq)
and PlanBuilder.bucketGroup(String, String, XsAnyAtomicTypeSeqVal)
PlanBuilder.ModifyPlan facetBy(PlanNamedGroupSeq keys, java.lang.String countCol)
keys
- This parameter specifies the list of column keys or group keys for performing counts. For each
column, the operation determines the unique values of that column/group 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 PlanBuilder.colSeq(String...)
. A group can be a namedGroup or bucketGroup. see
PlanBuilderBase.namedGroupSeq(PlanNamedGroup...)
, PlanBuilderBase.namedGroup(String, PlanExprColSeq)
and PlanBuilder.bucketGroup(String, String, XsAnyAtomicTypeSeqVal)
.countCol
- Specifies what to count over the rows for each unique value of each key column. By default,
the operation counts the rows. To count the values of a column instead, specify the column
to count with this parameter. To count documents, specify a fragment id column with
op:fragment-id-col.PlanBuilder.ModifyPlan facetBy(PlanNamedGroupSeq keys, PlanExprCol countCol)
keys
- This parameter specifies the list of column keys or group keys for performing counts. For each
column, the operation determines the unique values of that column/group 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 PlanBuilder.colSeq(String...)
, PlanBuilderBase.namedGroup(String, PlanExprColSeq)
and PlanBuilder.bucketGroup(String, String, XsAnyAtomicTypeSeqVal)
.countCol
- Specifies what to count over the rows for each unique value of each key column. By default,
the operation counts the rows. To count the values of a column instead, specify the column
to count with this parameter. To count documents, specify a fragment id column with
op:fragment-id-col.PlanBuilder.ModifyPlan limit(long length)
length
- The number of rows to return.PlanBuilder.ModifyPlan limit(XsLongVal length)
length
- The number of rows to return.PlanBuilder.ModifyPlan limit(PlanParamExpr length)
length
- The number of rows to return.PlanBuilder.ModifyPlan offset(long start)
start
- The number of rows to skip.PlanBuilder.ModifyPlan offset(XsLongVal start)
start
- The number of rows to skip.PlanBuilder.ModifyPlan offset(PlanParamExpr start)
start
- The number of rows to skip.PlanBuilder.ModifyPlan offsetLimit(long start, long length)
start
- The number of rows to skip.length
- The number of rows to return.PlanBuilder.ModifyPlan offsetLimit(XsLongVal start, XsLongVal length)
start
- The number of rows to skip.length
- The number of rows to return.PlanBuilder.ModifyPlan where(ServerExpression condition)
condition
- The boolean expression on which to match.PlanBuilder.ModifyPlan where(CtsQueryExpr condition)
condition
- The cts.query expression for matching the documents.PlanBuilder.ModifyPlan where(PlanCondition condition)
condition
- The SQL boolean expression on which to match as returned by sqlCondition().PlanBuilder.ModifyPlan where(SemStoreExpr condition)
condition
- The sem.store for modifying the initial set of triples from which rows are projected.Copyright © 2013-2021 MarkLogic Corporation.