powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Глюки WHERE условия в запросе на vf 9
14 сообщений из 14, страница 1 из 1
Глюки WHERE условия в запросе на vf 9
    #33493464
Danil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Переношу проект с foxpro 8 на foxpro 9
Столкнулся с некоторыми сложностями:
Запрос
Код: plaintext
1.
2.
SELECT d.subj_id;
		FROM docs d, recs r;
		WHERE d.subj_id+STR(d.id)=r.subj_id+STR(r.doc_id)

без проблем отрабатывает в foxpro 8
,а в foxpro 9 зависает, до того, что процессор перегревается и продолжает "висеть".
Данные используются одни и те же.
subj_id -строка, размерностью 4 знака
doc_id и id - целые числа
Экспериментальным путем получено, что если переписать условие WHERE на
Код: plaintext
WHERE d.subj_id=r.subj_id AND STR(d.id)=STR(r.doc_id)
,то работает!
Проблема в том, что таких запросов в "переносимом" проекте очень много, и хотелось бы узнать: как обойти подобную "странность" и выполнить запрос на foxpro 9, без модификаций запроса? М.б. есть какой-либо SET ?
Заранее спасибо.
P.S.
Выставлен SET ENGINEBEHAVIOR 80 , но на результат не влияет.
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33493521
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исполни, должно проехать, если тест пройдёт, то переиндексируй данные

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE CURSOR docs (subj_id c( 4 ), id i)
SELECT docs 
INDEX ON subj_id+STR(id) TAG t1

CREATE CURSOR recs (subj_id c( 4 ), Doc_id i)
SELECT recs 
INDEX ON subj_id+STR(doc_id)  TAG t2

INSERT INTO docs (subj_id , id ) VALUES ('1',  1 )

INSERT INTO RECS(subj_id , doc_id) VALUES ('1',  1 )

SELECT d.subj_id;
		FROM docs d, recs r;
		WHERE d.subj_id+STR(d.id)=r.subj_id+STR(r.doc_id)
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33494418
Danil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно, запрос прошел, попытаюсь переиндексировать, но в vf8 работает и так (без индексирования), а в vf9 висит. Не подскажете (хотя бы гипотетически) в чем же проблема?
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33494441
Danil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К тому в программе очень много создается таблиц и курсоров, которые в дальнейшем учавствуют в запросах с подобными условиями выборки. Поэтому очень бы хотелось как-то решить проблему, допустим отключить для select-а использование индексных выражений или что-то подобное.
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33494484
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну кто же знает какие у тебя данные и структуры, если не можешь добиться воспроизводимого результата на тестовых данных, то смотри свои "косяки".

Для SELECT-SQL отключить оптимизацию нельзя.
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33494502
Danil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Структура выше описана, по сути! Две таблицы имеющее по 2 поля каждая и сравниваемые по выражению:
Поле_строка+STR(поле_число)
Косяк тут сложно найти, разве, что в новом подходе MS к оптимизации. Вероятно foxpro 9 пытается построить индекс для оптимизации, но у него не получается или что-то еще происходит.
SET-ы проверил, совпадают, что у 9-ки, что у 8-ки.
:-(
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33494567
Danil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для vf9:
Кстати ТЕСТОВЫЕ запросы на ТЕСТОВЫХ данных отрабатывают нормально, в случае если по выражениям в WHERE есть индекс.
Получается, что для vf8, наличие или присутствие индексов не играет столь важной роли как для vf9.
Неужели при переходе на vf9, придется создавать индексы по выражениям или менять условия с AND???
И другого пути заставить vf9 работать с запросами select, как vf8 НЕТ???
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33494588
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так уточняющий вопрос, чтозначит процессор перегревается - надо ли это понимать , что запрос долго выполняется, но результат всё равно получаешь.
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33494597
Danil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Результата НЕТ! Висит до тех пока не сниму задачу - это только в vf9, в vf8 - отрабатывает оченб быстро. Т.е. результата в vf9 НЕТ!!! :-(
Кстати, при работе запроса в vf9, на жестком диске создается очень много файлов вида:
00004HZD000H.CDX
00004HZD000A.TMP
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33495377
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Danil!

1) SP1 на VFP9 стоит? Есть некоторые проблемы с STR - без SP1 в 9-ке не
работает оптимизация - так что видимо фокс у тебя не "висит", а просто так
жутко медленно считает...
2) Не пробовал писать более чётко - STR(..., 10) хотя-бы...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33495603
Danil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал писать STR(...,10) - все равно висит!
А где можно скачать SP1 на VF9?
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33495622
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DanilА где можно скачать SP1 на VF9?
Скачать бесплатно SP1 к MS VFP 9.0
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33495650
Danil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо! Установил SP1 на VF9 и все заработало!!!
...
Рейтинг: 0 / 0
Глюки WHERE условия в запросе на vf 9
    #33496224
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Danil!

Видимо оно и раньше работало, но просто терпения тебе не хватило дождаться
завершения процесса :)

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


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