From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 33FA32A775 for ; Mon, 19 Mar 2018 14:10:51 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XTIvjU2zV8q2 for ; Mon, 19 Mar 2018 14:10:51 -0400 (EDT) Received: from smtp44.i.mail.ru (smtp44.i.mail.ru [94.100.177.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 81C012A71F for ; Mon, 19 Mar 2018 14:10:50 -0400 (EDT) From: Nikita Pettik Subject: [tarantool-patches] [PATCH 0/4] Remove space id and index id from cursor Date: Mon, 19 Mar 2018 21:10:36 +0300 Message-Id: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org Cc: Nikita Pettik 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