Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 3 Создание таблиц. Системные триггеры / 15 сообщений из 15, страница 1 из 1
18.02.2015, 11:40
    #38882663
zholnerovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 3 Создание таблиц. Системные триггеры
Здравствуйте. При создании таблицы и наложении на нее ограничений почему то создаются два одинаковых системных триггера на каждое ограничение. Подскажите что не так? 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
18.02.2015, 11:45
    #38882669
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 3 Создание таблиц. Системные триггеры
это нормально. Эти триггера как раз и реализуют CHECK-проверки.
...
Рейтинг: 0 / 0
18.02.2015, 12:07
    #38882704
zholnerovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 3 Создание таблиц. Системные триггеры
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
18.02.2015, 12:37
    #38882751
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FB 3 Создание таблиц. Системные триггеры
zholnerovich,

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

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

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

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

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

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

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

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


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