You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/01/29 03:40:09 UTC

[GitHub] [arrow] jorgecarleitao commented on a change in pull request #9355: ARROW-11421: [Rust][DataFusion] Support GROUP BY Date32

jorgecarleitao commented on a change in pull request #9355:
URL: https://github.com/apache/arrow/pull/9355#discussion_r566558997



##########
File path: rust/datafusion/tests/sql.rs
##########
@@ -1398,6 +1401,21 @@ fn register_aggregate_simple_csv(ctx: &mut ExecutionContext) -> Result<()> {
     Ok(())
 }
 
+fn register_aggregate_date_csv(ctx: &mut ExecutionContext) -> Result<()> {
+    // It's not possible to use aggregate_test_100, not enought similar values to test grouping on floats
+    let schema = Arc::new(Schema::new(vec![
+        Field::new("date", DataType::Date32(DateUnit::Day), false),
+        Field::new("cnt", DataType::Int32, false),
+    ]));
+
+    ctx.register_csv(
+        "dates",
+        "tests/dates.csv",
+        CsvReadOptions::new().schema(&schema),
+    )?;
+    Ok(())
+}

Review comment:
       What do you think about placing the data in `MemTable` instead, like this:
   
   ```
       let data = RecordBatch::try_new(
           schema.clone(),
           vec![Arc::new(StringArray::from(vec![
               Some("a"),
               Some("b"),
               Some("c"),
               None,
           ]))],
       )?;
       let table = MemTable::try_new(schema, vec![vec![data]])?;
       ctx.register_table("dates", Box::new(table));
   ```
   
   I find it way easier to understand the final result, in this where the numbers "6" and "9" come from.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org