powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
12 сообщений из 112, страница 5 из 5
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253401
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 (и остальные), то с моей точки зрения проще добавить столбец флага квотированности, чем столбец с дублем имени объекта. Впрочем, для совместимости это наоборот, хуже.
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253418
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, зачем отличать квотированный идентификатор от неквотированного? Если CASE_PRESERVE=TRUE, все идентификаторы из метаданных читаются как есть и не квотируются, если CASE_PRESERVE=FALSE, идентификаторы из метаданных, содержащие строчные символы, при чтении квотируются. При записи в метаданные алгоритм тоже довольно прост.
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253422
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvВ текущем rdb$relations невозможно будет отличить квотированный от неквотированного
идентификаторы.

Так что это очень удачно, что сейчас ODS 13 свободно доступна для изменений. В том числе и
для добавления новых полей в RDB4RELATIONS. Спешите запуллить реквесты!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253426
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devkdv, зачем отличать квотированный идентификатор от неквотированного?Затем, что нехорошо иметь два объекта, отличающихся только регистром.
Правило "взятия кавычки" сделано для того, чтобы "обвесить опасный участок красными флажками".
Но пограммисты и тут извратились: "ПОЛЕ"."ТАБЛИЦА" - это ведь так однозначно и определённо.
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253429
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

мне бы не хотелось чтобы обратная совместимость сломалась в этом месте. И без того переделки существенные будут с учётом перевода метаданных на UTF-8 и увеличения максимальной длины идентификаторов.
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253435
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисмне бы не хотелось чтобы обратная совместимость сломалась в этом месте.

Если сделать поле с оригинальным написанием идентификатора чисто справочным, никогда не
используемым движком, то ничего не сломается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253439
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 9 июня 2016 г. 11:56:13:

Dimitry Sibiryakov> Если сделать поле с оригинальным написанием идентификатора чисто справочным, никогда не
> используемым движком, то ничего не сломается.для "чисто справочного" идентификатора вовсе не обязательно юзать системные таблицы.
но это ж придётся НАПРЯГАТЬСЯ, а ТС хочет всё и сразу.
желательно вчера.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253503
и ещё раз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovСимонов Денисмне бы не хотелось чтобы обратная совместимость сломалась в этом месте.

Если сделать поле с оригинальным написанием идентификатора чисто справочным, никогда не
используемым движком, то ничего не сломается.

Два года назад тема не взлетала: http://www.sql.ru/forum/1083842/hotelka?mid=16139454#16139454 .
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253530
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийно это ж придётся НАПРЯГАТЬСЯ, а ТС хочет всё и сразу. желательно вчера.
ТС'у всего-то надо было с размером составного индекса разобраться, но тут, вдруг, разгорелся флейм по поводу квотирования имен таблиц и полей... чОртовы хейтеры!
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253533
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devТС'у всего-то надо было с размером составного индекса разобраться,Четкий, внятный ответ из первоисточника выше был, см. пост Влада. В чем проблема?

rdb_devразгорелся флейм по поводу квотирования имен таблиц и полей...Квотированные идентификаторы для мазохистов.
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253542
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyЧеткий, внятный ответ из первоисточника выше был, см. пост Влада. В чем проблема?
Ни в чем. Давно разобрались.

rdb_devКвотированные идентификаторы для мазохистов.
Yes, I am!
...
Рейтинг: 0 / 0
Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
    #39253550
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ответ по сути 19269270

остальное флуд, закрыто.
...
Рейтинг: 0 / 0
12 сообщений из 112, страница 5 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Растолкуйте про ошибку на составной ключ с utf8(unicode_ci_ai)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]