diff --git a/internal_types/src/schema/sort.rs b/internal_types/src/schema/sort.rs index d52e2a5f13..ee7dd63405 100644 --- a/internal_types/src/schema/sort.rs +++ b/internal_types/src/schema/sort.rs @@ -147,7 +147,7 @@ impl<'a> SortKey<'a> { self.columns.is_empty() } - /// Returns sort keys of the given columns + /// Returns a subset of the sort key that includes only the given columns pub fn selected_sort_key(&self, select_keys: Vec<&str>) -> SortKey<'a> { let keys: IndexMap<&'a str, SortOptions> = self .columns diff --git a/query/src/lib.rs b/query/src/lib.rs index 38fe4772f1..353214ce2e 100644 --- a/query/src/lib.rs +++ b/query/src/lib.rs @@ -211,13 +211,10 @@ pub fn compute_sort_key<'a>(summaries: impl Iterator) - } trace!(cardinalities=?cardinalities, "cardinalities of of columns to compute sort key"); - print!( - "cardinalities of of columns to compute sort key: {:#?}", - cardinalities - ); let mut cardinalities: Vec<_> = cardinalities.into_iter().collect(); - cardinalities.sort_by_key(|x| x.1); + // Sort by (cardinality, column_name) to have deterministic order if same cardinality + cardinalities.sort_by_key(|x| (x.1, x.0)); let mut key = SortKey::with_capacity(cardinalities.len() + 1); for (col, _) in cardinalities { @@ -226,7 +223,6 @@ pub fn compute_sort_key<'a>(summaries: impl Iterator) - key.push(TIME_COLUMN_NAME, Default::default()); trace!(computed_sort_key=?key, "Value of sort key from compute_sort_key"); - println!("Value of sort key from compute_sort_key: {:#?}", key); key } diff --git a/src/influxdb_ioxd/http.rs b/src/influxdb_ioxd/http.rs index df19e01a72..d77ea7709f 100644 --- a/src/influxdb_ioxd/http.rs +++ b/src/influxdb_ioxd/http.rs @@ -1123,7 +1123,7 @@ mod tests { async fn test_query_json() { let (client, server_url) = setup_test_data().await; - // send a second line of data to demontrate how that works + // send a second line of data to demonstrate how that works let lp_data = "h2o_temperature,location=Boston,state=MA surface_degrees=50.2 1617286224000000000";