possible bug in case comparison on index scan.
От | Merlin Moncure |
---|---|
Тема | possible bug in case comparison on index scan. |
Дата | |
Msg-id | 6EE64EF3AB31D5448D0007DD34EEB3412A758C@Herge.rcsinc.local обсуждение исходный текст |
Список | pgsql-hackers |
I've uncovered a possible bug on that may be related to the other locale relation issues for win32 being discussed right now. Basically, I have a situation where a query is pulling up the wrong record based on string case. So far, I have not been able to reproduce this in linux. Here is the situation: Database is initialized to the default locale which is "English_United States.1252" (as reported by pg_controldata.exe). Databases initialized to the 'C' locale don't have this problem. If this is just a locale issue, I'm not concerned (just use the C locale), but just want to make sure a btree related issue is not slipping through. Observe: esp=# select version(); version ------------------------------------------------------------------------ --------------------- PostgreSQL 8.0.0rc2 on i686-pc-mingw32, compiled by GCC gcc.exe (GCC) 3.4.1 (mingw special) (1 row) esp=# prepare data9_start_nl_item_base_file_5 (character varying, character varying, int4) esp-# as select 1::int4, ib_sales_description_1 from data9.item_base_file esp-# where ib_sales_description_1 >= $1 and esp-# (ib_sales_description_1 > $1 or ib_sales_description_2 >= $2) esp-# order by ib_sales_description_1, ib_sales_description_2, id esp-# limit $3; PREPARE esp=# execute data9_start_nl_item_base_file_5('SAT', '', 1 ); int4 | ib_sales_description_1 ------+------------------------ 1 | satellite (1 row) esp=# select 'sat' >= 'SAT'; ?column? ---------- f (1 row) esp=# execute data9_start_nl_item_base_file_5('SAT', '', 2 ); int4 | ib_sales_description_1 ------+------------------------------- 1 | satellite 1 | SATELLITE (current) AUTO DUAL (2 rows) Merlin
В списке pgsql-hackers по дате отправления: