tree 7ce920a57359bafcfece204829e1b094fed9984e
parent 33403f634f9748d2311a45cdde976bed79a09314
author Pavel Tupitsyn <ptupitsyn@apache.org> 1631534072 +0300
committer GitHub <noreply@github.com> 1631534072 +0300
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJhPzv4CRBK7hj4Ov3rIwAAsKwIAIZMguV/yCvU6x8oR/V5nn4K
 2R+zYS/fOp9Es6Dlb/pph2iX+dNICAWARhdu2KNx3flDvrXgFbzw3tGPm55wGDbG
 kxtbE+MG8/nUOyNrWJcG7k2dzscTV0n4IsBwvzpPiw5oNFLTganeJjX5aWhO45U3
 sf258BP6naEMlFyMorgf6yQg1iQh1Cu2WkG6Uqv6aqqdO+2i4zvsixN0B/OP0bWs
 eMVgiqM5iYJ2kRjnGW4ifjDwvbtNqyI2zM9h5nUW7Bj13Bcq/f8ExjxZ3/UMAMNI
 KSalwORjqLlTNkUzvEbExmQqBZxNZCIbITnUVrfZtmnKsBuuriYevdiEN2lnKRk=
 =M/UF
 -----END PGP SIGNATURE-----
 

IGNITE-15361 Thin 3.0: Add KeyValueBinaryView (#328)

* Implement `KeyValueBinaryView` for Java thin client (`ignite.tables().table(..).kvView()`).
* Update protocol: return only value columns of the tuple when the key is known. For example, `TUPLE_GET` passes the key to the server, and server used to return full tuple: key and value columns. It is not necessary to pass the key back, and the server won't do that anymore.
* On the protocol and server levels there is no difference between `Table` and `KvView` APIs - the same operations are used for both. The difference is only on the client side - `Table` returns all columns in a single `Tuple`, and `KvView` splits key/val columns into separate `Tuple`s.