Make `Timestamp` and `TimeDuration` implement `FilterableValue`
Description of Changes
Making Timestamp and TimeDuration implement FilterableValue.
This resolves https://github.com/clockworklabs/SpacetimeDB/issues/2650
API and ABI breaking changes
API change is additive in this case, I'm not marking this as unstable because the FilterableValue implementation is already stabilized.
Expected complexity level and risk
Complexity 1.
Testing
- [ ]
- [ ]
This PR is currently marked as draft because I'll work on the C# backend, as well as the client SDK changes, if necessary.
This one is going to be much more work to get merged than your previous PR. It's going to need:
- Implementations in the module bindings libraries in both Rust and C#.
- Corresponding changes in all 3 client SDKs, which may require changes to codegen here and/or changes in their repos ( https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/ , https://github.com/clockworklabs/spacetimedb-typescript-sdk ).
- Test tables and reducers added to
modules/sdk-testandmodules/sdk-test-cs, and client behavior added tocrates/sdk/tests/test-client, to support a new integration test added tocrates/sdk/tests/test.rs. - Sufficient testing in the C# and TypeScript client SDKs to satisfy their maintainers.
May I ask why isn't this prioritized still?
The backend module change should be separate from the client ones, if it takes so much to implement properly across SDKs. All it takes is merging my one-liner PR.
This is currently a major blocker for me, requiring a crate override.
Upd. Oh right, #3008. Wasn't mentioned here. Probably better to close this PR as a duplicate, too.
Since this PR hasn't been updated in a while and is missing the client SDK pieces, closing this in favor of https://github.com/clockworklabs/SpacetimeDB/pull/3008.