To Aleksey Tsingauz - Функция STR и Rashmore | |
---|---|
Бураков Сергей Сообщений: 280 Откуда: Calgary Дата регистрации: 07.02.2005 |
Эта тема уже обсуждалась в форуме "VFP и Foxpro для DOS"
Помещаю сюда немного переделанный пример от PaulWist для того, чтобы он попался на глаза Алексею Цингаузу. Суть проблемы. В режиме SET ANSI OFF для поиска по началу индексного ключа, содержащего функцию STR, не работает оптимизация Rasнmоre. Повидимому, функция STR считается выражением с неопределенной длиной, поскольку после применения к ней PADR баг исчезает. SET TALK OFF Sys(1104) res="" SYS(3054,11,"Res") Set Collate To "MACHINE" CREATE CURSOR test (ID i) INDEX ON STR(ID,5) TAG ID CREATE CURSOR test1 (ID i) INDEX ON PADR(STR(ID,5),5) TAG ID FOR i = 1 TO 10000 INSERT INTO test (ID) VALUES (i) ENDFOR SET ANSI ON SELECT * FROM test WHERE STR(ID,5) = ' 2' NOFILTER INTO CURSOR tmp ? res SET ANSI OFF SELECT * FROM test WHERE STR(ID,5) = ' 2' NOFILTER INTO CURSOR tmp ? res SELECT * FROM test1 WHERE PADR(STR(ID,5),5) = ' 2' NOFILTER INTO CURSOR tmp ? res Результат: Цитата: ------------------ |
Re: To Aleksey Tsingauz - Функция STR и Rashmore | |
---|---|
Aleksey Tsingauz [MSFT] Автор |
Бураков Сергей писал(а):
Цитата: Здравствуйте, Сергей! Это известный баг в VFP9, пару месяцев назад его обсуждали на UT. Спасибо, Алексей. |
© 2000-2024 Fox Club  |