Tarantool development patches archive
 help / color / mirror / Atom feed
From: "n.pettik" <korablev@tarantool.org>
To: tarantool-patches@freelists.org
Cc: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Subject: [tarantool-patches] Re: [PATCH 0/6] Introduce strict typing for SQL
Date: Fri, 12 Oct 2018 14:18:40 +0300	[thread overview]
Message-ID: <55FD67B5-3F6F-47A2-9850-494F2B957D64@tarantool.org> (raw)
In-Reply-To: <72fd7ea4-cb9d-4c36-3bad-8375a9fc1184@tarantool.org>

[-- Attachment #1: Type: text/plain, Size: 3415 bytes --]


> Hi! I was asked by Kirill to review this patchset, so here my
> review turns up. See 3 comments below.

Many thanks for provided review, I really appreciate it.

> On 17/09/2018 23:32, Nikita Pettik wrote:
>> Branch: https://github.com/tarantool/tarantool/tree/np/sql-static-types <https://github.com/tarantool/tarantool/tree/np/sql-static-types>
>> Issues:
>> https://github.com/tarantool/tarantool/issues/2494 <https://github.com/tarantool/tarantool/issues/2494>
>> https://github.com/tarantool/tarantool/issues/2620 <https://github.com/tarantool/tarantool/issues/2620>
>> https://github.com/tarantool/tarantool/issues/2645 <https://github.com/tarantool/tarantool/issues/2645>
> 
> 1. Why 2645? I do not see where do you check types
> in the parser. Also, Kirill said that it is relocated
> to 2.1.1/2.2.0 (I do not remember exact milestone).

I thought this ticket not about real static typing (i.e. implementing
all type checks and conversions during query compilation), but
concerning simple banning of things like:

CREATE TABLE t1 (id NOT_REALLY_INT PRIMARY KEY);

In other words, patch parser to accept only allowed by ANSI SQL types.
Correct me if I’m wrong.

>> https://github.com/tarantool/tarantool/issues/3018 <https://github.com/tarantool/tarantool/issues/3018>
>> https://github.com/tarantool/tarantool/issues/3104 <https://github.com/tarantool/tarantool/issues/3104>
>> https://github.com/tarantool/tarantool/issues/3459 <https://github.com/tarantool/tarantool/issues/3459>
> 
> 2. Is 3459 fixed? I do not see its mention in the
> commits.

Yep, it is automatically fixed within  #3104 i.e. when real type
hits space format, index type is displayed correctly.
Also, I put comment concerning this to the issue description.
I’ve put this mention to appropriate commit message to close issue.

>> This patch-set forces type specification for tables' columns.
>> From now, our grammar doesn't support typeless columns.
>> Allowed types are:
>> FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL, INTEGER, TEXT, CHAR, VARCHAR,
>> BLOB, TIME, DATE, DATETIME.
>> Despite diversity of types, they are translated only to four types
>> from Tarantool's core: NUMBER, STRING, INT, SCALAR. Moreover,
>> restrictions such as length of CHAR type or precision of numeric type
>> are not involved now. Internally, AFFINITY is still used.
>> Fourth patch attempts at implementing implicit types conversions
>> to make it look closer to other DBs.
>> This patch-set refactors almost all tests in sql-tap/ suite.
>> Since number of tests is quite LARGE, some of them may contain
>> mistakes or strange behaviour. Initial plan was to automatically
>> spread INT type among all tables and fix failing tests. It turns out,
>> that not all tests can be converted: for instance, selectA.test.lua
>> originally almost in all subtests (more than 10k) inserts to one
> 
> 3. selectA.test.lua consists of 2536 lines. Why 10k? What is a
> problem to convert it manually?


Ok, mb I meant 10k in general…But anyway, selectA is unlikely
to be fixed, it is rather about completely rewrite this test.
And to make it fair, we should manually check each select’s result...
If you don’t insist, I will better open issue to resurrect this test.

Finally, I’ve rebased patch-set on fresh 2.0 (i.e. on top of DD integration
patches) and Travis is completely green.



[-- Attachment #2: Type: text/html, Size: 12833 bytes --]

  reply	other threads:[~2018-10-12 11:18 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-17 20:32 [tarantool-patches] " Nikita Pettik
2018-09-17 20:32 ` [tarantool-patches] [PATCH 1/6] sql: split conflict action and affinity for Expr Nikita Pettik
2018-09-19  2:16   ` [tarantool-patches] " Konstantin Osipov
2018-09-27 20:24   ` Vladislav Shpilevoy
2018-10-12 11:18     ` n.pettik
2018-09-17 20:32 ` [tarantool-patches] [PATCH 2/6] sql: annotate SQL functions with return type Nikita Pettik
2018-09-27 20:23   ` [tarantool-patches] " Vladislav Shpilevoy
2018-10-12 11:18     ` n.pettik
2018-09-17 20:32 ` [tarantool-patches] [PATCH 3/6] sql: pass true types of columns to Tarantool Nikita Pettik
2018-09-19  2:23   ` [tarantool-patches] " Konstantin Osipov
2018-10-12 11:19     ` n.pettik
2018-09-27 20:23   ` Vladislav Shpilevoy
2018-10-12 11:18     ` n.pettik
2018-10-17 21:45       ` Vladislav Shpilevoy
2018-10-23 23:28         ` n.pettik
2018-10-29 21:32           ` Vladislav Shpilevoy
2018-11-02  2:36             ` n.pettik
2018-09-17 20:32 ` [tarantool-patches] [PATCH 4/6] sql: enforce implicit type conversions Nikita Pettik
2018-09-19  2:25   ` [tarantool-patches] " Konstantin Osipov
2018-09-27 20:24   ` Vladislav Shpilevoy
2018-10-12 11:19     ` n.pettik
2018-10-17 21:45       ` Vladislav Shpilevoy
2018-10-23 23:28         ` n.pettik
2018-10-29 21:32           ` Vladislav Shpilevoy
2018-11-02  2:36             ` n.pettik
2018-11-02 11:15               ` Vladislav Shpilevoy
2018-11-02 13:26                 ` n.pettik
2018-09-17 20:32 ` [tarantool-patches] [PATCH 5/6] sql: return result-set type via IProto Nikita Pettik
2018-09-19  2:26   ` [tarantool-patches] " Konstantin Osipov
2018-09-27 20:24   ` Vladislav Shpilevoy
2018-10-12 11:19     ` n.pettik
2018-10-17 21:45       ` Vladislav Shpilevoy
2018-10-23 23:28         ` n.pettik
2018-09-17 20:32 ` [tarantool-patches] [PATCH 6/6] sql: discard numeric conversion by unary plus Nikita Pettik
2018-09-27 20:24   ` [tarantool-patches] " Vladislav Shpilevoy
2018-10-12 11:19     ` n.pettik
2018-09-27 20:24 ` [tarantool-patches] Re: [PATCH 0/6] Introduce strict typing for SQL Vladislav Shpilevoy
2018-10-12 11:18   ` n.pettik [this message]
2018-11-03  2:41 ` Kirill Yukhin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55FD67B5-3F6F-47A2-9850-494F2B957D64@tarantool.org \
    --to=korablev@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='[tarantool-patches] Re: [PATCH 0/6] Introduce strict typing for SQL' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox