powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / значение индекса ???
25 сообщений из 38, страница 1 из 2
значение индекса ???
    #36183965
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно ли получить значение (не выражение) индекса некой отдельно взятой записи?
то есть мне нужно проверить соответствует ли данной записи индекс.
...
Рейтинг: 0 / 0
значение индекса ???
    #36183984
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k=key()
?&k

но вообще-то обычно используют конструкции типа
If seek(_key)...
либо
seek(_key)
Do while pole1+pole2+... = key
либо
Locate
If foun()

и т.д.
...
Рейтинг: 0 / 0
значение индекса ???
    #36184033
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не совсем то ....
сейчас использую вот такую методу.,
lcKey=key()
nrrec=Recno()
Set Key To &lcKey
Go nrrec
If nrrec#Recno()
&& знать чтото не так
endif
но хотелось бы без лишних движений ....
встал на запись получил значение индекса "nind" например
и :
If nidn#&lcKey
&& знать чтото не так
endif
...
Рейтинг: 0 / 0
значение индекса ???
    #36184059
Борискаможно ли получить значение (не выражение) индекса некой отдельно взятой записи?
то есть мне нужно проверить соответствует ли данной записи индекс.Ну задлянафига? Проверять корректность индексов? Ну проверил и что дальше? Переиндексация? А почему сразу ее не сделать? В чем выигрыш?
...
Рейтинг: 0 / 0
значение индекса ???
    #36184079
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
переписать запись это исправит индекс
Scatter Memvar
Gather Memvar

ненужен монопольный доступ и периндексация иногда немаленьких таблиц чтобы исправить индекс одной записи .
...
Рейтинг: 0 / 0
значение индекса ???
    #36184324
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае нужен не KEY(), а EVALUATE(KEY())
...
Рейтинг: 0 / 0
значение индекса ???
    #36184336
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
согласен. но вопрос остался открыт!
...
Рейтинг: 0 / 0
значение индекса ???
    #36185943
karly™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В клиппере, помнится, такая функция была. В фоксе ее нет, увы
...
Рейтинг: 0 / 0
значение индекса ???
    #36186051
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
жаль если так ....
но fox ведь ищет !!!
как ?
...
Рейтинг: 0 / 0
значение индекса ???
    #36186448
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борискажаль если так ....
но fox ведь ищет !!!
как ?
Вам ведь GermanGM уже подсказывал выше :
Код: plaintext
1.
? EVALUATE(KEY())
...
Рейтинг: 0 / 0
значение индекса ???
    #36186478
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GermanGM подсказал чем заменить &key() это подсказка в сторону повышения скорострельности
но вот результат возвращаемый &key() или Evaluate(key()) бутет один а нужен другой....
...
Рейтинг: 0 / 0
значение индекса ???
    #36187605
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БорискаGermanGM подсказал чем заменить &key() это подсказка в сторону повышения скорострельности
но вот результат возвращаемый &key() или Evaluate(key()) бутет один а нужен другой....
А вообще, откуда у вас пошла такая странная идея, что портится именно значение ключа?

В 99 случаев из ста в индексе портится структура. SCATTER/GATHER может помочь прибить проблемный узел и перестроить его на новый листовой узел индекса. А может и не помочь, если проблема не в одном только узле.

Более того, надо помнить, что структура дерева на каждом UPDATE полей становится все более высокой и рыхлой.

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

По самому вопросу:
1. Фокс хранит значения KEY ни разу не так, как сами данные.
2. Выдернуть это значение можно прочитав его из индексного файла.
...
Рейтинг: 0 / 0
значение индекса ???
    #36187709
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БорискаGermanGM подсказал чем заменить &key() это подсказка в сторону повышения скорострельности
но вот результат возвращаемый &key() или Evaluate(key()) бутет один а нужен другой....
Короче, человек решил на самом низком уровне править индексный файл, подменяя своей фантазией весь механизм команд INDEX/REINDEX. Флаг в руки.
...
Рейтинг: 0 / 0
значение индекса ???
    #36187959
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
reware,

очень безапелляционно, браво.
...
Рейтинг: 0 / 0
значение индекса ???
    #36187984
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kruchinin Pahan,

