box: introduce port_c
Port_c is a new descendant of struct port. It is used now for public C functions to store their result. Currently they can return only a tuple, but it will change soon, they will be able to return arbitrary MessagePack. Port_tuple is not removed, because still is used for box_select(), for functional indexes, and in SQL as a base for port_sql. Although that may be changed later. Functional indexes really need only a single MessagePack object from their function. While box_select() working via port_tuple or port_c didn't show any significant difference during micro benchmarks. Part of #4641
Showing
- src/box/box.cc 1 addition, 1 deletionsrc/box/box.cc
- src/box/func.c 1 addition, 1 deletionsrc/box/func.c
- src/box/lua/misc.cc 20 additions, 0 deletionssrc/box/lua/misc.cc
- src/box/port.c 196 additions, 10 deletionssrc/box/port.c
- src/box/port.h 50 additions, 0 deletionssrc/box/port.h
- src/box/sql/func.c 13 additions, 9 deletionssrc/box/sql/func.c
Loading
Please register or sign in to comment