diff --git a/arrow/src/row/mod.rs b/arrow/src/row/mod.rs index 4f48b46cb2a6..21d8e4df0624 100644 --- a/arrow/src/row/mod.rs +++ b/arrow/src/row/mod.rs @@ -17,19 +17,13 @@ //! A comparable row-oriented representation of a collection of [`Array`]. //! -//! [`Row`]s are [normalized for sorting], and can be very efficiently [compared], -//! using [`memcmp`] under the hood, or used in [non-comparison sorts] such as [radix sort]. This -//! makes the row format ideal for implementing efficient multi-column sorting, -//! grouping, aggregation, windowing and more. +//! [`Row`]s are [normalized for sorting], and can therefore be very efficiently [compared], +//! using [`memcmp`] under the hood, or used in [non-comparison sorts] such as [radix sort]. +//! This makes the row format ideal for implementing efficient multi-column sorting, +//! grouping, aggregation, windowing and more, as described in more detail +//! [here](https://arrow.apache.org/blog/2022/11/07/multi-column-sorts-in-arrow-rust-part-1/). //! -//! The format is described in more detail on [`RowConverter`] as well as the -//! [Fast and Memory Efficient Multi-Column Sorts in Apache Arrow Rust](https://arrow.apache.org/blog/2022/11/07/multi-column-sorts-in-arrow-rust-part-1/) article. -//! -//! _[`Rows`] generated by different [`RowConverter`] are arbitrarily -//! ordered. The same [`RowConverter`] must be used for the comparison -//! to be well defined._ -//! -//! For example, given three input [`Array`]s, this code creates byte +//! For example, given three input [`Array`], [`RowConverter`] creates byte //! sequences that [compare] the same as when using [`lexsort`]. //! //! ```text @@ -50,6 +44,9 @@ //! (Columns) //! ``` //! +//! _[`Rows`] must be generated by the same [`RowConverter`] for the comparison +//! to be meaningful._ +//! //! # Basic Example //! ``` //! # use std::sync::Arc;