[tarantool-patches] [PATCH 0/4] Remove space id and index id from cursor
Nikita Pettik
korablev at tarantool.org
Mon Mar 19 21:10:36 MSK 2018
Branch: https://github.com/tarantool/tarantool/tree/np/gh-3122-remove-pgnoRoot
Issue: https://github.com/tarantool/tarantool/issues/3122
Before this patch, there was separate Tarantool specific cursor
alongside with "ordinary" SQLite one. However, now only Tarantool
spaces exist, so these two cursors can be merged into one.
Moreover, there is no need to hold in cursor space and index id,
since each appeal to them through cursor results in space lookup
via BOX API. To avoid this overhead, pointers to space and index
are stored in cursor (instead of ids) and DML executor is called
explicitly.
Nikita Pettik (4):
Move space_is_system helper from CPP define guard
sql: rework OP_Clear internals
sql: remove struct ta_cursor and refactor BtCursor
sql: replace pgnoRoot with struct space in BtCursor
src/box/schema.h | 6 +-
src/box/sql.c | 402 ++++++++++++++++++---------------------------
src/box/sql/cursor.c | 14 +-
src/box/sql/cursor.h | 16 +-
src/box/sql/opcodes.c | 2 +-
src/box/sql/opcodes.h | 2 +-
src/box/sql/tarantoolInt.h | 4 +-
src/box/sql/vdbe.c | 63 +++----
src/box/sql/vdbeInt.h | 1 -
9 files changed, 206 insertions(+), 304 deletions(-)
--
2.15.1
More information about the Tarantool-patches
mailing list