Re: Представления + индексы + транзакции | |
---|---|
Владимир Максимов Сообщений: 14098 Откуда: Москва Дата регистрации: 02.09.2000 |
Я тут поэкспериментировал немного. Получилось следующее:
-) Если View вообще не имела индекса, то одна (или несколько) команда вроде INDEX ON ... TAG .. создаст нужное количество тэгов структурного индексного файла (определяется командой CDX(1)). При этом имя структурного индексного файла совпадает с именем временной таблицы (DBF()) -) После выполнения команды REQUERY() имя индексного файла перестает совпадать с именем временной таблицы, но он по прежнему остается структурным индексным файлом. -) Если View уже имеет структурынй индексный файл, то после Requery() команда INDEX ON ... TAG ... создаст тэг мультииндексного, но НЕ структурного индексного файла (определяется по команде CDX(2)). Вот этот-то второй индекс и мешает транзакции. Выполнение команды CLOSE INDEX закроет все НЕ структурные индексы. Структурные индексы остануться открытыми. Их в принципе невозможно закрыть пока открыта таблица. Т.е. перед собственно сохранением делаешь примерно следующее:
Ну, и все. Далее действуешь как и раньше. Индексируешь поля, если они не были проиндексированы. ------------------ |
Re: Представления + индексы + транзакции | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Владимир!
Цитата:Да, это любопытно. Цитата:Тока ещё бы добавить ERASE для этого "левого" cdx-а, а то мусор накапливать нехорошо ------------------ WBR, Igor |
Re: Представления + индексы + транзакции | |
---|---|
bell Автор Сообщений: 167 Откуда: Харьков Дата регистрации: 04.04.2002 |
Огромное спасибо Владимиру и Игорю! Помогли разобраться с проблемой. Думаю, тему можно закрыть.
P.S. Наверное, проще всего все-таки построить сразу ВСЕ индексы во ВСЕХ представлениях. |
© 2000-2024 Fox Club  |