wuchong opened a new issue, #2302: URL: https://github.com/apache/fluss/issues/2302
### Search before asking - [x] I searched in the [issues](https://github.com/apache/fluss/issues) and found nothing similar. ### Description Currently, Fluss does **not validate** whether the column data type is compatible with a given aggregation function (e.g., `MAX`, `MIN`) at table creation time. This leads to **runtime failures** or **unexpected behavior** when unsupported types—such as `ARRAY`, `MAP`, or `ROW`—are used with aggregation functions that require orderable types. To improve developer experience and system robustness, we should **fail fast during DDL validation**. ### ✅ Expected Behavior - During `CREATE TABLE` (or table descriptor validation), if an aggregation function is specified on a column with an **unsupported data type**, Fluss should **throw a clear, actionable error immediately**. - The validation should reside in: `org.apache.fluss.server.utils.TableDescriptorValidation#validateAggregationFunctionParameters` ### Solution To ensure future aggregate functions are easily extensible, we should introduce a standardized way to declare and validate the data types each function supports. One approach is adding a method such as `validateDataType()` to the `AggFunctionType` interface, similar in spirit to the existing `validateParameter()` that explicitly checks whether a given column type is compatible with the aggregate function. ### 🧪 Test Coverage - We can add such tests in `FlussAdminITCase`, like `FlussAdminITCase#testCreateTableWithInvalidProperty`. ### Willingness to contribute - [ ] I'm willing to submit a PR! -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
