Description
There's a TODO comment indicating that api_constraints in the test database currently only supports one input per task type, requiring a database patch.
Location
src/routers/openml/tasktype.py:70
# api_constraints is for one input only in the test database (TODO: patch db)
if isinstance(task_type_input.api_constraints, str):
constraint = json.loads(task_type_input.api_constraints)
input_["data_type"] = constraint["data_type"]
Impact
- Limited functionality for task types with multiple inputs
- Database schema doesn't match expected behavior
- Workaround code required in application layer
Expected Behavior
The database schema should properly support multiple inputs per task type with individual api_constraints for each.
Suggested Implementation
- Review current database schema for
task_type_inout table
- Ensure
api_constraints can store multiple entries or is properly normalized
- Update test database with correct schema
- Remove conditional workaround code once schema is fixed
- Add database migration script
Related