Tarantool discussions archive
 help / color / mirror / Atom feed
* [Tarantool-discussions] Implicit cast for COMPARISON
@ 2020-01-21 11:11 Mergen Imeev
  2020-01-21 18:09 ` Peter Gulutzan
  0 siblings, 1 reply; 18+ messages in thread
From: Mergen Imeev @ 2020-01-21 11:11 UTC (permalink / raw)
  To: tarantool-discussions

Hi all,
I would like once again ask a question about implicit cast for
COMPARISON. Currently the chart of implicit cast for COMPARISON
looks this way:
            To BOOL | To INT | To DBL | To STR | To BIN
---------------------------------------------------------
From BOOL | A       | -      | -      | -      | -
From INT  | -       | A      | A      | A      | -
From DBL  | -       | A      | A      | A      | -
From STR  | -       | S      | S      | A      | -
From BIN  | -       | -      | -      | -      | A

I suggested to change this chart so that is should look this way:
            To BOOL | To NUM | To STR | To BIN
-----------------------------------------------
From BOOL | A       | -      | -      | -
From NUM  | -       | A      | -      | -
From STR  | -       | -      | A      | -
From BIN  | -       | -      | -      | A

At the moment the only thing that different in these charts is
impicit cast from STRING to number and from number to STRING.

I asked the Russian community in Telegram about whether to allow
this implicit cast for COMPARISON. At the moment, 31 people have
voted, and 25 of them have voted for dropping this implicit cast.

So, once again I suggest using these rules:
1) The values of numeric types are comparable without any implicit
cast.
2) If the type of one of the values contains the type of another
value, then they are comparable.
3) In any other cases, the values are not comparable.

About "one type contains another type": we can say that INTEGER
contains UNSIGNED; NUMBER contains INTEGER, UNSIGNED, DOUBLE;
SCALAR contains all available in SQL types.

Since all numeric types are comparable, my suggestion means that a
value of any type can be compared with a value of type SCALAR. And
in this comparison, the same rules will be used as in no-SQL
Tarantool. For example, any value of type STRING is greater than
any value of type INTEGER.

What do you think about this?

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-02-11 13:32 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-21 11:11 [Tarantool-discussions] Implicit cast for COMPARISON Mergen Imeev
2020-01-21 18:09 ` Peter Gulutzan
2020-01-22 14:13   ` Mergen Imeev
2020-01-22 14:24     ` Nikita Pettik
2020-01-30 18:51     ` Konstantin Osipov
2020-01-22 16:43   ` Peter Gulutzan
2020-01-30 18:52     ` Konstantin Osipov
2020-02-03 11:35       ` Mergen Imeev
2020-02-03 15:02         ` Konstantin Osipov
2020-02-04 18:50         ` Nikita Pettik
2020-02-05  2:57           ` Peter Gulutzan
2020-02-07 14:24             ` Nikita Pettik
2020-02-07 14:40               ` Konstantin Osipov
2020-02-07 22:30               ` Peter Gulutzan
2020-02-11 13:32                 ` Mergen Imeev
2020-02-05  7:52           ` Mergen Imeev
2020-02-06 12:41           ` Mergen Imeev
2020-02-06 13:09             ` Mergen Imeev

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