[GENERAL] Possible bug with array_agg

2009-11-19 Thread Scott Bailey
On 8.4.0 I found that array_agg does not return a value when fed more 
than 12,000 values. (12,000 worked and 13,000 did not.)


Probably not a big deal because its not something you would typically 
do. I was testing something else and ran into it. But if there is a 
limit there, we should probably document it.


Scott Bailey

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Possible bug with array_agg

2009-11-19 Thread Pavel Stehule
Hello

2009/11/19 Scott Bailey arta...@comcast.net:
 On 8.4.0 I found that array_agg does not return a value when fed more than
 12,000 values. (12,000 worked and 13,000 did not.)


can you send a query?

postgres=# create table f(a int);
CREATE TABLE
postgres=# insert into f select * from generate_series(1,10);
INSERT 0 10
postgres=# select count(*) from (select unnest(array_agg(a)) from f) s;
 count

 10
(1 row)

it's look well

Regards
Pavel Stehule


 Probably not a big deal because its not something you would typically do. I
 was testing something else and ran into it. But if there is a limit there,
 we should probably document it.

 Scott Bailey

 --
 Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
 To make changes to your subscription:
 http://www.postgresql.org/mailpref/pgsql-general


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Possible bug with array_agg

2009-11-19 Thread Tom Lane
Scott Bailey arta...@comcast.net writes:
 On 8.4.0 I found that array_agg does not return a value when fed more 
 than 12,000 values. (12,000 worked and 13,000 did not.)

What do you mean by does not return a value?

In general, giving a specific test case is a lot more helpful than
this sort of vague report.  Whatever you're seeing could easily
depend on the specific data you're aggregating, for example.

regards, tom lane

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Possible bug with array_agg

2009-11-19 Thread Scott Bailey

Pavel Stehule wrote:

Hello

2009/11/19 Scott Bailey arta...@comcast.net:

On 8.4.0 I found that array_agg does not return a value when fed more than
12,000 values. (12,000 worked and 13,000 did not.)



can you send a query?

postgres=# create table f(a int);
CREATE TABLE
postgres=# insert into f select * from generate_series(1,10);
INSERT 0 10
postgres=# select count(*) from (select unnest(array_agg(a)) from f) s;
 count

 10
(1 row)

it's look well


As you were. Above worked for me as well. It appears to be a problem 
with pgAdmin.


-- Returns nothing
SELECT a
FROM (
 select array_agg(a) a  from f
) s

-- Works
SELECT a
FROM (
 select array_agg(a) a  from f
 WHERE a  12000
) s

-- Returns nothing
SELECT a
FROM (
 select array_agg(a) a  from f
 WHERE a  13000
) s

When I ran in different client all queries returned results.

Scott

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Possible bug with array_agg

2009-11-19 Thread Guillaume Lelarge
Le jeudi 19 novembre 2009 à 20:45:36, Scott Bailey a écrit :
 Pavel Stehule wrote:
  Hello
 
  2009/11/19 Scott Bailey arta...@comcast.net:
  On 8.4.0 I found that array_agg does not return a value when fed more
  than 12,000 values. (12,000 worked and 13,000 did not.)
 
  can you send a query?
 
  postgres=# create table f(a int);
  CREATE TABLE
  postgres=# insert into f select * from generate_series(1,10);
  INSERT 0 10
  postgres=# select count(*) from (select unnest(array_agg(a)) from f) s;
   count
  
   10
  (1 row)
 
  it's look well
 
 As you were. Above worked for me as well. It appears to be a problem
 with pgAdmin.
 
 -- Returns nothing
 SELECT a
 FROM (
   select array_agg(a) a  from f
 ) s
 
 -- Works
 SELECT a
 FROM (
   select array_agg(a) a  from f
   WHERE a  12000
 ) s
 
 -- Returns nothing
 SELECT a
 FROM (
   select array_agg(a) a  from f
   WHERE a  13000
 ) s
 

I'm not sure which release you use, but it works for me (1.10 and 1.11). The 
result of the first query is badly displayed (remember that it tries to 
display an array of 10 integers), but the query returns something that 
pgAdmin tries to display. The others work too but the display is much better.


-- 
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Possible bug with array_agg

2009-11-19 Thread Scott Bailey




I'm not sure which release you use, but it works for me (1.10 and 1.11). The 
result of the first query is badly displayed (remember that it tries to 
display an array of 10 integers), but the query returns something that 
pgAdmin tries to display. The others work too but the display is much better.





Using 1.10. It displays nothing on Windows version. Displays a bunch of 
overlapping text on Linux. Oh well, that doesn't matter, as long as 
array_agg is doing what it should.


Scott

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] Possible bug with array_agg

2009-11-19 Thread Pavel Stehule
2009/11/19 Scott Bailey arta...@comcast.net:
 Pavel Stehule wrote:

 Hello

 2009/11/19 Scott Bailey arta...@comcast.net:

 On 8.4.0 I found that array_agg does not return a value when fed more
 than
 12,000 values. (12,000 worked and 13,000 did not.)


 can you send a query?

 postgres=# create table f(a int);
 CREATE TABLE
 postgres=# insert into f select * from generate_series(1,10);
 INSERT 0 10
 postgres=# select count(*) from (select unnest(array_agg(a)) from f) s;
  count
 
  10
 (1 row)

 it's look well

 As you were. Above worked for me as well. It appears to be a problem with
 pgAdmin.

 -- Returns nothing
 SELECT a
 FROM (
  select array_agg(a) a  from f
 ) s

 -- Works
 SELECT a
 FROM (
  select array_agg(a) a  from f
  WHERE a  12000
 ) s

 -- Returns nothing
 SELECT a
 FROM (
  select array_agg(a) a  from f
  WHERE a  13000
 ) s

 When I ran in different client all queries returned results.

This is pgAdmin problem - to long for cell - I thing. Usually I am
testing problematic queries in psql console.

try SELECT ARRAY(SELECT * FROM f)

it would not work in pgAdmin too - probably.

Regards
Pavel Stehule


 Scott


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general