index unexpectedly deleted

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

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

Ответить
SEYD
Сообщения: 7
Зарегистрирован: 11 апр 2006, 14:17

index unexpectedly deleted

Сообщение SEYD » 25 апр 2006, 16:40

как мне удалить индекс из таблицы чтоб не возникало такой ошибки?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 25 апр 2006, 16:41

ошибка сообщает, что индекс уже был удален. как делаешь-то?

SEYD
Сообщения: 7
Зарегистрирован: 11 апр 2006, 14:17

Сообщение SEYD » 25 апр 2006, 17:07

просто удаляю в IBExpert, потом запуская клиентскую программу, и видать когда вызывается процедура которая обращается к этой таблице - все падает вот с такой ошибкой

ошибочный индекс просто создал, он уникальный, а должен быть обычным.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 25 апр 2006, 17:43

детали, детали давай. что за индекс, почему процедура его хочет...
если сервер остановишь и перезапустишь - приложение точно также ругается?

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

Сообщение dimitr » 25 апр 2006, 18:19

план у него в процедуре индекс этот использует

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 25 апр 2006, 20:25

да я это сразу подозрел...

SEYD
Сообщения: 7
Зарегистрирован: 11 апр 2006, 14:17

Сообщение SEYD » 26 апр 2006, 17:38

сейчас нет возможности все точно посмотреть, но примерно рассказываю:

есть таблица employees_bans с полями empid,stype и info
есть уникальный индекс по empid, его надо удалить, точнее надо сделать чтоб он был уникальным по совокупности полей empid и stype

при любых изменениях индекса при обращении к этой таблице появляется субж.

че делать? :)

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 26 апр 2006, 17:53

не надо разводить эпистолярный жанр. индекс обычно нормально удаляется и создается. Ты же начинаешь крутить, то процедура сообщает об ошибке, то "точно посмотреть нет возможности"... Чего нам-то гадать?
Тебе уже объяснили - индекс использовался в плане запроса, который написан в процедуре. Ты его удалил. Процедура теперь законно ругается.
если не хочешь писать сюда, то тогда сам посмотри, какие у таблицы метаданные, то есть что происходит "при обращении к таблице". Тогда поймешь, почему ругань на ОТСУТСТВУЮЩИЙ индекс идет.

SEYD
Сообщения: 7
Зарегистрирован: 11 апр 2006, 14:17

Сообщение SEYD » 26 апр 2006, 18:32

я же говорю прямо сейчас у меня нет возможности заглянуть в метаданные :)

если он используется в плане, как сделать чтобы не использовался?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 26 апр 2006, 19:05

если он используется в плане, как сделать чтобы не использовался?
убрать явно прописанный план у запроса.

SEYD
Сообщения: 7
Зарегистрирован: 11 апр 2006, 14:17

Сообщение SEYD » 26 апр 2006, 19:33

я его явно там не прописывал, и никто другой не прописывал

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 26 апр 2006, 21:12

разговор ни о чем. хочешь решить проблему - приводи метаданные, и порядок действий, приводящих к ошибке.

Ответить