Автор | Сообщение |
Pasha
|
| Администратор
|
Пост N: 1937
Зарегистрирован: 23.05.05
|
|
Отправлено: 18.05.11 19:04. Заголовок: Leto DB Server
Добавил функцию: LETO_GROUPBY(cGroup, cFields, [cFilter], [xScopeTop], [xScopeBottom]) cGroup - имя поля, по которому группируются данные; cFields - список числовых полей через запятую, которые суммируются. Символ # обозначает к-во записей в группе Функция возвращает двумерный массив строк. 1-й элемент каждой строки - значение поля cGroup, следующие элементы суммы полей, заданных в cFields, или к-во записей в группе
|
|
|
Ответов - 232
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
All
[только новые]
|
|
AlexMyr
|
| |
Пост N: 460
Зарегистрирован: 11.06.10
|
|
Отправлено: 29.02.12 21:22. Заголовок: Паша, вложение отпра..
|
|
|
Pasha
|
| Администратор
|
Пост N: 2289
Зарегистрирован: 23.05.05
|
|
Отправлено: 01.03.12 09:08. Заголовок: Да обсуждение уже и ..
Да обсуждение уже и не нужно, спасибо, суть понятна, главное есть патч. Хотя почему-то у меня эти странички открываются пустые. С 3-х провайдеров пробовал.
|
|
|
santy
|
| |
Пост N: 50
Зарегистрирован: 16.12.08
|
|
Отправлено: 01.03.12 20:56. Заголовок: И у меня тоже пустые..
И у меня тоже пустые страницы, у разных провайдеров
|
|
|
AlexMyr
|
| |
Пост N: 468
Зарегистрирован: 11.06.10
|
|
Отправлено: 01.03.12 21:06. Заголовок: кеш чистили, может п..
кеш чистили, может поможет?
|
|
|
Dima
|
| |
Пост N: 2338
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.03.12 22:21. Заголовок: У меня все нормально..
У меня все нормально.
|
|
|
santy
|
| |
Пост N: 51
Зарегистрирован: 16.12.08
|
|
Отправлено: 01.03.12 23:27. Заголовок: У меня всё нормально..
У меня всё нормально в Firefox, в опере не показывает. Обновил оперу и всё стало ок.
|
|
|
Softlog86
|
| |
Пост N: 46
Зарегистрирован: 03.12.08
|
|
Отправлено: 08.03.12 19:09. Заголовок: Подскажите - как нуж..
Подскажите - как нужно коннектиться к LETODB на локальном компьютере ? Дома приходится работать .... Соединение со строкой "//192.168.0.101:2812/" не проходит ...
|
|
|
Dima
|
| |
Пост N: 2351
Зарегистрирован: 17.05.05
|
|
Отправлено: 08.03.12 19:40. Заголовок: Softlog86 Почитай ,..
|
|
|
Softlog86
|
| |
Пост N: 47
Зарегистрирован: 03.12.08
|
|
Отправлено: 08.03.12 20:59. Заголовок: Всё вроде правильно ..
Всё вроде правильно написал : REQUEST LETO RDDSETDEFAULT( "LETO" ) IF leto_Connect( "//192.168.0.101:2812/" ) == -1 && Проверяем загруже-ли LETO-SERVER Alert("LETO-DB NOT CONNECTED " ) ENDIF USE ("//192.168.0.101:2812/DETAL.DBF") SHARED NEW <------ Генерирует страшную ошибку ! PS : Собрал LETO (LIB) из исходников под xHarbour . Может что не так ? Видимо какие-то проблемы с генерацией библиотеки . Только что обновил через CVS получился RDDLETO.LIB РАЗМЕР - 92672 . у всех такой для xHarbour ?? при линковке с новой библиотекой при вызове CONNET_LETO() выскакивает по ошибке : Неисправимая ошибка 9009: hb_xrealloc не может перераспределить память ....
|
|
|
Dima
|
| |
Пост N: 2352
Зарегистрирован: 17.05.05
|
|
Отправлено: 08.03.12 22:11. Заголовок: А сервер запускал ?..
А сервер запускал ?
|
|
|
Softlog86
|
| |
Пост N: 48
Зарегистрирован: 03.12.08
|
|
Отправлено: 08.03.12 22:17. Заголовок: Да - он работает ! В..
Да - он работает ! В я уже проверял . - ошибку соединения не генерирует ..... а вот при вызове USE - проблема ..... Бросьте в меня RDDLETO.LIB для xHARBOUR ..... Похоже в этом дело
|
|
|
|
Softlog86
|
| |
Пост N: 49
Зарегистрирован: 03.12.08
|
|
Отправлено: 09.03.12 16:43. Заголовок: Разобрался с глюками..
Разобрался с глюками ..... перекомпилировал . Получил :LETO DB Server 2.03 . Возможно это и есть последний релиз ... По крайней мере получается хоть что-то делать ... Вопрос ?-> Всё это находится на LETO-DB сервере : Имеется DBF и индекс к нему c несколькими Тэгами . LAN:="//192.168.0.101:2812/" <---- Это маршрут INDEX ON CODE TAG CODE TO (LAN+"JRINDEX.CDX") <--- По коду товара INDEX ON OPER TAG OPER TO (LAN+"JRINDEX.CDX") <--- По коду операции INDEX ON DATEP TAG DATEP TO (LAN+"JRINDEX.CDX") <---- По дате INDEX ON OPTCODE TAG OPTCODE TO (LAN+"JRINDEX.CDX") <---- По коду клиента эти индексы - как-бы общие для всех режимов и пользователей в CLIPPER я использовал "дополнительный-временный" индекс , но организовывал его отдельным файлом в нужный момент (просмотр) : MyBAG:=LAN+"RTMP.CDX" && OPTCODE- поле КОД КЛИЕНТА , Z - нужный в данный момент код клиента INDEX ON DATEP TAG DATX FOR (OPTCODE = Z) TO (MyBAG) UNIQUE ADDITIVE То есть на основе уже имеющегося индекса (DATEP-даты операций) достраивал по условию (OPTCODE=Z - оставить только для клиента Z) SET ORDER TO TAG DATX (Теперь у нас есть все даты (DATEP) для клиента OPTCODE=Z ) .... просмотр данных По окончании просмотра - убираем за собой DELETE TAG DATX DELETE FILE (MyBAG) Но такая конструкция отказывается работать c LETODB ..... Как я понял - к одному DBF файлу нельзя прицепить несколько CDX , да ещё и на разных дисках (LETO / локальный ) ? Хотя должно вроде повторять конструкцию из CLIPPER..... обидно ..... в мануале написано что не все RDD могут поддерживать это ....
|
|
|
Pasha
|
| Администратор
|
Пост N: 2296
Зарегистрирован: 23.05.05
|
|
Отправлено: 10.03.12 09:28. Заголовок: В харборе для времен..
В харборе для временных индексов есть опция команды INDEX: temporary. Используйте ее. Но такой индекс будет доступен только для одного клиента. Так поступать крайне неэффективно. Я бы просто в таком случае добавил бы еще один постоянный индекс: OptCode+DTOS(DateP) Это было бы куда эффективнее, и, собственно, так и надо делать. Нет необходимости строить левый индекс для каждого клиента, он всегда есть. А letodb не поддерживает собственные индексы и локальные. Поддерживаются только индексы на сервере.
|
|
|
Pasha
|
| Администратор
|
Пост N: 2297
Зарегистрирован: 23.05.05
|
|
Отправлено: 10.03.12 09:32. Заголовок: А еще лучше модифици..
А еще лучше модифицировать индексное выражение для 4-го индекса: Вместо OptCode использовать OptCode+DTOS(DateP) Если поле OptCode числовое, то Str(OptCode)+DTOS(DateP) Так убиваются все зайцы одним выстрелом.
|
|
|
Softlog86
|
| |
Пост N: 50
Зарегистрирован: 03.12.08
|
|
Отправлено: 10.03.12 19:03. Заголовок: Паша , спасибо ! В п..
Паша , спасибо ! В принципе построение дополнительного индекса было решением "на ходу" ..... а так как систему полностью перелопачиваю - буду оптимизировать и старый код .
|
|
|
Softlog86
|
| |
Пост N: 51
Зарегистрирован: 03.12.08
|
|
Отправлено: 13.03.12 23:40. Заголовок: При вызове ORDKEYGOTO вылазит ALERT
Подскажите .... При вызове ORDKEYGOTO() Выскакивает ALERT : Собирал из последних (Получилась версия LETO SERVER : 2.03) ЧТо у меня не так ? Может сие лаконичное сообщение говорит о несовместимости какой ?
|
|
|
Pasha
|
| Администратор
|
Пост N: 2299
Зарегистрирован: 23.05.05
|
|
Отправлено: 14.03.12 09:08. Заголовок: В letodb никаких але..
В letodb никаких алертов и в помине нет, конечно. Если выскакивает такое сообщение - это либо неправильная сборка, либо где-то в программе вызывается этот Alert. Во всяком случае, вызов OrdKeyGoto(<nPos>) эквивалентен dbOrderInfo(DBOI_POSITION,,, <nPos>) с #include "dbinfo.ch", конечно Попробуйте заменить
|
|
|
Softlog86
|
| |
Пост N: 52
Зарегистрирован: 03.12.08
|
|
Отправлено: 14.03.12 11:51. Заголовок: Паша , спасибо Вам з..
Паша , спасибо Вам за регулярные подсказки и помощь ! А проблема была странная : в тексте у меня была функция-заменитель : OKEYGOTO(nPOS) IF AX_LOADED() (вызов этой функции для работы с ADS-сервером) ELSE ORDKEYGOTO(nPOS) ENDIF Return Заменил во всех вызовах на штатный ORDKEYGOTO ..... и всё стало нормально Хотелось-бы чтоб сообщения об ошибках в LETO были более вразумительные Заметил что в LETO не работает EVAL + EVERY конструкция : INDEX ON CODE TAG CODE TO (LAN+"DETAL.CDX") EVAL {|| MyMETER()} EVERY REC_INCREMENT Хотел ползунок пришпандорить при индексации .... Ну и обязательный синтаксис с TAG !!! : INDEX ON (ключ) TAG (название) TO (Индексный файл) Если без TAG - будет ошибка ! Поправьте если ошибаюсь
|
|
|
Pasha
|
| Администратор
|
Пост N: 2301
Зарегистрирован: 23.05.05
|
|
Отправлено: 14.03.12 12:19. Заголовок: Softlog86 пишет: Хо..
Softlog86 пишет: цитата: | Хотелось-бы чтб сообщения об ошибках в LETO были более вразумительные Заметил что в LETO не работает EVAL + EVERY конструкция : INDEX ON CODE TAG CODE TO (LAN+"DETAL.CDX") EVAL {|| MyMETER()} EVERY REC_INCREMENT Хотел ползунок пришпандорить при индексации .... |
| Эти опции не поддерживаются. Чтобы сделать их поддержку, надо заметно усложнить индексацию. Сейчас алгоритм простой: клиент дает команду серверу на создание индекса, и ждет ее завершения. С этими опциями пришлось бы организовывать обмен пакетами между клиентом и сервером: в процессе индексации сервер должен отправлять клиенту промежуточный пакет, клиент выполнит свой блок кода, даст команду на продолжение индексации, и так далее. Это приведет и к снижению быстродействия. Мне бы не хотелось с этим заморачиваться. цитата: | Ну и обязательный синтаксис с TAG !!! : INDEX ON (ключ) TAG (название) TO (Индексный файл) Если без TAG - будет ошибка ! |
| Такое использование нестандартно для dbfcdx. Я добавлял поддержку такого синтаксиса, но серьезно его не проверял.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 2108
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.03.12 18:56. Заголовок: Pasha пишет: Это пр..
Pasha пишет: цитата: | Это приведет и к снижению быстродействия. Мне бы не хотелось с этим заморачиваться. |
| Правильно! И не надо снижать быстродействие. Только в доку написать что НЕ поддерживается !
|
|
|
Ответов - 232
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
All
[только новые]
|
|