BUG #16013: Unexpected results from bit field query

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: daryl(dot)waycott(at)edgeintelligence(dot)com
Subject: BUG #16013: Unexpected results from bit field query
Date: 2019-09-18 16:49:43
Message-ID: 16013-c2765b6996aacae9@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: 16013
Logged by: Daryl Waycott
Email address: daryl(dot)waycott(at)edgeintelligence(dot)com
PostgreSQL version: 9.6.9
Operating system: Ubuntu 18.04.2 LTS
Description:

A query using a right bit shift and an equality on a bit field seems to
return incorrect results. See the following snippet:

DROP TABLE IF EXISTS table1;
CREATE TABLE table1(col_bit_10_1 bit(10) NULL);
INSERT INTO table1 VALUES (B'0000000000');
INSERT INTO table1 VALUES (B'0000000001');
select col_bit_10_1>>1 from table1;
select col_bit_10_1 from table1 where col_bit_10_1>>1 = B'0000000000';

Results:

DROP TABLE
CREATE TABLE
INSERT 0 1
INSERT 0 1
?column?
------------
0000000000
0000000000
(2 rows)

col_bit_10_1
--------------
0000000000
(1 row)

The second result set should include both rows.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Jeff Janes 2019-09-18 20:31:05 Re: BUG #16012: vacuum full, something weird
Previous Message Tom Lane 2019-09-18 14:16:38 Re: Restricted interval data type