gabotechs commented on code in PR #15345: URL: https://github.com/apache/datafusion/pull/15345#discussion_r2007641902
########## datafusion/substrait/src/logical_plan/consumer.rs: ########## @@ -1975,6 +1975,13 @@ pub async fn from_substrait_agg_func( let args = from_substrait_func_args(consumer, &f.arguments, input_schema).await?; + // deal with situation that count(*) got no arguments Review Comment: The main reason is that DataFusion does not support aggregate functions with no arguments: https://github.com/apache/datafusion/blob/11838be5efa8607f762504c198615c54575b0593/datafusion/physical-expr/src/aggregate.rs#L100-L114 I imagine that this is the reason why it was there before. If you do a similar operation and analyze DataFusion's logical plan ([link](https://datafusion-fiddle.vercel.app?q=eyJkZGwiOiItLSBQdXQgeW91ciBzY2hlbWEgZGVmaW5pdGlvbiBhbmQgZGF0YSBpbnNlcnRpb25zIGhlcmUuXG5cbkNSRUFURSBUQUJMRSBlbXBsb3llZXMgKFxuICBpZCBJTlQgUFJJTUFSWSBLRVksXG4gIGZpcnN0X25hbWUgVkFSQ0hBUig1MCksXG4gIGxhc3RfbmFtZSBWQVJDSEFSKDUwKSxcbiAgZW1haWwgVkFSQ0hBUigxMDApLFxuICBwaG9uZSBWQVJDSEFSKDIwKSxcbiAgaGlyZV9kYXRlIERBVEUsXG4gIGpvYl90aXRsZSBWQVJDSEFSKDUwKSxcbiAgZGVwYXJ0bWVudCBWQVJDSEFSKDUwKSxcbiAgc2FsYXJ5IERFQ0lNQUwoMTAsMilcbik7XG5cbklOU0VSVCBJTlRPIGVtcGxveWVlcyAoaWQsIGZpcnN0X25hbWUsIGxhc3RfbmFtZSwgZW1haWwsIHBob25lLCBoaXJlX2RhdGUsIGpvYl90aXRsZSwgZGVwYXJ0bWVudCwgc2FsYXJ5KVxuVkFMVUVTXG4gICgxLCAnSm9obicsICdEb2UnLCAnam9obi5kb2VAY29tcGFueS5jb20nLCAnMTIzLTQ1Ni03ODkwJywgJzIwMjAtMDEtMDEnLCAnTWFuYWdlcicsICdTYWxlcycsIDc1MDAwLjAwKSxcbiAgKDIsICdKYW5lJywgJ1NtaXRoJywgJ2phbmUuc21pdGhAY29tcGFueS5jb20nLCAnOTg3LTY1NC0zMjEwJywgJzIwMTktMDUtMTUnLCAnRW5naW5lZXInLCAnRW5naW5lZXJpbmcnLCA4NTAwMC4wMCksXG4gICgz LCAnTWljaGFlbCcsICdKb2huc29uJywgJ21pY2hhZWwuam9obnNvbkBjb21wYW55LmNvbScsICc0NTYtNzg5LTAxMjMnLCAnMjAyMS0wMy0xMCcsICdBbmFseXN0JywgJ0ZpbmFuY2UnLCA2NTAwMC4wMCksXG4gICg0LCAnRW1pbHknLCAnQnJvd24nLCAnZW1pbHkuYnJvd25AY29tcGFueS5jb20nLCAnMzIxLTY1NC05ODcwJywgJzIwMTgtMTEtMDEnLCAnRGVzaWduZXInLCAnTWFya2V0aW5nJywgNjAwMDAuMDApLFxuICAoNSwgJ0RhdmlkJywgJ1dpbHNvbicsICdkYXZpZC53aWxzb25AY29tcGFueS5jb20nLCAnNzg5LTEyMy00NTYwJywgJzIwMjAtMDgtMjAnLCAnRGV2ZWxvcGVyJywgJ0VuZ2luZWVyaW5nJywgODAwMDAuMDApLFxuICAoNiwgJ1NhcmFoJywgJ1RheWxvcicsICdzYXJhaC50YXlsb3JAY29tcGFueS5jb20nLCAnNjU0LTk4Ny0zMjEwJywgJzIwMTctMDYtMDEnLCAnTWFuYWdlcicsICdIdW1hbiBSZXNvdXJjZXMnLCA5MDAwMC4wMCksXG4gICg3LCAnUm9iZXJ0JywgJ0FuZGVyc29uJywgJ3JvYmVydC5hbmRlcnNvbkBjb21wYW55LmNvbScsICczMjEtNzg5LTY1NDAnLCAnMjAxOS0wOS0wNScsICdTYWxlc3BlcnNvbicsICdTYWxlcycsIDU1MDAwLjAwKSxcbiAgKDgsICdKZW5uaWZlcicsICdUaG9tYXMnLCAnamVubmlmZXIudGhvbWFzQGNvbXBhbnkuY29tJywgJzk4Ny0zMjEtNjU0MCcsICcyMDIwLTAyLTE1JywgJ0FjY291bnRhbnQnLCAnRmluYW5jZScsIDcwMDAwLjAwKSxcbiAgKDksICdXaWxsa WFtJywgJ0phY2tzb24nLCAnd2lsbGlhbS5qYWNrc29uQGNvbXBhbnkuY29tJywgJzY1NC0xMjMtOTg3MCcsICcyMDE4LTA3LTEwJywgJ0VuZ2luZWVyJywgJ0VuZ2luZWVyaW5nJywgOTUwMDAuMDApLFxuICAoMTAsICdFbGl6YWJldGgnLCAnV2hpdGUnLCAnZWxpemFiZXRoLndoaXRlQGNvbXBhbnkuY29tJywgJzEyMy03ODktNDU2MCcsICcyMDIxLTAxLTI1JywgJ0Nvb3JkaW5hdG9yJywgJ01hcmtldGluZycsIDUwMDAwLjAwKSxcbiAgKDExLCAnQ2hyaXN0b3BoZXInLCAnSGFycmlzJywgJ2NocmlzdG9waGVyLmhhcnJpc0Bjb21wYW55LmNvbScsICc3ODktNjU0LTEyMzAnLCAnMjAxOS0xMi0wMScsICdBbmFseXN0JywgJ0ZpbmFuY2UnLCA3MjAwMC4wMCksXG4gICgxMiwgJ0FzaGxleScsICdNYXJ0aW4nLCAnYXNobGV5Lm1hcnRpbkBjb21wYW55LmNvbScsICc0NTYtMzIxLTk4NzAnLCAnMjAyMC0wNi0xOCcsICdEZXNpZ25lcicsICdNYXJrZXRpbmcnLCA1ODAwMC4wMCksXG4gICgxMywgJ01hdHRoZXcnLCAnVGhvbXBzb24nLCAnbWF0dGhldy50aG9tcHNvbkBjb21wYW55LmNvbScsICczMjEtNDU2LTc4OTAnLCAnMjAxNy0wOS0yMCcsICdNYW5hZ2VyJywgJ09wZXJhdGlvbnMnLCA4MjAwMC4wMCksXG4gICgxNCwgJ0FtYW5kYScsICdHYXJjaWEnLCAnYW1hbmRhLmdhcmNpYUBjb21wYW55LmNvbScsICc5ODctMTIzLTY1NDAnLCAnMjAxOC0wNC0wNScsICdEZXZlbG9wZXInLCAnRW5naW5lZXJpbmcnLCA3NzAwMC 4wMCksXG4gICgxNSwgJ0RhbmllbCcsICdNYXJ0aW5leicsICdkYW5pZWwubWFydGluZXpAY29tcGFueS5jb20nLCAnNjU0LTc4OS0zMjEwJywgJzIwMjAtMTEtMTAnLCAnU2FsZXNwZXJzb24nLCAnU2FsZXMnLCA2MDAwMC4wMCk7XG4iLCJzZWxlY3QiOiItLSBQdXQgeW91ciBzZWxlY3Qgc3RhdGVtZW50IGhlcmUgYW5kIGhpdCBDdHJsK0VudGVyIHRvIHN1Ym1pdC5cblxuRVhQTEFJTiBTRUxFQ1QgY291bnQoKSBGUk9NIGVtcGxveWVlcztcbiJ9)), a similar `Int64(1)` argument is injected. -- 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. To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org