Обсуждение: like vs =
Hallo,
I just encountered a stange behaviour:
The following query gives zero rows.
bitoek=> SELECT name from file where name =
'mitarbeiter/mit/mitarbeiter_ehemalig.php';
name
------
(0 Zeilen)
Replacing "=" by like and escaping the underscore gives the row I knew
to be there:
bitoek=> SELECT name from file where name like
'mitarbeiter/mit/mitarbeiter\_ehemalig.php';
name
------------------------------------------
mitarbeiter/mit/mitarbeiter_ehemalig.php
(1 Zeile)
Other queries with the equal operator do match rows. Am I missing something?
Postgresql: 8.1.1
Fieldtype: text
Database encoding: Latin9
Regards,
Stefan
--
-----------------------------
Dr. Stefan Holzheu
Tel.: 0921/55-5720
Fax.: 0921/55-5709
BayCEER
EDV und Datenbanken
Universitaet Bayreuth
D-95440 Bayreuth
-----------------------------
Stefan Holzheu <stefan.holzheu@bayceer.uni-bayreuth.de> writes: > Other queries with the equal operator do match rows. Am I missing something? > Postgresql: 8.1.1 > Fieldtype: text > Database encoding: Latin9 What LC_COLLATE locale are you using? Your report looks a whole lot like the recently identified problem with locales that think that some not-bitwise-identical strings are "equal", as in this thread: http://archives.postgresql.org/pgsql-general/2005-12/msg00740.php If the same queries return sane results after doing set enable_indexscan = off, then that's probably what the problem is. If so, updating to 8.1.2 and REINDEXing should fix it. regards, tom lane
Tom Lane schrieb: > Stefan Holzheu <stefan.holzheu@bayceer.uni-bayreuth.de> writes: >>Other queries with the equal operator do match rows. Am I missing something? > >>Postgresql: 8.1.1 >>Fieldtype: text >>Database encoding: Latin9 > > What LC_COLLATE locale are you using? Your report looks a whole lot > like the recently identified problem with locales that think that some > not-bitwise-identical strings are "equal", as in this thread: > http://archives.postgresql.org/pgsql-general/2005-12/msg00740.php LC_COLLATE was POSIX > > If the same queries return sane results after doing set enable_indexscan > = off, then that's probably what the problem is. If so, updating to > 8.1.2 and REINDEXing should fix it. > You were right. Query works now. Thanks Stefan > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster > > -- ----------------------------- Dr. Stefan Holzheu Tel.: 0921/55-5720 Fax.: 0921/55-5709 BayCEER EDV und Datenbanken Universitaet Bayreuth D-95440 Bayreuth -----------------------------