powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB3.0 isql bug?
6 сообщений из 6, страница 1 из 1
FB3.0 isql bug?
    #39398051
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня в пакетном режиме работает извлекалка метаданных из разных баз для получения дельты между ними.
Мета извлекается в скрипте командой:

Код: powershell
1.
isql -a ${base_} -user ${user_} -pass ${pass_}  -o ${ddl_file} 2>${err_f}



Для "computed by" полей при использовании isql от 2.5 получаем (пример)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
/* Table: CALENDAR_, Owner: Owner */
CREATE TABLE CALENDAR_ (
        DATE_ BAS$DATE NOT NULL,
        BANKS_DAY BAS$BOOL default 1,
        YEAR_ COMPUTED BY (extract(year from date_)),
        QUARTER_ COMPUTED BY ((cast(ceil(cast(extract(month from cast(DATE_ as date)) as double precision)/3.0) as smallint))),
        MONTH_ COMPUTED BY (extract(month from date_)),
        DAY_OF_MONTH COMPUTED BY (extract(day from date_)),
        DAY_OF_YEAR COMPUTED BY (cast((extract(yearday from date_)+1)as smallint)),
CONSTRAINT PK_CALENDAR PRIMARY KEY (DATE_));



Та же таблица при использовании isql от трешки (3.0 или 3.0.1)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
/* Table: CALENDAR_, Owner: Owner */
CREATE TABLE CALENDAR_ (
        DATE_ BAS$DATE NOT NULL,
        BANKS_DAY BAS$BOOL default 1,
        YEAR_ SMALLINT COMPUTED BY (NULL),
        QUARTER_ SMALLINT COMPUTED BY (NULL),
        MONTH_ SMALLINT COMPUTED BY (NULL),
        DAY_OF_MONTH SMALLINT COMPUTED BY (NULL),
        DAY_OF_YEAR SMALLINT COMPUTED BY (NULL),
CONSTRAINT PK_CALENDAR PRIMARY KEY (DATE_));



Это жук?
...
Рейтинг: 0 / 0
FB3.0 isql bug?
    #39398105
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел - точно известный жук CORE-5194
Звиняйте.
...
Рейтинг: 0 / 0
FB3.0 isql bug?
    #39398112
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только получается, что он нифига не пофиксеный. :-(
...
Рейтинг: 0 / 0
FB3.0 isql bug?
    #39398193
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот облажался, так облажался...
Пофиксеный баг. Просто computed by извлекается отдельным статментом.

Код: sql
1.
2.
3.
4.
5.
6.
ALTER TABLE CALENDAR_
        ALTER YEAR_ TYPE SMALLINT COMPUTED BY (extract(year from date_)),
        ALTER QUARTER_ TYPE SMALLINT COMPUTED BY ((cast(ceil(cast(extract(month from cast(DATE_ as timestamp)) as double precision)/3.0) as smallint))),
        ALTER MONTH_ TYPE SMALLINT COMPUTED BY (extract(month from date_)),
        ALTER DAY_OF_MONTH TYPE SMALLINT COMPUTED BY (extract(day from date_)),
        ALTER DAY_OF_YEAR TYPE SMALLINT COMPUTED BY (cast((extract(yearday from date_)+1)as smallint));



а мой ddl парсер об этом ни сном, ни духом...
...
Рейтинг: 0 / 0
FB3.0 isql bug?
    #39398198
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sonkz,

и правильно что отдельным статментом. А то можно такие вычисляемые поля насочинять, что там рекурсивные зависимости полезут.
...
Рейтинг: 0 / 0
FB3.0 isql bug?
    #39398205
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, дык оно понятно... Я ж написал, что облажался...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB3.0 isql bug?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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