Latest Results
fix(sql): normalize SQL function names at registration (#7449)
## Changes Made
The SQL IOConfig constructors were unreachable under every spelling:
```python
daft.sql("SELECT * FROM read_parquet('f.parquet', io_config := S3Config(region_name => 'us-west-2'))")
# Function `s3config` not found
```
`modules::config` registers `S3Config`, `HTTPConfig`, `AzureConfig`,
`GCSConfig` and `TosConfig` in
mixed case, but lookup lowercases the name before the `HashMap` get.
`add_fn` now lowercases the
key. Other modules already register lowercase names, so only these five
keys change
(`list_sql_functions()` shows `s3config`).
Once reachable, `HTTPConfig` still rejected four of its six documented
arguments:
`parse_function_args` whitelisted only `user_agent` and `bearer_token`,
while
`retry_initial_backoff_ms`, `connect_timeout_ms`, `read_timeout_ms` and
`num_tries` are read and
advertised. The whitelist now matches.
## Testing
Parametrized over `S3Config`/`s3config`/`S3CONFIG`, plus one
`HTTPConfig` case per retry/timeout
argument; each asserts the value reaches the plan's IO config and fails
on `main`.
native `tests/sql` 452 passed, new cases pass on ray, pre-commit clean.
## AI usage disclosure
Written with an AI coding assistant. I reviewed the full diff and
confirmed the tests fail
without the fix.
## Related Issues
Closes #7447. The `default_io_config` fallback is #7551. Latest Branches
0%
nirmalpatel008:fix/glue-has-table 0%
Sanskar1724:feat-adbc-write 0%
Sanskar1724:feat-adbc-read © 2026 CodSpeed Technology