Страница 1 из 1

изменение типа поля в 2.1.1

Добавлено: 11 фев 2009, 12:56
zigorzn
"пользователь" не владелец БД и не владелец "таблицы" и он может изменить "тип" поля. это БАГ?!
:?

Re: изменение типа поля в 2.1.1

Добавлено: 11 фев 2009, 13:55
WildSery
При чём тут владелец БД? Владелец не имеет никаких не выданных ему прав.
А вот "не владелец таблицы", и не сисдба (и не RDB$ADMIN) не имеют права менять тип поля.
Напиши подробнее.

Re: изменение типа поля в 2.1.1

Добавлено: 11 фев 2009, 15:43
zigorzn
пользователи БД user_1 и user_2

user_1 "сделал" таблицу TABLE_1.

CREATE DOMAIN DOMAIN_11 AS VARCHAR(100) CHARACTER SET NONE COLLATE NONE;
CREATE DOMAIN DOMAIN_22 AS VARCHAR(200) CHARACTER SET NONE COLLATE NONE;

CREATE TABLE TABLE_1 ( RECID INTEGER NOT NULL, FIELD_1 DOMAIN_11);
ALTER TABLE TABLE_1 ADD CONSTRAINT PK_TABLE_1 PRIMARY KEY (RECID);


user_2

alter table TABLE_1 alter column FIELD_1 type DOMAIN_22;
ОШИБКА!!

update RDB$RELATION_FIELDS set RDB$FIELD_SOURCE = 'DOMAIN_22' where (RDB$FIELD_NAME = 'FIELD_1') and (RDB$RELATION_NAME = 'TABLE_1');

ОШИБКИ НЕТ!!

Re: изменение типа поля в 2.1.1

Добавлено: 12 фев 2009, 16:40
WildSery
Так бы и сказал, что руками напрямую в системных таблицах ковыряешься.
Это, к сожалению, пока не запрещено.