powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 3 Создание таблиц. Системные триггеры
15 сообщений из 15, страница 1 из 1
FB 3 Создание таблиц. Системные триггеры
    #38882663
zholnerovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. При создании таблицы и наложении на нее ограничений почему то создаются два одинаковых системных триггера на каждое ограничение. Подскажите что не так? FireBird 3

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
CREATE TABLE gd_user
(
  id               dintkey,
  name             dusername,
  passw            dpassword,                              
  ingroup          dinteger DEFAULT 1 NOT NULL,
  fullname         dtext180,                  
  description      dtext180,                  
  ibname           dusername,               
  ibpassword       dpassword,                
  contactkey       dintkey,                    
  externalkey      dforeignkey,               
  disabled         dboolean DEFAULT 0 NOT NULL,
  lockedout        dboolean DEFAULT 0,         
  mustchange       dboolean DEFAULT 0,        
  cantchangepassw  dboolean DEFAULT 1,      
  passwneverexp    dboolean DEFAULT 1,       
  expdate          ddate,                     
  workstart        dtime,                      
  workend          dtime,                     
  allowaudit       dallowaudit,              
                                              
  editiondate      deditiondate,
  editorkey        dforeignkey,

  icon             dinteger,                   
  reserved         dinteger,                  

  CHECK (((workstart IS NULL) AND (workend IS NULL)) OR (workstart < workend)),
  CHECK (ingroup <> 0)
);
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38882669
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это нормально. Эти триггера как раз и реализуют CHECK-проверки.
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38882704
zholnerovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimitr, но почему их по два на каждый чек?

Вот что в триггерах:

CREATE OR ALTER TRIGGER CHECK_1 FOR GD_USER
ACTIVE BEFORE INSERT POSITION 0
CHECK (((workstart IS NULL) AND (workend IS NULL)) OR (workstart < workend))


CREATE OR ALTER TRIGGER CHECK_2 FOR GD_USER
ACTIVE BEFORE UPDATE POSITION 0
CHECK (((workstart IS NULL) AND (workend IS NULL)) OR (workstart < workend))

CREATE OR ALTER TRIGGER CHECK_3 FOR GD_USER
ACTIVE BEFORE INSERT POSITION 0
CHECK (ingroup <> 0)

CREATE OR ALTER TRIGGER CHECK_4 FOR GD_USER
ACTIVE BEFORE UPDATE POSITION 0
CHECK (ingroup <> 0)
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38882751
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zholnerovich,

Один на INSERT, другой на UPDATE. Хотя почему не INSERT OR UPDATE действительно непонятно.
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38882881
zholnerovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster, Вот интересно это баг или фича?
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38882886
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда в борланде делалась реализация CHECK-ов, универсальных триггеров еще и в проекте не было. Багом это точно считать нельзя, ибо жить никак не мешает. Если феншуй так уж сильно давит, то пишите трекеру request for improvement.
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38882965
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

Да мне как-то не мешает. Но у ТС вроде как 3.0 и универсальные триггера тоже не первый год существуют - можно наверное по свободе что-нить с чеками сделать...

P.S. Чтобы не поднимать старую тему ( тут ) - в контекстных переменных что-то вроде SERVER_HOSTNAME_OR_IP появится?
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38882997
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterможно наверное по свободе что-нить с чеками сделать
наверное, можно. Если конечно нужно что-то делать :-)

DarkMasterв контекстных переменных что-то вроде SERVER_HOSTNAME_OR_IP появится?
не знаю. Тикет в трекере Алекс отверг, убеждать его в полезности никто не стал. Оно мне надо или вам?
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38883008
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterНо у ТС вроде как 3.0 и универсальные триггера тоже не первый год существуют - можно наверное по свободе что-нить с чеками сделать
зачем, если это все равно системные триггеры, и туда никто не смотрит? какая разница, комбинированный это триггер, или два отдельных? На производительность все равно никак вообще не влияет.
Думаю, поменяют, только если кому-нибудь в fb dev team будет нечего делать (или возникнет идея отвлечься).
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38883014
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

Дык все как бараны уперлись - "если вы знаете хост, к которому коннектитесь - зачем вам оно надо?" Я вот еще и имя БД знаю - но это ж не мешает мне его из тех же контекстных переменных получить ;) Ну тикет как закрыли 2 года назад, так и фсе - переоткрывать никто не собирается, несмотря на периодически поднимаемый вопрос. А Алекс тут не особо светится - в основном ты с Владом. В общем - "куды податься сироте"?
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38883042
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterпереоткрывать никто не собирается, несмотря на периодически поднимаемый вопрос
где он периодически поднимается? В трекер надо писать, а не тут страдать. Добавлять комменты к закрытому тикету никто не запрещает вроде бы.
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38883084
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

А комменты к закрытым тикетам читают насколько часто?
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38883124
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

все комменты идут в список рассылки, на который подписаны все разработчики
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38883205
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrвсе комменты идут в список рассылки
В какой именно? В firebird-devel они не идут, только начальное создание тикета.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 Создание таблиц. Системные триггеры
    #38883228
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

пардон, напутал. Сам трекер рассылает напрямую заинтересованным лицам - админам, автору тикета, назначенному разработчику, подписчикам.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 3 Создание таблиц. Системные триггеры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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