|
|
|
Проблема при использовании LIKE с UNICODE в IB/FB
|
|||
|---|---|---|---|
|
#18+
Привет всем! Есть БД, часть определения которой приведена ниже. SET SQL DIALECT 3; SET NAMES UNICODE_FSS; CREATE DATABASE 'C:\MyProjects\ENG\IBDB\AC011.GDB' USER 'SYSDBA' PASSWORD 'masterkey' PAGE_SIZE 8192 DEFAULT CHARACTER SET UNICODE_FSS; CREATE DOMAIN CH10 AS VARCHAR(10); CREATE DOMAIN CH50 AS VARCHAR(50); /* ... */ CREATE TABLE ROOMS ( PRJCODE INTEGER NOT NULL, ROOMNO CH10 NOT NULL, NAME CH50 /* ... */ ); Возникает проблема при выполнении операторов вида SELECT * FROM ROOMS WHERE NAME LIKE 'Коридор%' причем правый символ % может отсутствовать (поведение то же). При выполнении этого оператора сервер подвисает (испробовано на IB6, FB1, FB1.5). Если вместо 'Коридор' написать 'Coridor', запрос выполняется нормально. Запрос выполнялся нормально и тогда, когда DEFAULT CHARACTER SET был WIN1251. Запросы вида SELECT * FROM ROOMS WHERE UPPER(NAME) LIKE UPPER('КОРИДОР%') (именно так: UPPER('от_больших_букв') - работоспособность такого описана, кажется, в открытых фичах/багах FB1 применительно к беларусскому языку) вываливает все записи, где NAME написано в данном случае кириллицей. Экспериментально также удалось выяснить, что запросы вида SELECT * FROM ROOMS WHERE NAME LIKE 'Коридор%' collate unicode_fss также не подвешивают сервер, но и вываливают все записи с кириллическим NAME. Вопрос: лечится ли это как-то? Если лечится, просьба прояснить, как. Если нет, просьба кинуть идею, какой конструкцией можно заменить указанные операторы. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 21:30 |
|
||
|
Проблема при использовании LIKE с UNICODE в IB/FB
|
|||
|---|---|---|---|
|
#18+
Если это подвешивает сервер - пиши на news://forums.demo.ru/epsylon.public.interbase - пускай чинят. Я и сам на грабли ранее незамеченные натупил сегодня - обгадим выпуск релиза FB1.5 !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 21:38 |
|
||
|
Проблема при использовании LIKE с UNICODE в IB/FB
|
|||
|---|---|---|---|
|
#18+
Вроде, как выяснилось, FB1.5 здесь ни при чем: IB6 и FB1.0 ведут себя абсолютно так же. Скорее всего, дело в UNICODE_FSS. А чем так FB1.5 не нравится? Я его еще конкретно не пробовал, но собирался скоро начать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 22:10 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32295971&tid=1579811]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
170ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 460ms |

| 0 / 0 |
