Thread: Array Problem

Array Problem

From
John Burski
Date:
I'm working with version 6.5.2 and I've created a test table that
contains both a one and a two dimensional array.

     CREATE TABLE testa (
     name text,
     links int2[],
     vals int2[][] );

I'v populated the table with at least one record, so I should be able
run 'select' requests that deliver something *meaningful*.

If I select everything or specify an entire array, the query works OK.

     SELECT name, links FROM testa;        # OK

If I specify a particular array subscipt, for example:

     SELECT name, links[1] FROM testa;

I get an error message that says:

     ERROR:  Unable to locate type name 'vals' in catalog

Yet the documentation seems to indicate that this is a valid *select*
statement.

Any suggestions?  Upgrading to 7.0 is not an option at the present time.

Thanks.

--
John Burski
Lead Programmer
911 Emergency Products, Inc.
St. Cloud, MN  56301




Re: Array Problem

From
Stephan Szabo
Date:
On Wed, 1 Nov 2000, John Burski wrote:

> I'm working with version 6.5.2 and I've created a test table that
> contains both a one and a two dimensional array.
>
>      CREATE TABLE testa (
>      name text,
>      links int2[],
>      vals int2[][] );
>
> I'v populated the table with at least one record, so I should be able
> run 'select' requests that deliver something *meaningful*.
>
> If I select everything or specify an entire array, the query works OK.
>
>      SELECT name, links FROM testa;        # OK
>
> If I specify a particular array subscipt, for example:
>
>      SELECT name, links[1] FROM testa;
>
> I get an error message that says:
>
>      ERROR:  Unable to locate type name 'vals' in catalog
>
> Yet the documentation seems to indicate that this is a valid *select*
> statement.

Since I don't have 6.5 floating around anymore I can't check it.  I do
see that it works on CVS sources and on 7.0.  My guess is that it was
a bug fixed between versions.  If you can't go up to 7.0, you might
see about trying 6.5.3 just to see if a fix was backpatched.


Re: [NOVICE] Array Problem

From
Tom Lane
Date:
John Burski <John.Burski@911ep.com> writes:
> If I specify a particular array subscipt, for example:
>      SELECT name, links[1] FROM testa;
> I get an error message that says:
>      ERROR:  Unable to locate type name 'vals' in catalog

In 6.5.* and earlier, you have to write out "testa.links[1]", IIRC.

> Any suggestions?  Upgrading to 7.0 is not an option at the present time.

The above is just one of a depressingly large number of array-related
bugs fixed in 7.0.  Not to mention a lot of non-array-related bugs fixed
in 7.0.  I strongly recommend that you update.

            regards, tom lane