Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB3 core-2350 / 19 сообщений из 19, страница 1 из 1
06.06.2016, 13:37
    #39251204
maratvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Добрый день.
Прошу объяснить по-русски, может чего-то недопонял.
В релизнотах читаю вот это:
Enforcement of Length Limit for Local Alias and Variable Names
The names for column and table aliases and for local variables names in PSQL are now restricted to 31 bytes in
length. This enforcement has been made to comply with the SQL specification that requires them to be regular
SQL identifiers, in accordance with the implementation-dependent limits. In Firebird, SQL identifiers are limited
to 31 bytes.
See also: CORE-2350

Т.е. теперь сервер будет генерить ошибку, если длина какого-то алиаса превысит 31 символ (в двойке он просто резал алиас)?

Ок, пробую сократить длинные русские алиасы до 31 символа. Снова получаю по лбу. Сервер говорит, что слишком длинное имя. Опытным путем выяснено, что русский алиас не может превышать в длину 16 символов (маловато будет).

И еще: create table test("Длинное русское имя поля" integer) тоже говорит, что слишком длинное имя поля (то же самое ограничение в 16 символов).

Вопрос: так и должно быть или баг?
...
Рейтинг: 0 / 0
06.06.2016, 13:55
    #39251210
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
maratvgдлина какого-то алиаса превысит 31 символ
Научись отличать "bytes" от "символ".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.06.2016, 13:56
    #39251214
Товарищ генеральный секретарь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
maratvg,

ты не видишь разницы между символом и байтом?
...
Рейтинг: 0 / 0
06.06.2016, 13:58
    #39251215
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
maratvg,

не 31 символ, а 31 байт. В юникоде кириллица занимает 2 байта. Русские алиасы лучше не делать. Причин тому много: глюки клиентов (не все хорошо с юникодом работают), геморрой с двойными кавычками, да с длинной идентификаторов косяки. Всё равно поле названное по буржуйски всегда можно подписать по русски.
...
Рейтинг: 0 / 0
06.06.2016, 14:52
    #39251265
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Симонов Денис, там чистый unicode или utf8?
...
Рейтинг: 0 / 0
06.06.2016, 14:54
    #39251270
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
rdb_devтам чистый unicode или utf8?
Там древний unicode_fss.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.06.2016, 15:09
    #39251283
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
rdb_dev,

было бы utf-8 думаю такой фигни с путаницей байт/символ не было бы. Вроде как в FB 4.0 переделают на utf-8. И на этот раз надеюсь везде. А то сейчас текст EXCEPTION в NONE хранится, из-за чего форматированный вывод исключений иногда подглючивает.
...
Рейтинг: 0 / 0
06.06.2016, 15:17
    #39251297
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Симонов Денис, почему не было бы? Кириллица в utf8 тоже двухбайтная, а вот первые 127 символов ASCII - однобайтные.
...
Рейтинг: 0 / 0
06.06.2016, 15:32
    #39251306
maratvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Всё понятно, спасибо.
...
Рейтинг: 0 / 0
06.06.2016, 15:49
    #39251324
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
rdb_devпочему не было бы?
Твой ник как бы намекает, что ты должен бы знать разницу работы Firebird с unicode_fss и
utf-8...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.06.2016, 15:52
    #39251328
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Dimitry Sibiryakov, не сразу заметил твой ответ про unicode_fss.
...
Рейтинг: 0 / 0
06.06.2016, 16:24
    #39251360
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Симонов ДенисА то сейчас текст EXCEPTION в NONE хранится, из-за чего форматированный вывод исключений иногда подглючивает.
И в тройке тоже?
...
Рейтинг: 0 / 0
06.06.2016, 16:45
    #39251381
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
wadman,

к сожалению да.
...
Рейтинг: 0 / 0
06.06.2016, 18:16
    #39251454
Любезный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Мне тоже порой мешает это ограничение. Когда я стал в прошлом году осваивать Lazarus с компонентами IBX от Rik (соединение в кодировке UTF8), ранее работая с D2010+FIBPlus (только в WIN1251), обнаружил интересную проблему - при выполнении запроса типа SELECT FLD1 AS "Алиас поля 1", компонент выдавал в заголовке алиас в Caps-регистре, обрезанный до 16 символов. В Delphi+FIB такого не было, правда длина алиасов у меня не превышала 31 байта.
...
Рейтинг: 0 / 0
06.06.2016, 18:26
    #39251459
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Любезныйпри выполнении запроса типа SELECT FLD1 AS "Алиас поля 1", компонент выдавал в заголовке алиас в Caps-регистре, обрезанный до 16 символов
А вы кириллические алиасы где-то в компонентах используете?
...
Рейтинг: 0 / 0
06.06.2016, 18:40
    #39251469
Любезный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
авторА вы кириллические алиасы где-то в компонентах используете?
Когда мне надо отобразить содержимое любого Select-запроса, например, в ListView, я использую одну процедуру, заполняющую ListView из датасета (в Delphi это TpFIBQuery, в Lazarus - TIBSQL), и внутри неё вытягиваю заголовки из датасета в столбцы ListView.
...
Рейтинг: 0 / 0
06.06.2016, 18:48
    #39251475
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Любезный,

А я храню заголовки в отдельной таблице с кучкой доп. метаданных и не парюсь.
...
Рейтинг: 0 / 0
06.06.2016, 18:59
    #39251480
Любезный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
авторА я храню заголовки в отдельной таблице с кучкой доп. метаданных и не парюсь.
Ну... каждый делает как ему удобнее в каждой конкретной задачке.
...
Рейтинг: 0 / 0
06.06.2016, 19:10
    #39251490
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB3 core-2350
Симонов Дениск сожалению да.
Более того, в тройке (или даже двойке) в системные таблицы добавились новые поля у которых
забыли кодировку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB3 core-2350 / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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