Вниз
Скачать: 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.006 c
3-42352
МаксБ
2001-12-11 15:05
2002.01.14
Форматирование даты


14-42551
Jey
2001-10-30 22:03
2002.01.14
ЗА СТЕКЛОМ


6-42522
Polevi
2001-10-17 11:45
2002.01.14
С мольбой о помощи взываю!!!


1-42436
Yakudza
2001-12-24 15:02
2002.01.14
Редактор SQL запросов.


1-42449
Mitrofan
2001-12-24 19:28
2002.01.14
Быстрое преобразование Фурье




   Наверх