From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng2.m.smailru.net (smtpng2.m.smailru.net [94.100.179.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 059904696C1 for ; Wed, 11 Dec 2019 16:45:03 +0300 (MSK) From: Nikita Pettik Date: Wed, 11 Dec 2019 16:44:52 +0300 Message-Id: Subject: [Tarantool-patches] [PATCH v2 0/6] sql: extended metadata List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org Cc: v.shpilevoy@tarantool.org Branch: https://github.com/tarantool/tarantool/commits/np/gh-4407-extend-sql-metadata Issue: https://github.com/tarantool/tarantool/issues/4407 v1: https://lists.tarantool.org/pipermail/tarantool-patches/2019-November/012680.html Changes in v2: - introduced pragma full_metadata which allows to turn extended metadata on/off. By default only basic metadata is send; it allows to avoid massive tests refactoring and avoid network overhead for users who don't need extended metadata. - now alias is always displayed in extended meta: if there's no AS clause, then alias is the same as name. - moved tests verifing presence of additional metadata to separate file. - provided test and explanation for second patch (sql: fix possible null dereference in sql_expr_coll()). - provided doc bot request. Nikita Pettik (6): sql: refactor resulting set metadata sql: fix possible null dereference in sql_expr_coll() sql: extend result set with collation sql: extend result set with nullability sql: extend result set with autoincrement sql: extend result set with alias src/box/execute.c | 65 +++++++++++++-- src/box/iproto_constants.h | 4 + src/box/lua/execute.c | 24 +++++- src/box/lua/net_box.c | 36 +++++++- src/box/sql/delete.c | 7 +- src/box/sql/expr.c | 3 +- src/box/sql/insert.c | 6 +- src/box/sql/legacy.c | 2 +- src/box/sql/pragma.c | 17 ++-- src/box/sql/pragma.h | 8 ++ src/box/sql/prepare.c | 10 +-- src/box/sql/select.c | 131 +++++++++++++++++++++--------- src/box/sql/sqlInt.h | 16 ++++ src/box/sql/update.c | 7 +- src/box/sql/vdbe.h | 41 +++++++--- src/box/sql/vdbeInt.h | 17 +++- src/box/sql/vdbeapi.c | 103 +++++++++-------------- src/box/sql/vdbeaux.c | 126 +++++++++++++++++++--------- test/sql/collation.result | 9 ++ test/sql/collation.test.lua | 5 ++ test/sql/engine.cfg | 4 + test/sql/full_metadata.result | 176 ++++++++++++++++++++++++++++++++++++++++ test/sql/full_metadata.test.lua | 55 +++++++++++++ test/sql/sql-debug.result | 1 + 24 files changed, 683 insertions(+), 190 deletions(-) create mode 100644 test/sql/full_metadata.result create mode 100644 test/sql/full_metadata.test.lua -- 2.15.1