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

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
zigorzn
Сообщения: 27
Зарегистрирован: 03 фев 2008, 09:16

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

Сообщение zigorzn » 11 фев 2009, 12:56

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

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

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

Сообщение WildSery » 11 фев 2009, 13:55

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

zigorzn
Сообщения: 27
Зарегистрирован: 03 фев 2008, 09:16

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

Сообщение zigorzn » 11 фев 2009, 15:43

пользователи БД 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');

ОШИБКИ НЕТ!!

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

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

Сообщение WildSery » 12 фев 2009, 16:40

Так бы и сказал, что руками напрямую в системных таблицах ковыряешься.
Это, к сожалению, пока не запрещено.

Ответить