tarantool / tarantool-python

Python client library for Tarantool
https://www.tarantool.io
BSD 2-Clause "Simplified" License
101 stars 46 forks source link

Make feature discovery similar to go-tarantool #296

Closed DifferentialOrange closed 1 year ago

DifferentialOrange commented 1 year ago

iproto: provide new features codes

Pagination was added in Tarantool 2.11.0-rc1 [1]. Space and index names support will be added to Tarantool 3.0 [2]. Watch once feature will be added to Tarantool 3.0 [3].

  1. https://github.com/tarantool/tarantool/commit/948e5cdce18b081a8f7b03ebd43e34a029b7aefe
  2. https://github.com/tarantool/tarantool/commit/b9550f192673581dcbd8432867ae2e55ec264676
  3. https://github.com/tarantool/tarantool/commit/6dc1433a58bbefad187f6d08531245e5a36415f1

conn: store client and server protocol info

Store client and server protocol version and features in connection object, similar to go-tarantool [1]. Before the patch, we stored only products: minimal protocol version of server and client and the list of features supported both by client and server.

  1. https://github.com/tarantool/go-tarantool/pull/226

api: allow to require protocol version and features

Allow to set required_protocol_version and required_features on connection initialization to ensure that a Tarantool server provides expected features. The approach is similar to go-tarantool [1]. We do not check client protocol version and features, similar to the core Tarantool [1, 2].

  1. https://github.com/tarantool/go-tarantool/pull/226
  2. https://github.com/tarantool/tarantool/issues/7953

Closes #267