From: Stephan Szabo <sszabo@megazone23.bigpanda.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Ludwig Lim <lud_nowhere_man@yahoo.com>
Cc: PostgreSQL Mailing List <pgsql-sql@postgresql.org>
Subject: Re: Weird NULL behavior
Date: Thu, 7 Nov 2002 11:35:56 -0800 (PST)
Message-ID: <20021107113216.S99207-100000@megazone23.bigpanda.com> (raw)
In-Reply-To: <28164.1036696164@sss.pgh.pa.us>
On Thu, 7 Nov 2002, Tom Lane wrote:
> Stephan Szabo <sszabo@megazone23.bigpanda.com> writes:
> > On Thu, 7 Nov 2002, Ludwig Lim wrote:
> >> SELECT CAST ( (NULL*NULL) AS NUMERIC(2,0));
> >> Cannot cast type '"char"' to '"numeric"'
>
> > It seems to me that it's trying to decide on a type
> > for the expression NULL * NULL. It's a NULL, but a
> > NULL of what type?
>
> Yeah, and it's picking "char" (the single-byte datatype), because
> (a) the NULLs are initially regarded as type UNKNOWN, and (b) if we
> don't have any other way to make a decision we try assuming that
> UNKNOWNs are of string category, and (c) the only datatype in string
> category that has a "*" operator is "char".
>
> I am kind of inclined to remove the arithmetic operators on "char"
> (+,-,*,/) in 7.4 --- they don't seem to have any real-world uses,
> and as this example illustrates, they are perfectly positioned to
> capture cases that probably ought to be errors.
That seems to make sense. I assume that they were there so that someone
could treat it as a 1 byte integer?
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: sszabo@megazone23.bigpanda.com, tgl@sss.pgh.pa.us, lud_nowhere_man@yahoo.com
Subject: Re: Weird NULL behavior
In-Reply-To: <20021107113216.S99207-100000@megazone23.bigpanda.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox