On Jul 31, 2007, at 11:55 PM, Gregory Stark wrote:
"Decibel!" <[EMAIL PROTECTED]> writes:
David Fetter and I were just looking at something on IRC...
decibel=# select most_common_vals[1] from pg_stats where
tablename='pg_depend' and attname='classid';
ERROR: cannot subscript type anyarray because it is not an array
decibel=# select most_common_freqs[1] from pg_stats where
tablename='pg_depend' and attname='classid';
most_common_freqs
-------------------
0.566
(1 row)
ISTM you'd want to be able to reference an individual element of an
ANYARRAY... but this gets even more odd...
And what type would the result be?
ANYELEMENT? I know that'd still have to be casted to something normal
eventually; do we have support for that?
But this is an odd coincidence as I was just looking at this myself
to do
those histogram charts I was talking about. The solution I was
going to
propose was to allow casting from anyarray to a normal array, then
allow
subscripting the normal array.
I would be fine requiring the cast to be to the correct array type
with a
run-time error if the type doesn't match. Or it could use the VIAIO
cast which
would work as long as the input format matched. So you could always
cast to
text[] even if it was an integer[] or something else originally.
I'd expected that the 'ANY' types had additional information
somewhere that told them what the original data type actually was,
but I guess that's not the case. Maybe it'd be worth adding?
--
Decibel!, aka Jim Nasby [EMAIL PROTECTED]
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend