Make tuple_extract_key support multikey indexes
Add multikey_idx argument to tuple_extract_key and forward it to tuple_field_by_part in the method implementation. For unikey indexes pass -1. We need this to support multikey indexes in Vinyl. We could of course introduce a separate set of methods for multikey indexes (something like tuple_extract_key_multikey), but that would look cumbersome and hardly result in any performance benefits, because passing -1 to a relatively cold function, such as key extractor, isn't a big deal. Besides, passing multikey_idx unconditionally is consistent with tuple_compare.
Showing
- src/box/index.cc 1 addition, 1 deletionsrc/box/index.cc
- src/box/key_def.h 13 additions, 5 deletionssrc/box/key_def.h
- src/box/lua/key_def.c 1 addition, 1 deletionsrc/box/lua/key_def.c
- src/box/memtx_space.c 1 addition, 1 deletionsrc/box/memtx_space.c
- src/box/request.c 3 additions, 2 deletionssrc/box/request.c
- src/box/space.c 1 addition, 1 deletionsrc/box/space.c
- src/box/sql.c 5 additions, 5 deletionssrc/box/sql.c
- src/box/tuple_extract_key.cc 37 additions, 17 deletionssrc/box/tuple_extract_key.cc
- src/box/vinyl.c 6 additions, 6 deletionssrc/box/vinyl.c
- src/box/vy_run.c 3 additions, 3 deletionssrc/box/vy_run.c
- src/box/vy_stmt.c 9 additions, 8 deletionssrc/box/vy_stmt.c
- src/box/vy_stmt.h 3 additions, 3 deletionssrc/box/vy_stmt.h
Loading
Please register or sign in to comment