Thread: BUG #6727: Column does not exist exception has no error code

BUG #6727: Column does not exist exception has no error code

From
tuckerpmt@gmail.com
Date:
The following bug has been logged on the website:

Bug reference:      6727
Logged by:          Patrick Tucker
Email address:      tuckerpmt@gmail.com
PostgreSQL version: 9.1.1
Operating system:   Windows
Description:=20=20=20=20=20=20=20=20

The SQLException that is thrown when performing a query that has a column
name that is not valid, does not exist, does not contain an error code.  We
are forced to do a string comparison to figure out if a particular exception
is caused by an invalid column name.  This is not ideal.  A fix would be
greatly appreciated.

Thanks,
Pat

Re: BUG #6727: Column does not exist exception has no error code

From
Tom Lane
Date:
tuckerpmt@gmail.com writes:
> The SQLException that is thrown when performing a query that has a column
> name that is not valid, does not exist, does not contain an error
> code.

Could you provide a specific example?  When I try this I see an error
code, 42703:

regression=# \set VERBOSITY verbose
regression=# select nosuchcol from int8_tbl;
ERROR:  42703: column "nosuchcol" does not exist
LINE 1: select nosuchcol from int8_tbl;
               ^
LOCATION:  transformColumnRef, parse_expr.c:766

There may indeed be someplace where the errcode was forgotten, but
without a concrete example it's hard to find where.

            regards, tom lane

Re: BUG #6727: Column does not exist exception has no error code

From
Patrick Tucker
Date:
BTW I'm using postgresql-9.1-901.jdbc4.jar
Thanks again,
Pat

On Wed, Jul 11, 2012 at 2:10 PM, Patrick Tucker <tuckerpmt@gmail.com> wrote:

> Interesting, the test case that I ran was performing a simple SQL
> statement like the following: select "a" from table
>
> I wonder if the version of the driver I am using needs to be updated or
> even the database?
> Thanks,
> Pat
> On Wed, Jul 11, 2012 at 1:43 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
>> tuckerpmt@gmail.com writes:
>> > The SQLException that is thrown when performing a query that has a
>> column
>> > name that is not valid, does not exist, does not contain an error
>> > code.
>>
>> Could you provide a specific example?  When I try this I see an error
>> code, 42703:
>>
>> regression=# \set VERBOSITY verbose
>> regression=# select nosuchcol from int8_tbl;
>> ERROR:  42703: column "nosuchcol" does not exist
>> LINE 1: select nosuchcol from int8_tbl;
>>                ^
>> LOCATION:  transformColumnRef, parse_expr.c:766
>>
>> There may indeed be someplace where the errcode was forgotten, but
>> without a concrete example it's hard to find where.
>>
>>                         regards, tom lane
>
>

Re: BUG #6727: Column does not exist exception has no error code

From
Patrick Tucker
Date:
Interesting, the test case that I ran was performing a simple SQL statement
like the following: select "a" from table

I wonder if the version of the driver I am using needs to be updated or
even the database?
Thanks,
Pat
On Wed, Jul 11, 2012 at 1:43 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> tuckerpmt@gmail.com writes:
> > The SQLException that is thrown when performing a query that has a column
> > name that is not valid, does not exist, does not contain an error
> > code.
>
> Could you provide a specific example?  When I try this I see an error
> code, 42703:
>
> regression=# \set VERBOSITY verbose
> regression=# select nosuchcol from int8_tbl;
> ERROR:  42703: column "nosuchcol" does not exist
> LINE 1: select nosuchcol from int8_tbl;
>                ^
> LOCATION:  transformColumnRef, parse_expr.c:766
>
> There may indeed be someplace where the errcode was forgotten, but
> without a concrete example it's hard to find where.
>
>                         regards, tom lane
>

Re: BUG #6727: Column does not exist exception has no error code

From
Craig Ringer
Date:
On 07/12/2012 02:24 AM, Patrick Tucker wrote:
> BTW I'm using postgresql-9.1-901.jdbc4.jar
> Thanks again,

A self-contained test case - a small Java program that connects to a
test DB, runs a query, and reports the result vs what you expected the
result to be - would be helpful.

--
Craig ringer