box: support space and index names in IPROTO requests
Add support for accepting IPROTO requests with space or index name instead of identifier (name is preferred over identifier to disambiguate missing identifiers from zero identifiers): mark space identifier request key as present upon encountering space name, and delay resolution of identifier until request gets to transaction thread. Add support for sending DML requests from net.box connection objects with disabled schema fetching by manually specifying space or index name or identifier: when schema fetching is disabled, the space and index tables of connections return wrapper tables that store necessary context (space or index name or identifier, determined by type, connection object and space for indexes) for performing requests. The space and index tables cache the wrapper table they return. Closes #8146 @TarantoolBot document Title: Space and index name in IPROTO requests Refer to design document for details: https://www.notion.so/tarantool/Schemafull-IPROTO-cc315ad6bdd641dea66ad854992d8cbf?pvs=4#f4d4b3fa2b3646f1949319866428b6c0
Showing
- changelogs/unreleased/gh-8146-space-and-index-names-in-iproto-requests.md 4 additions, 0 deletions...eased/gh-8146-space-and-index-names-in-iproto-requests.md
- src/box/iproto.cc 42 additions, 2 deletionssrc/box/iproto.cc
- src/box/iproto_constants.c 2 additions, 0 deletionssrc/box/iproto_constants.c
- src/box/iproto_constants.h 12 additions, 0 deletionssrc/box/iproto_constants.h
- src/box/iproto_features.c 2 additions, 0 deletionssrc/box/iproto_features.c
- src/box/iproto_features.h 9 additions, 1 deletionsrc/box/iproto_features.h
- src/box/lua/net_box.c 49 additions, 33 deletionssrc/box/lua/net_box.c
- src/box/lua/net_box.lua 74 additions, 20 deletionssrc/box/lua/net_box.lua
- src/box/lua/schema.lua 2 additions, 2 deletionssrc/box/lua/schema.lua
- src/box/xrow.c 14 additions, 3 deletionssrc/box/xrow.c
- src/box/xrow.h 30 additions, 1 deletionsrc/box/xrow.h
- test/box-luatest/gh_7894_export_iproto_constants_and_features_test.lua 5 additions, 1 deletion...est/gh_7894_export_iproto_constants_and_features_test.lua
- test/box-luatest/gh_8146_data/00000000000000000004.snap 0 additions, 0 deletionstest/box-luatest/gh_8146_data/00000000000000000004.snap
- test/box-luatest/gh_8146_space_and_index_name_in_iproto_requests_test.lua 304 additions, 0 deletions.../gh_8146_space_and_index_name_in_iproto_requests_test.lua
- test/box-luatest/net_box_test.lua 1 addition, 1 deletiontest/box-luatest/net_box_test.lua
- test/box-py/iproto.result 2 additions, 2 deletionstest/box-py/iproto.result
- test/box/net.box_iproto_id.result 8 additions, 3 deletionstest/box/net.box_iproto_id.result
Loading
Please register or sign in to comment