[tarantool-patches] Re: [PATCH 0/4] Move original SQLite's statistics to server

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Mon May 14 17:12:34 MSK 2018


Now the entire patchset LGTM.

On 23/04/2018 23:29, Nikita Pettik wrote:
> Branch: https://github.com/tarantool/tarantool/tree/np/gh-3253-move-statistics-to-server
> Issue: https://github.com/tarantool/tarantool/issues/3253
> 
> This patch-set is about transfering statistics containing in
> SQL specific struct Table and struct Index to the struct index of
> Tarantool. Unused statistics are removed at all.
> 
> First patch of the series provides slight optimization of simple
> 'SELECT COUNT(*)' query compilation. There is no need to hesistate which
> index to choose: always use PK. It also allows to remove one usage of
> statistics from index.
> 
> Second patch removes obsolete SQLite calculation of average tuple size:
> it is always possible to get size of space, count of tuples and divide
> them.
> 
> Third patch adds simple wrapper to fetch tuple count of given
> table from server.
> 
> The last and the main one, introduces new member of index's opts to
> describe statistics concerning distribution of tuples. Within this patch,
> routine used to load statistics from _sql_stat1 and _sql_stat4 has been
> reworked to operate directly on Tarantool's structs. It also includes
> codestyle fixes.
> 
> 
> Nikita Pettik (4):
>    sql: optimize compilation of SELECT COUNT(*)
>    sql: add average tuple size calculation
>    sql: refactor usages of table's tuple count
>    sql: move SQL statistics to server
> 
>   src/box/index_def.c            |  92 +++++
>   src/box/index_def.h            |  90 +++++
>   src/box/sql/analyze.c          | 787 ++++++++++++++++++++---------------------
>   src/box/sql/build.c            | 107 ------
>   src/box/sql/parse.y            |   2 -
>   src/box/sql/pragma.c           |  25 +-
>   src/box/sql/prepare.c          |   7 +-
>   src/box/sql/select.c           | 210 +++++------
>   src/box/sql/sqliteInt.h        | 123 +++++--
>   src/box/sql/vdbe.c             |   7 +-
>   src/box/sql/where.c            | 231 ++++++++----
>   src/box/sql/whereexpr.c        |   4 +-
>   test/sql-tap/analyze9.test.lua |  81 +++--
>   test/sql-tap/eqp.test.lua      |   2 +-
>   14 files changed, 954 insertions(+), 814 deletions(-)
> 




More information about the Tarantool-patches mailing list