[elixir] Allow setting custom properties when creating a table
- Dominant language
- Rust
- Stars
- 58
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/fluss-rust/issues) and found nothing similar.
### Description
Similarly to https://github.com/apache/fluss-rust/issues/587, it is not currently possible to set custom properties on a table from the elixir bindings.
The existing `:properties` option routes to the core `.property()` builder, which validates against known Fluss table properties and rejects arbitrary keys. For example, `properties: [{"k", "v"}]` fails with:
> `invalid_config_exception` (code 39): `'k' is not a Fluss table property.
> Please use '.customProperty(..)' to set custom properties.`
The upstream Rust `TableDescriptor` builder already supports this — `.comment(...)`, `.custom_property(...)`, and `.custom_properties(...)` in `crates/fluss/src/metadata/table.rs`. The Elixir layer simply doesn't expose them.
### Willingness to contribute
- [x] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the Elixir table-creation binding and compare its options with the Rust TableDescriptor builder in crates/fluss/src/metadata/table.rs, especially comment, custom_property, and custom_properties. Add the missing Elixir exposure and verify that properties such as {"k", "v"} can be supplied without the invalid_config_exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elixir, rust
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100