po 28. 10. 2019 v 12:39 odesílatel Eugen Konkov <kes-...@yandex.ru> napsal:

> >         x IS NOT DISTINCT FROM y
>
> > I'm vaguely imagining
>
> >         x = {magic} y
>
> > where unlike Eugen's suggestion, "=" is the real name of the underlying
> > comparison operator.  For dump/restore this could be spelled verbosely
> > as
>
> >         x OPERATOR(someplace.=) {magic} y
>
> > The hard part is to figure out some {magic} annotation that is both
> > short and unambiguous.  We have to cover the IS DISTINCT variant, too.
>
> I  am  from  Perl  world.  There  are  == and != operators.
> Here short snippet of code:
>
> my $x = undef;
> my $y = 'some value';
> my $z = undef;
> $x == $y; # FALSE
> $x == $z; # TRUE
> $x != $y ; # TRUE
> $x != $z;  # FALSE
>
>
> >         x OPERATOR(someplace.=) {magic} y
> If we should follow this form, then IS DISTINCT should be written as:
> x =! y
> This  looks unusual, because JavaScript also follow != form. so I hope
> it  will be easy to detect/implement != form, which I used to read as:
> negate the result of comparison
>
>
>
> Can   we   supply   additional   parameters  to  OPERATOR  via  double
> parentheses( double parentheses is another crazy idea)?
> x =(( 'NULL' )) y
>

It's looks much more terrible than original IS DISTINCT FROM


> or
>
> x OPERATOR(someplace.=, magic ) y
> which   will  be  internally  converted(  I  suppose  )  to  OPERATOR(
> someplace.=, x, y, magic )
>

I don't think so benefit of this is too valuable against possible problems.

MySQL has special operator <=>, so if we implement some, then we should to
implement this. But better do nothing. I don't see significant benefit of
this against costs.

Pavel

>
> --
> Best regards,
> Eugen Konkov
>
>
>
>

Reply via email to