SELECT * FROM results where result <> 'PASS';
and it produced all the rows, not just the ones beginning with visc60 that I expected. Based on what you had written, I should have seen the correct output. So, any ideas?
EXPLAIN ANALYZE SELECT * FROM results WHERE result <> 'PASS';
What happens when you run the following? Do you see the same incorrect behavior?
WITH vals (v) AS (
VALUES ('PASS'::char(4)), ('FAIL'::char(4))
)
SELECT
DISTINCT
*FROM vals
WHERE v <> 'PASS'::char(4);
David J.