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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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


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

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

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

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


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


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