1515// specific language governing permissions and limitations
1616// under the License.
1717
18- //! `GroupValues` trait for storing and interning group keys
18+ //! [ `GroupValues`] trait for storing and interning group keys
1919
2020use arrow:: array:: types:: {
2121 Date32Type , Date64Type , Decimal128Type , Time32MillisecondType , Time32SecondType ,
@@ -28,7 +28,7 @@ use datafusion_common::Result;
2828
2929use datafusion_expr:: EmitTo ;
3030
31- pub ( crate ) mod multi_group_by;
31+ pub mod multi_group_by;
3232
3333mod row;
3434mod single_group_by;
@@ -84,7 +84,7 @@ mod null_builder;
8484/// Each distinct group in a hash aggregation is identified by a unique group id
8585/// (usize) which is assigned by instances of this trait. Group ids are
8686/// continuous without gaps, starting from 0.
87- pub ( crate ) trait GroupValues : Send {
87+ pub trait GroupValues : Send {
8888 /// Calculates the group id for each input row of `cols`, assigning new
8989 /// group ids as necessary.
9090 ///
@@ -119,15 +119,17 @@ pub(crate) trait GroupValues: Send {
119119/// - If group by single column, and type of this column has
120120/// the specific [`GroupValues`] implementation, such implementation
121121/// will be chosen.
122- ///
122+ ///
123123/// - If group by multiple columns, and all column types have the specific
124- /// [ `GroupColumn`] implementations, [ `GroupValuesColumn`] will be chosen.
124+ /// `GroupColumn` implementations, `GroupValuesColumn` will be chosen.
125125///
126- /// - Otherwise, the general implementation [ `GroupValuesRows`] will be chosen.
126+ /// - Otherwise, the general implementation `GroupValuesRows` will be chosen.
127127///
128- /// [`GroupColumn`]: crate::aggregates::group_values::multi_group_by::GroupColumn
128+ /// `GroupColumn`: crate::aggregates::group_values::multi_group_by::GroupColumn
129+ /// `GroupValuesColumn`: crate::aggregates::group_values::multi_group_by::GroupValuesColumn
130+ /// `GroupValuesRows`: crate::aggregates::group_values::row::GroupValuesRows
129131///
130- pub ( crate ) fn new_group_values (
132+ pub fn new_group_values (
131133 schema : SchemaRef ,
132134 group_ordering : & GroupOrdering ,
133135) -> Result < Box < dyn GroupValues > > {
0 commit comments