Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Имена полей с пробелом вначале / 5 сообщений из 5, страница 1 из 1
11.03.2014, 15:04
    #38583013
Сисдба Мастеркеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена полей с пробелом вначале
Всем привет.

Александр, с удивлением обнаружил у сотрудника одинаковые поля в таблице. Подумал сначала, что база побилась. После детальных разбирательств, обнаружилось, что Эксперт не делает никакой разницы между полями, отличающимися наличием пробела в начале имени поля.

Код: sql
1.
2.
3.
create table test_multy_fields (
  FIELD1 int,
  " FIELD1" int)



"Открываю" таблицу, на вкладке "Скрипт" вижу:

Код: sql
1.
2.
3.
4.
CREATE TABLE TEST_MULTY_FIELDS (
    FIELD1  INTEGER,
    FIELD1  INTEGER
);



На вкладке "Поля" тоже никакого различия.

И зависимости у них одинаковые.
Например, создаю
Код: sql
1.
2.
CREATE OR ALTER VIEW VW_TEST_MULTY_FIELDS(     FIELD1)
AS select     FIELD1 from TEST_MULTY_FIELDS;



В таблице TEST_MULTY_FIELDS на вкладке "Поля" внизу, где "Объекты, использующие поле" для обоих полей в зависимостях выводится VW_TEST_MULTY_FIELDS, что неверно.

При попытке удалить поле FIELD1 из эксперта генерится скрипт "ALTER TABLE TEST_MULTY_FIELDS DROP FIELD1"
Поле успешно удаляется (которое без пробела).
Удалить поле с пробелом из эксперта - никак, только если выполнить руками скрипт с именем поля в кавычках.

Эксперт: 2014.2.27.1
На всякий случай, версия FB:
---------------------------
Firebird server version
---------------------------
WI-V2.5.3.26655 Firebird 2.5
---------------------------
ОК
---------------------------

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.03.2014, 15:33
    #38583043
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена полей с пробелом вначале
Сисдба МастеркеевичЭксперт не делает никакой разницы между полями, отличающимися наличием пробела в начале имени поля.


Не делает, потому что при выборке из системных таблиц делается trim.
Это баг, конечно, но сейчас его лечением я заниматься не буду.
...
Рейтинг: 0 / 0
11.03.2014, 18:02
    #38583249
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена полей с пробелом вначале
Сисдба Мастеркеевич,

Этот баг из той же оперы, когда "нельзя давать одинаковые имена полей в таблице, но в разных регистрах" - проблем намного больше чем профита.
...
Рейтинг: 0 / 0
12.03.2014, 10:44
    #38583659
Сисдба Мастеркеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена полей с пробелом вначале
Никто в здравом уме не будет давать такие имена. Просто эксперт это позволяет, и в результате тихо-незаметно появляются кривые поля. Кривизну глазом сразу не видно. Не думаю, что это суровый критический баг, но я просигнализировал, чтобы не забылось.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.03.2014, 10:50
    #38583672
Сисдба Мастеркеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена полей с пробелом вначале
Сисдба Мастеркеевич пишет:

> эксперт это позволяет

Я имею в виду не только выполнение скрипта создания таблицы, но и добавление поля в средствами GUI эксперта.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Имена полей с пробелом вначале / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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