Search Postgresql Archives

Re: is this a bug or I am blind?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Where are we on this?  Given the original report:

	online=# select * from common_logins where username = 'potyty';
	 uid | username | password | lastlogin | status | usertype | loginnum
	-----+----------+----------+-----------+--------+----------+----------
	(0 rows)
	
	online=# select * from common_logins where username like 'potyty';
	  uid   | username | password |         lastlogin          | status | 
	usertype | loginnum
	--------+----------+----------+----------------------------+--------+----------+----------
	 155505 | potyty   | board    | 2004-08-16 17:45:55.723829 | A      | 
	S        |        1
	  60067 | potyty   | board    | 2004-07-07 20:22:17.68699  | A      | 
	S        |        3
	 174041 | potyty   | board    | 2005-02-17 00:00:13.706144 | A      | 
	S        |        3
	(3 rows)
	
	online=# select username, username = 'potyty' from common_logins where 
	username like 'potyty';
	 username | ?column?
	----------+----------
	 potyty   | t
	 potyty   | t
	 potyty   | t
	(3 rows)
	
I don't think we can state that our current behavior is correct. I
realize we are being hit by the length comparison optimization, but
ultimiately the issue is that the Hungarian-specific locale considers
"tyty" and "tty" as the same string, which confuses our indexing
comparisons.

Is our fix going to be a Hungarian-specific one?

---------------------------------------------------------------------------

Tom Lane wrote:
> Martijn van Oosterhout <kleptog@xxxxxxxxx> writes:
> > On Fri, Dec 16, 2005 at 01:06:58PM -0500, Tom Lane wrote:
> >> Ah.  So we could redefine hashtext() to return the hash of the strxfrm
> >> value.  Slow, but a lot better than giving up hash join and hash
> >> aggregation altogether...
> 
> > Not to put too fine a point on it, but either you want locale-sensetive
> > sorting or you don't.
> 
> Nobody's said anything about giving up locale-sensitive sorting.  The
> question is about locale-sensitive equality: does it really make sense
> that 'tty' = 'tyty'?  Would your answer change in the context
> '/dev/tty' = '/dev/tyty'?  Are you willing to *not have access* to a
> text comparison operator that will make the distinction?
> 
> I'm inclined to think that this is more like the occasional need for
> accent-insensitive comparisons.  It seems generally agreed that you want
> something like smash('ab') = smash('áb') rather than making the
> strings equal in all contexts.
> 
> Of course, not being a native speaker of any of the affected languages,
> my opinion shouldn't be taken too seriously ...
> 
> 			regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@xxxxxxxxxxxxxxxx               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux