From: | linasvepstas(at)gmail(dot)com |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #14494: Regression - Null arrays are not queryable |
Date: | 2017-01-13 18:38:24 |
Message-ID: | 20170113183824.24286.84705@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 14494
Logged by: Linas Vepstas
Email address: linasvepstas(at)gmail(dot)com
PostgreSQL version: 9.6.1
Operating system: Debian unstable
Description:
Array handling appears to have regressed,
with lots of surprising results for empty
and null arrays.
CREATE TABLE foo (
name TEXT,
outgoing BIGINT[]
);
INSERT INTO FOO VALUES ('one', '{43, 67}');
INSERT INTO FOO VALUES ('two', '{}');
INSERT INTO FOO VALUES ('three', null);
test=> select * from foo;
name | outgoing
-------+----------
one | {43,67}
two | {}
three |
(3 rows)
very good!
test=> select * from foo where outgoing='{}';
name | outgoing
------+----------
two | {}
(1 row)
very good!
test=> select * from foo where outgoing=null;
name | outgoing
------+----------
(0 rows)
unexpected: wanted one row here.
test=> select * from foo where outgoing != '{43,67}';
name | outgoing
------+----------
two | {}
(1 row)
unexpected: wanted two rows here. Where did the null row go?
test=> select * from foo where array_length(outgoing,1)=2 ;
name | outgoing
------+----------
one | {43,67}
(1 row)
very good
test=> select * from foo where array_length(outgoing,1)=0 ;
name | outgoing
------+----------
(0 rows)
Huh? there is at least one array whose length is zero, and another that
doesn't have a length...
From | Date | Subject | |
---|---|---|---|
Next Message | jorge castañeda | 2017-01-13 20:39:41 | Re: BUG #14492: Foreign Table import from SQL Server 2005 |
Previous Message | Jonathon Nelson | 2017-01-13 14:47:06 | Re: Bug in Physical Replication Slots (at least 9.5)? |