Автор | Сообщение |
|
| |
Пост N: 2691
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.03.13 12:02. Заголовок: BMDBFCDX
Занятный RDD. Позволяет ставить оптимизированные фильтры даже без наличия индексов по фильтруемым полям а так же фильтры типа CUSTOM Есть пара вопросов proc main local afilt:={} local nsec:=0 REQUEST BMDBFCDX REQUEST _BMDBF RDDSETDEFAULT( "BMDBFCDX" ) cls USE karta new // 10 полей 700000 записей set optimize on // не понятно назначение сией команды , результат одинаков // при OFF или ON nsec:=seconds() set filter to nomer==1454 go top ? seconds()-nsec // 0.14 секунд , DBFCDX выдал чуть хуже результат да и бровс с ним получился с тормозом. aadd(afilt,1) aadd(afilt,400000) aadd(afilt,700000) nsec:=seconds() BM_DBSETFILTERARRAY(afilt) go top ? seconds()-nsec // 0.0 секунд afilt:={} aadd(afilt,100) aadd(afilt,4000) aadd(afilt,7000) aadd(afilt,8000) aadd(afilt,17000) nsec:=seconds() BM_DBSETFILTERARRAY(afilt) go top ? seconds()-nsec // 0.0 секунд BM_DBSETFILTERARRAYADD(afilt,18000) // добавляем 6 запись ? len(BM_DBGETFILTERARRAY()) // но длина массива не изменилась //странно , возможно не так ее юзаю wait go top browse() // бровс летает close all return nil И не понятно что за зверь такой BM_Turbo() ? BM_Turbo(.t.) ? BM_Turbo(.f.) Вернет .F. в обоих случаях
|
|
|
Ответов - 28
, стр:
1
2
All
[только новые]
|
|
|
| Администратор
|
Пост N: 2737
Зарегистрирован: 23.05.05
|
|
Отправлено: 10.03.13 21:28. Заголовок: Dima пишет: А собра..
Dima пишет: цитата: | А собрать уже можно под Harbour 3.0 |
| С этим вопросом разобрался Этот макрос для сборки надо оказывается задавать в командной строке hbmk2: \harbour_30\bin\win\mingw\hbmk2 -env:__BM=yes letodb.hbp \harbour_30\bin\win\mingw\hbmk2 -env:__BM=yes rddleto.hbp
|
|
|
|
| Администратор
|
Пост N: 2738
Зарегистрирован: 23.05.05
|
|
Отправлено: 10.03.13 21:30. Заголовок: Dima пишет: И да ес..
Dima пишет: цитата: | И да если установлен фильтр через LBM_DBSETFILTERARRAY() то снять его обычными командами не получается |
| dbClearFilter() должен снять Но это в сырцах на CVS, В тех, что я вчера прислал, этого еще не было
|
|
|
|
| |
Пост N: 2711
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.03.13 22:02. Заголовок: Pasha пишет: dbClea..
Pasha пишет: цитата: | dbClearFilter() должен снять |
| Понял , спасибо буду завтра разбираться.
|
|
|
|
| |
Пост N: 2712
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.03.13 11:04. Заголовок: Свежие сырцы слил и ..
Свежие сырцы слил и все пересобрал. dbClearFilter() фильтр НЕ СНЯЛ
|
|
|
|
| |
Пост N: 2714
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.03.13 15:37. Заголовок: Dima пишет: dbClear..
Dima пишет: цитата: | dbClearFilter() фильтр НЕ СНЯЛ |
| Паша так что делать то ? :)
|
|
|
|
| Администратор
|
Пост N: 2741
Зарегистрирован: 23.05.05
|
|
Отправлено: 11.03.13 19:22. Заголовок: Причину уже увидел, ..
Причину уже увидел, но исправление выложу позже. Надо и со стороны клиента кое-что реализовать для letodb+bm Заодно сделаю заполнение bitmap-массива для set filter
|
|
|
|
| |
Пост N: 2737
Зарегистрирован: 17.05.05
|
|
Отправлено: 12.03.13 18:29. Заголовок: Pasha А если я став..
Pasha А если я ставлю фильтр вида LBM_DBSETFILTERARRAY({1,590,234,2345,7899,9000,700000}) В этом случае LETO_ISFLTOPTIM() вернет .F. , получается что фильтр ставится на клиенте. По идее должен ставится серверный фильтр или я не прав ?
|
|
|
|
| Администратор
|
Пост N: 2753
Зарегистрирован: 23.05.05
|
|
Отправлено: 12.03.13 19:39. Заголовок: Да, поправлю..
Да, поправлю
|
|
|
Ответов - 28
, стр:
1
2
All
[только новые]
|
|