[Tarantool-discussions] Implicit cast for ASSIGNMENT

Imeev Mergen imeevma at tarantool.org
Thu Apr 30 18:10:14 MSK 2020


Hi,

On 4/30/20 5:40 PM, Peter Gulutzan wrote:
> Hi,
>
> Going back to your original question:
>
> On 2020-04-30 6:04 a.m., Imeev Mergen wrote:
> > Hi! Here we go again. Last time we have not come to a colclusion.
> >
> > So, I suggest these rules for implicit cast for ASSIGNMENT:
> > 1) Any value can be implicitly cast to ANY type.
> This is not supported in SQL yet, I have expected that
> casting a scalar value to ANY would be like casting to SCALAR.
True.

> > 2) Any scalar values ​​can be implicitly cast to SCALAR type.
> I am not sure what this means.
> TYPEOF(CAST(1 AS SCALAR)) is not 'scalar', it is 'integer'.
> That is, we allow the syntax for an explicit cast, but do nothing.
> So, if all you are saying is that
> "we allow implicit cast, but do nothing"
> then there is no reason to object, there is no behaviour change.
No, I plan to fix it. I already have a fix, and I plan to push it
among the patches for this problem.

> > 3) Values ​​of numeric types can be implicitly cast to other numeric
> > types.
> I believe this but K. Yukhin decided to close issue#4216.
> > 4) Implicit casting is prohibited, except as described above.
> Yes, "here we go again".
> My opinion is unchanged:
> Implicit cast of string to number was a mistake.
> All comparison of values of different data types should be legal.
Not sure if we should discuss comparison here, however, do you
mean that we should allow comparison of values ​​of different types
without implicit casting? Using scalar rules?

> Of course, assignment may cause an out-of-range error.
> >
> >
> > I think that the rules for implicit casting when assigning value
> > of numeric type must be the same as in C.
> >
> You mean there should be truncation not rounding?
Yes.

> > On 2/13/20 5:25 PM, Mergen Imeev wrote:
> >> Hi all,
> >> I would like to discuss the second issue of casts in SQL. I mean
> >> implicit casting for ASSIGNMENT.
> >>
> >> For now, I suggest avoiding questions about SCALAR, as the
> >> discussion is already in progress.
> >>
> >> So, I suggest removing the current implicit casts. We can
> >> reimplement implicit casts in accordance with ANSI in issue #3836.
> >> But since priority of #3836 is low, this is most likely not going
> >> to happen for some time.
> >>
> >> At the moment, I see two ways to remove implicit casts:
> >> 1) Disable all implicit casts, except casts for numeric values.
> >> These casts will become UDCF later.
> >> 2) Disable all implicit casts. Assignment in Tarantool-SQL will
> >> work the same as in noSQL Tarantool.
> >>
> >> What do you think about this?
> >>
> For this earlier email, didn't everyone respond already?
I'd like to get more definite answers.

>
> Peter Gulutzan
>


More information about the Tarantool-discussions mailing list