Thread: Failures with arrays

Failures with arrays

From
"Oliver Elphick"
Date:
This was reported as a bug with the Debian package of 6.3.2; the same
behaviour is still present in 6.4. 

bray=> create table foo ( t text[]);
CREATE
bray=> insert into foo values ( '{"a"}');
INSERT 201354 1
bray=> insert into foo values ( '{"a","b"}');
INSERT 201355 1
bray=>  insert into foo values ( '{"a","b","c"}');
INSERT 201356 1
bray=>  select * from foo;
t            
-------------
{"a"}        
{"a","b"}    
{"a","b","c"}
(3 rows)

bray=> select t[1] from foo;
ERROR:  type name lookup of t failed
bray=> select * from foo;
t            
-------------
{"a"}        
{"a","b"}    
{"a","b","c"}
(3 rows)

bray=> select foo.t[1] from foo;
t
-
a
a
a
(3 rows)

bray=> select count(foo.t[1]) from foo;
pqReadData() -- backend closed the channel unexpectedly.

-- 
Oliver Elphick                                Oliver.Elphick@lfix.co.uk
Isle of Wight                              http://www.lfix.co.uk/oliver              PGP key from public servers; key
ID32B8FAA1                ========================================    "Let us therefore come boldly unto the throne of
grace,    that we may obtain mercy, and find grace to help in      time of need."             Hebrews 4:16 
 




Re: Failures with arrays

From
Bruce Momjian
Date:
I can confirm that this is fixed in 7.0, I believe by Tom Lane.


> This was reported as a bug with the Debian package of 6.3.2; the same
> behaviour is still present in 6.4. 
> 
> bray=> create table foo ( t text[]);
> CREATE
> bray=> insert into foo values ( '{"a"}');
> INSERT 201354 1
> bray=> insert into foo values ( '{"a","b"}');
> INSERT 201355 1
> bray=>  insert into foo values ( '{"a","b","c"}');
> INSERT 201356 1
> bray=>  select * from foo;
> t            
> -------------
> {"a"}        
> {"a","b"}    
> {"a","b","c"}
> (3 rows)
> 
> bray=> select t[1] from foo;
> ERROR:  type name lookup of t failed
> bray=> select * from foo;
> t            
> -------------
> {"a"}        
> {"a","b"}    
> {"a","b","c"}
> (3 rows)
> 
> bray=> select foo.t[1] from foo;
> t
> -
> a
> a
> a
> (3 rows)
> 
> bray=> select count(foo.t[1]) from foo;
> pqReadData() -- backend closed the channel unexpectedly.
> 
> -- 
> Oliver Elphick                                Oliver.Elphick@lfix.co.uk
> Isle of Wight                              http://www.lfix.co.uk/oliver
>                PGP key from public servers; key ID 32B8FAA1
>                  ========================================
>      "Let us therefore come boldly unto the throne of grace,
>       that we may obtain mercy, and find grace to help in 
>       time of need."             Hebrews 4:16 
> 
> 
> 
> 
> 


--  Bruce Momjian                        |  http://www.op.net/~candle pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026