From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Eugen Konkov <kes-kes(at)yandex(dot)ru> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Fetter <david(at)fetter(dot)org>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Proposition to use '==' as synonym for 'IS NOT DISTINCT FROM' |
Date: | 2019-10-28 12:48:24 |
Message-ID: | CAFj8pRBh6poiBzodqXPTjCn3sqOvJj1TwdrLsrgw6TyK2oQ-kw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
po 28. 10. 2019 v 12:39 odesílatel Eugen Konkov <kes-kes(at)yandex(dot)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
>
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2019-10-28 12:52:02 | Preserve versions of initdb-created collations in pg_upgrade |
Previous Message | Surafel Temesgen | 2019-10-28 12:48:08 | Re: WIP: System Versioned Temporal Table |