Feature 'add-delete-fields': add/delete fields with UPDATE
Implement blueprint 'add-delete-fields': https://blueprints.launchpad.net/tarantool/+spec/add-and-delete-fields-in-tuple Make it possible to add new fields with UPDATE, and delete existing fields. Rewrite the UPDATE algorithm to pre-compute new tuple length and do most of the work in place, without allocating temporary buffer for fields. Add Connector/C support for new UPDATE options. Add and update tests. Joint effort by Konstantin Shulgin (initial implementation), Dmitry Simonenko (Connector/C) and Konstantin Osipov (spec/code review).
Showing
- .gitignore 1 addition, 0 deletions.gitignore
- connector/c/include/tnt_proto.h 100 additions, 0 deletionsconnector/c/include/tnt_proto.h
- connector/c/include/tnt_update.h 131 additions, 0 deletionsconnector/c/include/tnt_update.h
- connector/c/tnt/include/tnt_update.h 4 additions, 0 deletionsconnector/c/tnt/include/tnt_update.h
- connector/c/tnt/tnt_update.c 23 additions, 3 deletionsconnector/c/tnt/tnt_update.c
- core/tarantool_lua.m 2 additions, 2 deletionscore/tarantool_lua.m
- include/errcode.h 5 additions, 5 deletionsinclude/errcode.h
- include/util.h 2 additions, 2 deletionsinclude/util.h
- mod/box/box.h 16 additions, 0 deletionsmod/box/box.h
- mod/box/box.m 546 additions, 174 deletionsmod/box/box.m
- test/box/lua.result 8 additions, 0 deletionstest/box/lua.result
- test/box/lua.test 3 additions, 0 deletionstest/box/lua.test
- test/box/sql.result 8 additions, 3 deletionstest/box/sql.result
- test/box/sql.test 5 additions, 2 deletionstest/box/sql.test
- test/connector_c/CMakeLists.txt 1 addition, 0 deletionstest/connector_c/CMakeLists.txt
- test/connector_c/update.c 794 additions, 0 deletionstest/connector_c/update.c
- test/connector_c/update.result 197 additions, 0 deletionstest/connector_c/update.result
- test/connector_c/update.test 15 additions, 0 deletionstest/connector_c/update.test
Loading
Please register or sign in to comment