Re: trouble selecting from array - Mailing list pgsql-general

From Merlin Moncure
Subject Re: trouble selecting from array
Date
Msg-id b42b73150803281119v1199cebaxb90328031ca5fee1@mail.gmail.com
Whole thread Raw
In response to Re: trouble selecting from array  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: trouble selecting from array  ("Merlin Moncure" <mmoncure@gmail.com>)
List pgsql-general
On Thu, Mar 27, 2008 at 8:58 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>  If you want a sub-array you need to use the slice notation, eg
>  tdr_tags[2:2][1:2]

The slice approach is not a general solution...in fact there seems to
be no way to convert an array of N dimensions to N-1 dimensions except
in the special case of N=1.  One side effect of this is that the
_pg_expand_array approaches which I was about to suggest to the OP
only work for one dimensional arrays.

reading the archives, you wrote:
"Because it isn't a slice expression --- you used colon nowhere, so the
result type is going to be text not text[].  (Remember that the parser
must determine the expression's result type at parse time, so whether
there are enough subscripts can't enter into this.)  Our alternatives
here are to throw a subscripting error or return NULL.  I'd personally
have gone with throwing an error, I think, but it seems far too late to
revisit that decision."

is there not enough information available to the parser to reduce the
expression dimensions by one?

merlin

pgsql-general by date:

Previous
From: brian
Date:
Subject: Re: VS: Delete after trigger fixing the key of row numbers
Next
From: "Merlin Moncure"
Date:
Subject: Re: trouble selecting from array