Ded пишет:

В моём понимании - да. Правишь его, не зная где он использован по делу чи не очень (а даже в средних размеров командах это запросто, да и склероз-бодун даже если один работаешь) и получашь сурпрайз где-нить не

Sorry, а зачем вообще править домены, рискуя нарваться на грабли, и
не использовать штатную возможность
 ALTER TABLE T ALTER A TYPE ....
?

Кроме того у домена типа CHAR40 править тип или длину IMHO смысла никакого нет,
в отличие, скажем, от RDB$1665.

Ну прикинь. Прокололся ты с размером строкового поля - не хватает пары символов. А то не бывает. Проальтерил и спишь спокойно, в аппликухе
Еще как бывает!
Так если никаких ALTER DOMAIN, а просто
 CREATE NEWDOMAIN TYPE ....
 ALTER TABLE T1 ALTER A TYPE NEWDOMAIN
 ALTER TABLE T2 ALTER B TYPE NEWDOMAIN
 ALTER TABLE T3 ALTER C TYPE NEWDOMAIN
здесь-то откуда проблемы могут возникнуть ?
Ну если потом еще UPDATE T1 SET A=A сделать.

Причем если сразу озаботиться созданием уникальных пользовательских доменов по типу
 NOMENKL        D_NOMENKL,
 PAP_NAME       D_PAP_NAME,
 LISTOR_ZAKPRV  D_LISTOR_ZAKPRV,

То подобная проблема порождена самим собой и сразу. А здесь мы имеем багу. Поскольку я не любитель альтерить типы вообще и это в основном

С какой стати появится проблема, если, скажем, для каждого столбца каждой
таблицы предварительно нагенерировать свой уникальный домен?
И никогда не править сами типы (домены) ?

Грубо говоря:
 create domain D_T1_ID ...
 create domain D_T1_C1 ...
 create domain D_T1_C2 ...
 create domain D_T2_ID ...
 ...

 create table T1 ( ID D_T1_ID, ...)
 create table T2 ( ID D_T2_ID, ...)
 ...
Чем такие "свои" домены для пользователя БД будут отличаться от
автоматически создаваемых системных, кроме имени?
Ведь тогда при первом же взгляде на метаданные, если
 create table T999 ( ID D_T1_ID, ...)
ошибку при использовании "чужого" домена видно сразу,
а не после ковыряния системных таблиц.

--
Игорь Захребетков

Reply via email to