Skip to content

Commit f69c82e

Browse files
Dedupe docs a bit
1 parent fe2c1ef commit f69c82e

1 file changed

Lines changed: 7 additions & 13 deletions

File tree

datafusion/physical-expr/src/partitioning.rs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,10 @@ impl Display for Partitioning {
152152
/// - `ordering` defines the partitioning key and ordering.
153153
/// - `split_points` define the boundaries between adjacent partitions.
154154
///
155-
/// The ordering must be non-empty, and split points must be strictly ordered
156-
/// according to that ordering.
155+
/// Comparisons use the lexicographic order defined by `ordering`, including
156+
/// `ASC`/`DESC` and null ordering. Split points must be strictly ordered
157+
/// according to that ordering, and each split point must have one value per
158+
/// ordering expression.
157159
///
158160
/// `N` split points define `N + 1` partitions:
159161
///
@@ -165,8 +167,8 @@ impl Display for Partitioning {
165167
/// partition N: split_points[N - 1] <= key
166168
/// ```
167169
///
168-
/// Values equal to a split point belong to the partition after that split
169-
/// point.
170+
/// Values equal to split point `i` belong to partition `i + 1`, so interior
171+
/// partitions are lower-inclusive and upper-exclusive.
170172
///
171173
/// For a single range key:
172174
///
@@ -245,9 +247,7 @@ impl RangePartitioning {
245247
/// Creates range partitioning metadata.
246248
///
247249
/// The caller is responsible for satisfying the contract documented on
248-
/// [`RangePartitioning`]: every split point must have one value per sort
249-
/// expression in the ordering, and split points must be strictly ordered
250-
/// according to that ordering.
250+
/// [`RangePartitioning`].
251251
pub fn new(ordering: LexOrdering, split_points: Vec<SplitPoint>) -> Self {
252252
Self {
253253
ordering,
@@ -256,17 +256,11 @@ impl RangePartitioning {
256256
}
257257

258258
/// Returns the ordering that defines the range key.
259-
///
260-
/// Sort options are part of the partitioning because `ASC`/`DESC` and null
261-
/// ordering decide which side of a split point a row belongs to.
262259
pub fn ordering(&self) -> &LexOrdering {
263260
&self.ordering
264261
}
265262

266263
/// Returns the ordered split points between partitions.
267-
///
268-
/// `N` split points define `N + 1` partitions as described in
269-
/// [`RangePartitioning`].
270264
pub fn split_points(&self) -> &[SplitPoint] {
271265
&self.split_points
272266
}

0 commit comments

Comments
 (0)