спасибо, суть вопроса как раз в том разбирать .cdx или есть более простой способ. простого видимо нет. вот только не знаю спрашивать как или лучше не надо (вдруг это крамола...)
...
Рейтинг: 0 / 0
значение индекса ???
    #36188051
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БорискаKruchinin Pahan,

спасибо, суть вопроса как раз в том разбирать .cdx или есть более простой способ. простого видимо нет. вот только не знаю спрашивать как или лучше не надо (вдруг это крамола...)
В хелпе есть описание структуры компаундного индексного файла.

Но у меня есть подозрение, что достоверно проверить целостность индекса можно только перебрав все дерево целиком.
...
Рейтинг: 0 / 0
значение индекса ???
    #36188075
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Бориска

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


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
значение индекса ???
    #36188100
АлексейО
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну да. действительно существуют такие ошибки индекса при котором портится только одна запись
получается что locate или seek по какомуто другому тегу запись находит, а seek по сбойному тегу не находит.
и казалось бы действительно обновите только эту запись и все восстановится.
но думаю не все так просто: индекс хранить соответствие индексных значений номерам записей а не наоборот. т.е. исходя из записи невозможно найти индесное значение из cdx
...
Рейтинг: 0 / 0
значение индекса ???
    #36188122
АлексейО
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлексейОневозможно
:-) пожалуй всетаки возможно, но эта задача сравнима с переиндексацией и выполнять её налету для каждой записи будет накладно.
...
Рейтинг: 0 / 0
значение индекса ???
    #36188126
Игорь Горбонос,
автор просто думает, что он изобрел таки способ проверки и коррекции индекса на ходу, в "фоновом" режиме.
Только вот он накак не может понять, что кроме значений ключевых выражений индекс еще и структурирован и структура индекса неразрывно связана с его корректностью и правкой значения ключа он индекс не поправит. И что он далеко не первый такой "изобретатель" и все предыдущие пришли к одному и тому же выводу: индекс - это производная от данных и любые проверки и коррекции, в конце концов, сводятся к сканировнию всей таблицы и выполнению кучи действий, которые нафиг не нужны при обычной переиндексации с одинаковым, в общем-то, результатом. Зачем делать лишнюю работу?
...
Рейтинг: 0 / 0
значение индекса ???
    #36188196
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.
Я просто хочу, что-бы ТС сам озадачился и ответил на вопрос, зачем ему нужно знать значение ключа индекса для отдельной
записи, а не наши домыслы. :)

З.Ы. Мой хрустальный шар ещё не предсказыват так хорошо как твой , но помочь желающим заблудится, это мы завсегда
пожалуста


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
значение индекса ???
    #36188270
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если я отвечу зачем вы ответите как ?
...
Рейтинг: 0 / 0
значение индекса ???
    #36188307
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Бориска
> если я отвечу зачем вы ответите как ?

Тебе дали один способ, читать из индексного файла, второй способ это реализовать алгоритм создания индекса
самостоятельно и скармливать на вход данные для которых будет расчитыватся значение индекса. Оба способа не назовёшь
тривиальными, поэтому и хочется узнать для чего это понадобилось.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
значение индекса ???
    #36188352
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,

предупрежден значит вооружен!
я хочу знать что в результате аварийного выхода из программы некого отдельного пользователя не возникла необходимость проиндексировать таблицу N или таблицы N и N' . чтобы не индексировать все 10 или 20 или 100 или сколько там будет прога использовать таблиц из них некоторые таблицы могут быть велики а пользователь может уходя на обед из розетки системник выключает о чем ввиду диковенности способа я даже не догадываюсь .... это к примеру
...
Рейтинг: 0 / 0
значение индекса ???
    #36188385
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Бориска
> я хочу знать что в результате аварийного выхода из программы некого отдельного пользователя не возникла
> необходимость проиндексировать таблицу N или таблицы N и N' .

Понятно, почитай это тынц
а я, например, не вижу никаких способов это узнать не проиндексировав по-новой и не сравнив "старый" индексный файл с
"новым", причем побайтно . Тогда уж просто запускать переиндексацию первентивно.

Кстати, как ты видишь процес проверки?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / значение индекса ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]