[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