From: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Better error message for select_common_type() |
Date: | 2007-04-23 20:55:27 |
Message-ID: | 200704232255.27273.peter_e@gmx.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
So I was informed today that UNION types integer and text cannot be
matched. Alright, but it failed to tell which particular expressions
in this 3-branch, 30-columns-each UNION clause in a 100-line statement
it was talking about. So I made the attached patch to give some better
pointers. Example:
peter=# values(0,1), (1::bigint,2), ('text'::text,3);
ERROR: 42804: VALUES types bigint at position 2 and text at position 3
cannot be matched in instance 1
I'm not sure about the terminology "position" and "instance"; they're
just two coordinates to get at the problem.
None of this will help if you have multiple unrelated clauses that
invoke select_common_type(), but that might be better handled using the
parser location mechanism.
Comments?
--
Peter Eisentraut
http://developer.postgresql.org/~petere/
Attachment | Content-Type | Size |
---|---|---|
select-common-type-with-position.patch | text/x-diff | 6.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | William Lawrance | 2007-04-23 21:02:04 | Re: BUG #3244: problem with PREPARE |
Previous Message | Neil Conway | 2007-04-23 20:49:20 | Re: Improving deadlock error messages |