7.0.3 reproduceable serious select error - Mailing list pgsql-hackers
From | robn@verdi.et.tudelft.nl (Rob van Nieuwkerk) |
---|---|
Subject | 7.0.3 reproduceable serious select error |
Date | |
Msg-id | slrn96e1vq.3nf.robn@verdi.et.tudelft.nl Whole thread Raw |
Responses |
Re: 7.0.3 reproduceable serious select error
|
List | pgsql-hackers |
Hello, I've selected postgresql 7.0.3 for our (critical) application and while doing my first experiments I've found a bug which makes me worry very much. The problem is that a SELECT with a certain LIKE condition in combination with a GROUP BY does not find the proper records when there is an index on the particular column present. When the index is removed the SELECT *does* return the right answer. Fortunately I managed to strip down our database and create a simple single table with which the bug can be easily reproduced. I've been searching in the Postgres bug-database and this problem might be related to this report: http://www.postgresql.org/bugs/bugs.php?4~111 Below you find a psql-session that demonstrates the bug. I've made a dump of the test-database available as: http://dutepp0.et.tudelft.nl/~robn/demo.dump.bz2 (it is 46100 bytes long in compressed form but 45 MB when uncompressed,I tried to trim it down but then the bug isn't reproducableanymore !) The table is filled with all Spaces execpt for the "town" column. Sysinfo: -------- - well-maintained Linux Red Hat 6.2- kernel 2.2.18 - Intel Pentium III - postgresql-7.0.3-2 RPMsfrom the Postgresql site (the problem also occurs with locally rebuilt Source RPM) Any help is much appreciated ! Friendly greetings, Rob van Nieuwkerk psql session: *********************************************************************** demo=> \d List of relations Name | Type | Owner ------------+-------+-------demo_table | table | robn (1 row) demo=> \d demo_table Table "demo_table"Attribute | Type | Modifier -----------+----------+----------postcode | char(7) |odd_even | char(1) |low | char(5) |high | char(5) |street | char(24) | town | char(24) | area | char(1) | demo=> \di No relations found. demo=> SELECT town FROM demo_table WHERE town LIKE 'ZWO%' GROUP BY town; town --------------------------ZWOLLE (1 row) demo=> SELECT town FROM demo_table WHERE town LIKE 'Z%' GROUP BY town; <<<<<< here 86 towns are correctly found (output removed) >>>>>> demo=> CREATE INDEX demo_table_town_idx ON demo_table(town); CREATE demo=> SELECT town FROM demo_table WHERE town LIKE 'Z%' GROUP BY town;town ------ (0 rows) <<<<<< This is wrong !!!!!! >>>>>>> demo=> SELECT town FROM demo_table WHERE town LIKE 'ZWO%' GROUP BY town; town --------------------------ZWOLLE (1 row) demo=> DROP INDEX demo_table_town_idx; DROP demo=> SELECT town FROM demo_table WHERE town LIKE 'Z%' GROUP BY town; <<<<<< here 86 towns are correctly found again >>>>>> ***********************************************************************
pgsql-hackers by date: