Непонятная процедура!

Запросы, планы, оптимизация запросов, ...

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

Ответить
Дмитрий
Сообщения: 127
Зарегистрирован: 26 окт 2004, 11:05

Непонятная процедура!

Сообщение Дмитрий » 28 окт 2004, 14:02

Привет всем!
Тут столкнулся с такой проблемой.
Имеем IB 6.5 под NT. Создал временную таблицу (без индексов, триггеров, ограничений). Потом возникла необходимость ее удалить. Не удаляется! Появилась какая-то зависимая процедура (я ее не создавал) DB$5318. Процедура то же не удаляется. Откуда она взялась и как мне удалить таблицу?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Re: Непонятная процедура!

Сообщение Merlin » 28 окт 2004, 14:09

Дмитрий писал(а):Привет всем!
Тут столкнулся с такой проблемой.
Имеем IB 6.5 под NT. Создал временную таблицу (без индексов, триггеров, ограничений). Потом возникла необходимость ее удалить. Не удаляется! Появилась какая-то зависимая процедура (я ее не создавал) DB$5318. Процедура то же не удаляется. Откуда она взялась и как мне удалить таблицу?
За работу с незакоммиченными изменениями метаданных (включая создание новых) полагается канделябром по любому в любой версии. Ты не закоммитил создание таблицы и удалил её в той же транзакции. Неприятности какого-либо рода почти гарантированы, но именно появление фантомных объектов вида DB$... пофиксено в FB1.5 и по идее должно в более поздних IB тоже, во всяком случае Борланду о природе этого бага сообщили.

Дмитрий
Сообщения: 127
Зарегистрирован: 26 окт 2004, 11:05

Сообщение Дмитрий » 28 окт 2004, 14:16

Позволю себе не согласиться.
Эту табличку я закачал с помощью IBDataPump (транзакция точно завершена). Она находилась в базе достаточно долго, я с ней работал. А потом решил удалить. Так что это что-то другое.

Klyk
Сообщения: 100
Зарегистрирован: 26 окт 2004, 23:28

Сообщение Klyk » 28 окт 2004, 23:51

Была такая же проблема решилась просто.
Создал процедуру, использующую те же поля (поле) что и ента, якобы существующая, процедура, и сохранил её под такимже именем (в твоем случае DB$5318, у меня была что-то вроде NCU....),
потом удалил эту процедуру, после чего спокойно снёс таблицу.

Дмитрий
Сообщения: 127
Зарегистрирован: 26 окт 2004, 11:05

Сообщение Дмитрий » 29 окт 2004, 10:38

Спасибо!
Буду пробовать.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 29 окт 2004, 13:32

Кстати, с чего ты взял, что это процедура? Добавь к DB$5318 буковку R спереди и поищи системный домен с таким именем.

Гость

Сообщение Гость » 29 окт 2004, 14:15

Так мне IBE говорит, что это процедура. Если закладочку "зависимости" посмотреть.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 29 окт 2004, 14:40

А если посмотреть самому в RDB$DEPENDENCIES?

Дмитрий
Сообщения: 127
Зарегистрирован: 26 окт 2004, 11:05

Сообщение Дмитрий » 29 окт 2004, 14:48

Надо посмотреть, до этого еще не дошел. Сейчас другие проблемы.

Ответить