?

Log in

No account? Create an account

И ты бы, Ваня, у них был Vanä - Узором созвездий по мантии ночи

19.08.2014, Вторник

10:03:00 - И ты бы, Ваня, у них был Vanä

Previous Entry Поделиться Next Entry

Comments:

[User Picture]
From:beldmit
Date:19.08.2014 11:25:57
(Link)
Я подозреваю, что Эль в базе хочет сделать уникальный ключ по вычислению функции от поля.
(Ответить) (Parent) (Thread)
[User Picture]
From:arilou
Date:19.08.2014 13:56:30
(Link)
Ну если нельзя без функции, то хотя бы по функции.
Никакой "зависимости от языка" сделать не можно.
Это ник игрока. Язык игрока нам не известен (известно, какая локализация клиента, но это ведь не то же самое).
Хотелось уникальный индекс. Т.е. база давно есть, в ней 2 миллиона записей. Начав смотреть один из багов, обнаружил, что индекс по никам неуникальный. Пошёл смотреть, а есть ли дубликаты ников -- нашёл с полсотни, большинство пар различались диакритикой (наличием/отсутствием) в некоторых буквах, типа примеров самом в посте.

Мне было любопытно, смогу ли я сделать уникальный индекс или придётся обойтись проверками на уровне приложения (они есть, но при том некоторый думы попали в базу в обход них).
(Ответить) (Parent) (Thread)
[User Picture]
From:beldmit
Date:19.08.2014 13:59:24
(Link)
Так чем тебя не устраивает вариант, когда диакритики при сравнении отрываются? Показываться они будут, а лишней путаницы ты избежишь.
(Ответить) (Parent) (Thread)
[User Picture]
From:arilou
Date:19.08.2014 14:03:49
(Link)
Устроит это или нет -- я ещё уточню у менеджеров. Это как бы не мне решать.
Ну т.е. я уже описал ситуацию. Позже уточню, чего в итоге хочется.
Но если диакритику отрывать -- придётся что-то делать с имеющимися дублями.
Поскольку некоторые запросы в сервере грустят, когда получают более одной записи в ответе. Если решить, что делать с дублями, вариант accent insensitive collation меня-то вполне устроит.
(Ответить) (Parent) (Thread)
[User Picture]
From:beldmit
Date:19.08.2014 14:09:15
(Link)
Ну либо запросы уточнять. Но ИМХО, самый плохой вариант - это изобретать тут свою функцию smth-independent comparison.
(Ответить) (Parent) (Thread)