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 > > > >