|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_devнастройка соединения "CASE_PRESERVE" уффф... Не решит она ничего. В текущем rdb$relations невозможно будет отличить квотированный от неквотированного идентификаторы. Сейчас можно create table Test create table "Test" если сделать включить "флаг case preserve", то тогда второй оператор выше выдаст ошибку, т.к. уже есть rdb$relation_name = 'Test' p.s. ок, действительно добавлением rdb$relations.rdb$relation_name_original можно получить case preserve, т.е. этот самый "флаг". Но - тогда rdb$relation_name придется использовать только для проверки на upper, т.е. квотированное имя или нет. а выводить всегда из rdb$relation_name_original, причем, обязательно квотировать если Upper(original) <> rdb$relation_name. Только это получается дублирование данных. А если модифицировать rdb$relations (и остальные), то с моей точки зрения проще добавить столбец флага квотированности, чем столбец с дублем имени объекта. Впрочем, для совместимости это наоборот, хуже. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:27 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
kdv, зачем отличать квотированный идентификатор от неквотированного? Если CASE_PRESERVE=TRUE, все идентификаторы из метаданных читаются как есть и не квотируются, если CASE_PRESERVE=FALSE, идентификаторы из метаданных, содержащие строчные символы, при чтении квотируются. При записи в метаданные алгоритм тоже довольно прост. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:41 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
kdvВ текущем rdb$relations невозможно будет отличить квотированный от неквотированного идентификаторы. Так что это очень удачно, что сейчас ODS 13 свободно доступна для изменений. В том числе и для добавления новых полей в RDB4RELATIONS. Спешите запуллить реквесты! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:46 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_devkdv, зачем отличать квотированный идентификатор от неквотированного?Затем, что нехорошо иметь два объекта, отличающихся только регистром. Правило "взятия кавычки" сделано для того, чтобы "обвесить опасный участок красными флажками". Но пограммисты и тут извратились: "ПОЛЕ"."ТАБЛИЦА" - это ведь так однозначно и определённо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:48 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, мне бы не хотелось чтобы обратная совместимость сломалась в этом месте. И без того переделки существенные будут с учётом перевода метаданных на UTF-8 и увеличения максимальной длины идентификаторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:51 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Симонов Денисмне бы не хотелось чтобы обратная совместимость сломалась в этом месте. Если сделать поле с оригинальным написанием идентификатора чисто справочным, никогда не используемым движком, то ничего не сломается. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:55 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Hello, Dimitry Sibiryakov! You wrote on 9 июня 2016 г. 11:56:13: Dimitry Sibiryakov> Если сделать поле с оригинальным написанием идентификатора чисто справочным, никогда не > используемым движком, то ничего не сломается.для "чисто справочного" идентификатора вовсе не обязательно юзать системные таблицы. но это ж придётся НАПРЯГАТЬСЯ, а ТС хочет всё и сразу. желательно вчера. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:57 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovСимонов Денисмне бы не хотелось чтобы обратная совместимость сломалась в этом месте. Если сделать поле с оригинальным написанием идентификатора чисто справочным, никогда не используемым движком, то ничего не сломается. Два года назад тема не взлетала: http://www.sql.ru/forum/1083842/hotelka?mid=16139454#16139454 . ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 12:42 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Мимопроходящийно это ж придётся НАПРЯГАТЬСЯ, а ТС хочет всё и сразу. желательно вчера. ТС'у всего-то надо было с размером составного индекса разобраться, но тут, вдруг, разгорелся флейм по поводу квотирования имен таблиц и полей... чОртовы хейтеры! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 12:58 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
rdb_devТС'у всего-то надо было с размером составного индекса разобраться,Четкий, внятный ответ из первоисточника выше был, см. пост Влада. В чем проблема? rdb_devразгорелся флейм по поводу квотирования имен таблиц и полей...Квотированные идентификаторы для мазохистов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 13:01 |
|
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyЧеткий, внятный ответ из первоисточника выше был, см. пост Влада. В чем проблема? Ни в чем. Давно разобрались. rdb_devКвотированные идентификаторы для мазохистов. Yes, I am! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 13:06 |
|
|
start [/forum/topic.php?fid=40&msg=39253503&tid=1562142]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 180ms |
0 / 0 |