Conversation
|
I ran into problems when trying to use Tried to implement |
ethanfrey
left a comment
There was a problem hiding this comment.
Please test and update for tripple keys that don't only use &[u8]
|
|
||
| #[test] | ||
| #[cfg(feature = "iterator")] | ||
| fn range_triple_key() { |
There was a problem hiding this comment.
Good test. This is what I want to see for the full-stack usage.
Can you update the TRIPLE to (&[u8], Int32Key, Int64Key) and verify this works just as well?
There was a problem hiding this comment.
I fixed the prefix implemention in my last commit.
You should be able to use it in the new code.
There was a problem hiding this comment.
I need to reflect why we cannot satisfy Prefix automatically for anything that implements PrimaryKey - I assume this is a subset of the work.
There was a problem hiding this comment.
I need to reflect why we cannot satisfy Prefix automatically for anything that implements PrimaryKey - I assume this is a subset of the work.
I guess the idea is to be able to range() over the last part of a given key; that is, the one that doesn't implement Prefixer.
That's OK IMO. What I don't like is that currently prefix() only works for the "full" prefix, i. e. in case of triple keys, we cannot prefix only on the first element of the triple.
What I'm now thinking is that maybe we can use (abuse?) notation like (T, (U, V)), for definining a key that is internally "flat", but can be prefixed over its first element.
Yes, this is because the Prefixer implementation for Pk2 is broken (it only works with default type |
ethanfrey
left a comment
There was a problem hiding this comment.
Looking better. Thank you for finding these issues
Thank you for the review, and for the fixes. |
Follow-up of #210.
Fixes triple key
Prefixtype. AddMaptriple keys tests.