-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Client API refactoring #1
Comments
Regarding the database update and query DSL (also referred to as "immutable interface" in the context of Antidote), a way to group together multiple key-updates into a single map update would be helpful. At the moment there is no way to issue a map-update that updates more than one key in the map. |
It is not called "immutable interface" anywhere.
I think changing this would require to change the API to be more similar to the API of the JavaScript client.
or similarly (using a Builder):
Compared to the current API:
Drawbacks of this approach:
Some benefits would be:
|
This removes the concept of references that point into objects. Instead we only use keys. This allows us to have a kind of DSL to describe update operations, which can then be executed on a bucket.
The updated interface is now available as version |
Feedback from Nuno:
Maybe we should think about naming it |
Addressing some suggestions given by Paolo and some other things:
Backwards-compatible changes:
ValueCoder
also have an overload which uses utf8-strings as default encoding.ValueCoder
s for Integers, Enums, Id-Types (classes wrapping a string).AntidoteException
.Mostly compatible:
CrdtMap
implementjava.util.Map
Breaking changes:
noTransaction
toautomaticTransaction
ObjectRef
andResponseDecoder
(this should get rid of some unnecessary methods onRegisterRef
,MapRef
and so on)The text was updated successfully, but these errors were encountered: