Вниз
Скачать: CL | DM;

Для гуру IB   Найти похожие ветки 

 
Long   (2001-12-10 17:01) [0]

Для начала выжимка из скрипта (База данных IB в третьем диалекте):

.....
CREATE DOMAIN "STR120" AS
VARCHAR(120) CHARACTER SET WIN1251
COLLATE PXW_CYRL ;
.......
CREATE TABLE CLIENT (
........
CLNTNAME STR120,
.......

При попытке создать индекс по этому полю вываливается ошибка о слишком
большой длине ключа
(видимо сказывается юникодовская кодировка).
Из определения домена убрал COLLATE PXW_CYRL, индекс создался без вопросов.
После этого изменяю домен, добавляю COLLATE PXW_CYRL и ..... о чудо ошибок
нет. Но только не понятно, как теперь это все будет работать ? Как надо мне
(т.е. правильно и с сортировкой символов по PXW_CYRL) или как захочется
системе ?


 
Romkin ©   (2001-12-10 18:42) [1]

Индекс в IB создается длиной не более 200 байт, если не ошибаюсь (ну около этого). Коллатион PXW_CYRL сразу берет 3 байта на символ.
Скорее всего, то, что прошло изменение домена - глюк IB6. Работать скорее всего будет, но до первого restore, который не пройдет (выдаст ошибку при создании индекса). Так что советую не рисковать.
PXW_CYRL используется практически только для UPPER либо containing.
Практически в любом случае хранить непосредственно данные в этом сравнивании особого смысла не имеет, тем более создавать индекс.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
4-42599
Abajun
2001-11-13 11:57
2002.01.14
Вызов функции по адресу


4-42609
McSimm
2001-11-13 12:55
2002.01.14
Писать в запрещенные адреса памяти.


14-42549
Бармен
2001-11-15 16:09
2002.01.14
Народ, а кто каким средством для построения инсталляционных пакетов пользуется?


1-42401
ev
2001-12-22 19:38
2002.01.14
помогите разобраться!


14-42545
Dush
2001-11-13 16:20
2002.01.14
Проблема с винтом




   Наверх