On-line: гостей 3. Всего: 3 [подробнее..]
АвторСообщение
alkresin
moderator


Пост N: 31
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.01.08 11:36. Заголовок: Leto DB Server (продолжение)


Только что открыл на Sourceforge новый проект - Leto DB Server - https://sourceforge.net/projects/letodb

Это мультиплатформенный ( Windows, Unix/Linux ) сервер баз данных, предоставляющий клиентским программам доступ к dbf/cdx файлам, находящимся на удаленном сервере ( можно и на локальном компьютере запускать - в отладочных целях ). В общем, как ADS :).

Проект - на стадии разработки, не все даже базовые функции еще реализованы, до оптимизации дело еще не дошло. Но работает :).
Крутится у меня на сервере несколько дней, подключал до 15 клиентов, пока не падает. Мои программы работают с ним нормально.

Преимущества по сравнению с обычным файл-сервером:
1) Безопасность - базы могут быть в каталоге, недоступном для клиентских компьютеров - никто их случайно не удалит и не повредит.
2) Поскольку базы открываются серверной программой, а не клиентской, ее целостности ничего не грозит при случайном отключении клиентского компьютера.
3) значительное уменьшение сетевого траффика.
4) Должен быть, по идее, выигрыш в скорости.
5) Возможность контроля за пользователями с помощью утилиты manage ( можно придумать и другие формы контроля ).
6) Можно будет сделать транзакции, stored procedures на Харборе, ... и вообще все в наших руках :).

Кто хочет участвовать в разработке, тестировании - пишите.



Спасибо: 0 
Профиль
Ответов - 193 , стр: 1 2 3 4 5 6 7 8 9 10 All [только новые]


sashaBG
постоянный участник




Пост N: 42
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 22.12.08 00:16. Заголовок: Не копилируется LetoDB


Недавно попробовал откомпилировать но получаются ошибки

MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
bcc32 -c -Iinclude;C:\MINIGUI\HARBOUR\include -d -tWM -D__WIN32__ -D__WIN_DAEMON__ -oobj\b32\leto1.obj source\client\leto1.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
source\client\leto1.c:
Error E2451 source\client\leto1.c 342: Undefined symbol 'hb_cdp_page' in function leto_ConnectionNew
Error E2451 source\client\leto1.c 342: Undefined symbol 'hb_set' in function leto_ConnectionNew
Error E2451 source\client\leto1.c 915: Undefined symbol 'hb_set' in function letoGoBottom
Error E2451 source\client\leto1.c 940: Undefined symbol 'hb_set' in function letoGoTo
Error E2451 source\client\leto1.c 981: Undefined symbol 'hb_set' in function letoGoTop
Error E2451 source\client\leto1.c 1021: Undefined symbol 'hb_cdp_page' in function letoKeyToStr
Error E2451 source\client\leto1.c 1047: Undefined symbol 'hb_set' in function letoSeek
Warning W8057 source\client\leto1.c 1082: Parameter 'bSoftSeek' is never used in function letoSeek
Warning W8057 source\client\leto1.c 1082: Parameter 'bFindLast' is never used in function letoSeek
Error E2451 source\client\leto1.c 1151: Undefined symbol 'hb_set' in function letoSkipRaw
Error E2451 source\client\leto1.c 1313: Undefined symbol 'hb_cdp_page' in function letoGetMemoValue
Error E2451 source\client\leto1.c 1343: Undefined symbol 'hb_cdp_page' in function letoGetValue
Error E2451 source\client\leto1.c 1537: Undefined symbol 'hb_cdp_page' in function letoPutMemoValue
Error E2451 source\client\leto1.c 1587: Undefined symbol 'hb_cdp_page' in function letoPutValue
Error E2451 source\client\leto1.c 2107: Undefined symbol 'hb_set' in function letoOpenConnection
Error E2451 source\client\leto1.c 2122: Undefined symbol 'hb_set' in function letoOpenConnection
Error E2451 source\client\leto1.c 2267: Undefined symbol 'hb_cdp_page' in function letoCreate
Error E2451 source\client\leto1.c 2363: Undefined symbol 'HARBOUR_MAX_RDD_ALIAS_LENGTH' in function letoOpen
Error E2451 source\client\leto1.c 2428: Undefined symbol 'hb_cdp_page' in function letoOpen
Error E2451 source\client\leto1.c 2520: Undefined symbol 'hb_set' in function letoOpen
Error E2451 source\client\leto1.c 2562: Undefined symbol 'HARBOUR_MAX_RDD_DRIVERNAME_LENGTH' in function letoSysName
Error E2451 source\client\leto1.c 3834: Undefined symbol 'hb_set' in function HB_FUN_LETO_SUM
*** 20 errors in Compile ***

** error 1 ** deleting obj\b32\leto1.obj

повидимому в харбурах произошли какието изменения

у меня были какието успехи (перетащил одну свою програмку "MiniGUI+Harbour+LetoDB" )
И очень хочется продолжить тестирование !

Pasha помогите пожалуста !

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1060
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.12.08 20:49. Заголовок: Да, есть изменения в..


Да, есть изменения в api, и в Harbour, и в xHarbour, которые надо учесть
Мне еще осталось сделать установку SET_CENTURY и SET_DATEFORMAT
как сделаю - залью на CVS

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1061
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.12.08 23:30. Заголовок: Готово Только теперь..


Готово
Только теперь, я думаю, возникнет проблема сборки letodb для старых версий Харборов.
После стольких малоосмысленных переименований становится трудно поддерживать все.

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 766
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.12.08 00:14. Заголовок: Pasha пишет: возник..


Pasha пишет:

 цитата:
возникнет проблема сборки letodb для старых версий Харборов.



А может и не надо поддерживать старые версии ?
Все равно приходиться перетаскивать свои программы на новые версии !!!

А куда делся Alexander S.Kresin ? По почте не отвечает ...

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1064
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 07.01.09 16:25. Заголовок: Всех с праздником ! ..


Всех с праздником !

Отправил на CVS исправления, которые сделал Diego M. Martin
Он пишет, что исползьзует letodb уже несколько месяцев, и сервер работает хорошо и очень быстро
Поскольку я сам его в работу еще не ставил, это интересный опыт


Спасибо: 0 
Профиль
visitor



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 08.01.09 13:20. Заголовок: Andrey пишет: А куд..


Andrey пишет:

 цитата:
А куда делся Alexander S.Kresin ? По почте не отвечает ...



Всем остальным тоже интересно.
Кто-нибудь ответит?

Спасибо: 0 
gfilatov
модератор




Пост N: 929
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 08.01.09 17:01. Заголовок: Pasha пишет: Отправ..


Pasha пишет:

 цитата:
Отправил на CVS исправления, которые сделал Diego M. Martin


Спасибо!

Выложил полную сборку Harbour Leto RDD build 0.7 (by Alexander S. Kresin) updated for Harbour 1.1.0dev по адресу:

http://minigui.mylivepage.ru/file/?fileid=6306



Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 101
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.01.09 11:34. Заголовок: Ну, а все-таки, кто ..


Ну, а все-таки, кто реально (кроме Diego M. Martin ) использует сервер в работе?


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 102
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.01.09 14:27. Заголовок: Добавлю: кто-нить за..


Добавлю: кто-нить замечал подобное? При использовании LetoDB RDD с консольной прогой винда запускает системный процесс csrss.exe (client/server run-time subsystem) и они вместе (прога и csrss.exe) начинают нагружать проц на 100%. Это нормально?

PS: точнее не "винда запускает...", а просто "системный процесс". Он всегда работает...

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 103
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.01.09 17:46. Заголовок: И еще: как работает ..


И еще: как работает система транзакций? leto_RollBack() имеет смысл? Какие подводные камни могут быть?

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 45
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 19.01.09 00:01. Заголовок: У меня пока без проблем


У меня пока без проблем Программа довольно большая ( Бухгалтерская система )
пользуюсь ( MiniGui + Harbour + LetoDB + DBFCDX)
для локальной работе переключаюсь на DBFCDX драйвер при некоторых обработках промежуточной информации
написал несколько функций для улеснения работы

CopyToCDX(cFile)
CopyToLeto(cFile)
AppendFromCDX(cFile)
AppendFromLeto(cFile)
и др.

переведу сначало коментарии и сообщения на руском (я из Болгарии) и потом выложу линк

а если не терпится можете попробовать ftp://93.123.24.51/PROCS.PRG
user: guest
pass: 111

при работе заметил что SET SCOPE иногда работает странно
например:

DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) )
DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) )
DVIG->(DBGoTop())
не устанавливает фильтр

а так:
DVIG->(DBGoTop())
DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) )
DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) )
DVIG->(DBGoTop())
Все ОК

Вобщем мне нравится как сервер работает , но нужно тестировать и тестировать и таких проблем как 100% нагрузка не замечал и под Vista и под XP a до транзакциях еще не дошел :(











Спасибо: 0 
Профиль
Dima
администратор




Пост N: 1149
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.01.09 11:06. Заголовок: PSP пишет: они вмес..


PSP пишет:

 цитата:
они вместе (прога и csrss.exe) начинают нагружать проц на 100%. Это нормально?


На вирусы проверь машинку. Сейчас просто эпидемия....

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1067
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 19.01.09 11:21. Заголовок: PSP пишет: Ну, а вс..


PSP пишет:

 цитата:
Ну, а все-таки, кто реально (кроме Diego M. Martin ) использует сервер в работе?



Кресин использует

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 104
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 19.01.09 15:01. Заголовок: Dima пишет: На виру..


Dima пишет:

 цитата:
На вирусы проверь машинку. Сейчас просто эпидемия....


Не, всё проверено,чисто. Процесс запущен от имени SYSTEM, файл csrss.exe находится c:\windows\system32.


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 105
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 19.01.09 15:03. Заголовок: sashaBG, спасибо! По..


sashaBG, спасибо! Посмотрю.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 106
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 19.01.09 15:06. Заголовок: Pasha пишет: Кресин..


Pasha пишет:

 цитата:
Кресин использует


Это понятно.

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 46
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 22.01.09 00:56. Заголовок: И все таки SET SCOPE не работает


И все таки SET SCOPE не работает !

Может быть е слишком сложныйе фильтры сделал не знаю
Ребята посмотрите сделал две одинаковые СПРАВКИ една под LETODB и другая в локальном режиме
от результата видно что LETDB не устанавливает SCOPE
знаю что можно реализовать и по-другому но хочется через SCOPE

ftp://93.123.24.51/test.zip

user: guest
pass: 111

ili
http://savovs.mylivepage.com/files/test.zip



Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1071
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.01.09 17:50. Заголовок: sashaBG пишет: DVIG..


sashaBG пишет:

 цитата:
DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) )
DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) )
DVIG->(DBGoTop())
не устанавливает фильтр

а так:
DVIG->(DBGoTop())
DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) )
DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+Space(8) ) )
DVIG->(DBGoTop())
Все ОК



Я не очень понял смысл такого фильтра

Индексное выражение - SME+DOST_SME+DOK_SME+DTOS(DATA_SME)
То есть, все записи с непустой датой DATA_SME должны выбрасываться из фильтра, поскольку DTOS(DATA_SME) > space(8), и scope_bottom не выполняется ?

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 47
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 22.01.09 21:23. Заголовок: Да Паша ты прав


Да Паша ты прав я неправильно написал, в фильтре должны войти все даты

так наверное правильнее
DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+ Space(8) ) )
DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA+'99999999' ) )
DVIG->(DBGoTop())

или

DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA ) )
DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA ) )
DVIG->(DBGoTop())

но к сожалению после последнего виден весь файл DVIG

а вариант

DVIG->(DBGoTop())
DVIG->( ORDSCOPE( 0, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA ) )
DVIG->( ORDSCOPE( 1, SALDO->SKA+SALDO->DOST_SKA+SALDO->DOK_SKA ) )
DVIG->(DBGoTop())

показывает первую запись файла + правильно отфильтрованные
а в локальном варианте видно что результат другой (правильный)

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 48
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 27.01.09 14:26. Заголовок: У LetDB есть возможность проверять наличие Директории ?


Вопрос к Паше !
У LetDB есть возможность проверять наличие Директорий ?

Содержание LetoDB.ini такое:
[MAIN]
Port = 2812
Log = letodb.log
DataPath = c:\letodb
EnableFileFunc = 1

Я пробовал Leto_Connect()

(Leto_Connect("//127.0.0.1/")<>-1) возвращает .T.
(Leto_Connect("//127.0.0.1/FIRMA")<>-1) возвращает .T. (а такой папки в "c:\letodb" нет )

мне кажется ето будет полезно
чтобы избежать ошибок при DBCreate() например

или добавить функцию Leto_IsDir(<cDir>)

а потом использовать так:
cServer := //127.0.0.1/
IF ! Leto_IsDir(cServer + "FIRMA")
?"Путь "+ cServer + "FIRMA" + "неправильный !"
endif


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1075
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 27.01.09 16:27. Заголовок: Коннект устанавливае..


Коннект устанавливается не с определенным каталогом, а с сервером, поэтому leto_connect и возвращает .t.

Что касается leto_isdir(), то не хотелось бы загромождать сервер несвойственными ему операциями. Можно проверять наличие нужного файла в этом каталоге функцией leto_file()
Если добавить leto_isdir(), то потом захочется еще и создавать/удалять каталоги :)

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 49
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 27.01.09 22:58. Заголовок: Ну размечтался я :)


Ну размечтался я :) , Вы уж простите Паша! Я с Вами согласен на все 100 .
Я вообще то мечтаю об Aplication Server но к сожалению в языке C не сильно соображаю.
Надо наверное изучить работу с библиотекой SOCKET . Написать похожую на LetoDB программу и посылать ей команды на выполнение на серверном компе.

Спасибо за Внимание !



Спасибо: 0 
Профиль
Петр
постоянный участник


Пост N: 608
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 28.01.09 10:05. Заголовок: Не в тему..


Мечтать не вредно. ;)
Год назад не было LetoDB, а теперь посмотрите harbour\contib\examples\uhttpd uHTTPD (Micro HTTP server) - http сервер написанный на Harbour, позволяющий запускать на исполнение предварительно откомпилированные hrb модули, использовать технологию AJAX. Почему б тогда о сервере приложений не помечтать ;)

P.S. Судя по наличию ifdef _XHARBOUR_ с XHARBOUR автор сервер тоже тестировал.

Спасибо: 0 
Профиль
gfilatov
модератор




Пост N: 941
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 06.02.09 14:14. Заголовок: Pasha пишет: Только..


Pasha пишет:

 цитата:
Только теперь, я думаю, возникнет проблема сборки letodb для старых версий Харборов.


После вчерашних исправлений А.Кресина сервер перестал собираться для новых SVN версий Харбора.
Предлагаемое решение проблемы состоит в замене используемой Александром константы HB_VERSION_MT на
!defined( HB_LEGACY_LEVEL )



Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 810
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.03.09 11:08. Заголовок: 1) Подскажите пожалу..


1) Подскажите пожалуйста, потянет ли LetoDB 100 пользователей одновременно ?

2) Как реализовать работу LetoDB, если нужно 20 баз на отдельные предприятия ?
Нужно будет запускать 20 СЕРВЕРОВ LetoDB на СЕРВЕРЕ ? А обычный 4-ядерник потянет столько задач одновременно ?

3) А как с защитой информации ? Взломать СЕРВЕР LetoDB смогут ли ?

Заранее спасибо за ответы.

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 51
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 07.04.09 11:28. Заголовок: LetoDB Ver 0.8


У меня получилось собрать LetoDB Ver 0.8
через Harbour 1.1.0dev (Rev. 10775) и BCC58

http://93.123.24.51/letodb.zip




Спасибо: 0 
Профиль
gfilatov
модератор




Пост N: 977
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 07.04.09 17:55. Заголовок: Выложил компактную с..


Выложил компактную сборку Harbour Leto RDD build 0.8 (by Alexander S. Kresin) updated for Harbour 1.1.0dev по адресу:

http://minigui.mylivepage.ru/file/?fileid=6953

Что нового:

- введено частичное шифрование траффика (команда CRYPT_TRAFFIC=1 в ini файле)
- добавлена аутентификация при подключении/работе к серверу:
серверный ini файл может теперь иметь такие команды:
PASS_FOR_LOGIN = 1 ( 0, если отключено ), если сервер требует аутентификация при подключении;
PASS_FOR_MANAGE = 1, если соответствующие права необходимы для работы с данными;
PASS_FOR_DATA = 1, если соответствующие права необходимы для записи данных.
PASS_FILE - путь и имя файла аутентификации, по умолчанию "leto_users".
- исправления для совместимости с различными версиями компилятора Harbour (до версии 1.0 или после версии 1.01)



Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 834
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.04.09 21:07. Заголовок: Блин, так и никто не..


Блин, так и никто не ответил !
Ну хоть предположения свои выскажите ....

1) Подскажите пожалуйста, потянет ли LetoDB 100 пользователей одновременно ?

2) Как реализовать работу LetoDB, если нужно 20 баз на отдельные предприятия ?
Нужно будет запускать 20 СЕРВЕРОВ LetoDB на СЕРВЕРЕ ? А обычный 4-ядерник потянет столько задач одновременно ?

3) А как с защитой информации ? Взломать СЕРВЕР LetoDB смогут ли ?

Заранее спасибо за ответы.


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1091
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.04.09 08:20. Заголовок: 1. Этот вопрос надо ..


1. Этот вопрос надо выяснить эмпирическим способом

2. Нет, достаточно запустить один сервер letodb

3. Александр совсем недавно добавил шифровку пакетов в letodb с помощью криптоалгоритма blowfish

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 169
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.04.09 13:45. Заголовок: 1) Подскажите пожалу..



 цитата:
1) Подскажите пожалуйста, потянет ли LetoDB 100 пользователей одновременно ?


Работать-то будет, а вот насколько хорошо - зависит от характера работы пользователей. Если они в основном в Контакте сидят и только время от времени введут какой-нибудь документ, то, думаю, проблем не будет, а вот если все 100 или хотя бы половина из них все время кучу данных перемалывают, то, боюсь, будут задержки.


 цитата:
2) Как реализовать работу LetoDB, если нужно 20 баз на отдельные предприятия ?
Нужно будет запускать 20 СЕРВЕРОВ LetoDB на СЕРВЕРЕ ?


Один, конечно.


 цитата:
3) А как с защитой информации ? Взломать СЕРВЕР LetoDB смогут ли ?


Хм... Сама концепция сервера позволяет хранить данные в месте, защищенном от посторонних, т.е. в каталоге, куда доступ ограничен - в этом случае безопасность хранения на сервере обеспечивается ОС и системным администратором. Доступ к данным при этом можно получить только из клиентских программ, скомпилированных для работы с letodb. Если использовать недавно реализованную систему аутентификации, то защита есть и с этой стороны. Сами пароли передаются зашифрованными. На мой взгляд, система достаточно надежна, хотя я не специалист в криптографии и говорить наверняка не могу.

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 837
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.04.09 15:01. Заголовок: alkresin пишет: Дос..


alkresin пишет:

 цитата:
Доступ к данным при этом можно получить только из клиентских программ, скомпилированных для работы с letodb.


А если кто-то на letodb создаст модуль работы с базами, сможет ли он испортить мои базы ?

alkresin пишет:

 цитата:
Если использовать недавно реализованную систему аутентификации, то защита есть и с этой стороны. Сами пароли передаются зашифрованными.



А вот здесь поподробней пожалуйста ! И примеры тоже дайте пожалуйста...

И еще САМАЯ БОЛЬШАЯ ПРОБЛЕМА !!! Можно ли организовать шифрование БД на сервере и передачу хотя бы текстовых данных через Интернет ЗАШИФРОВАННЫМИ, чтоб их потом можно было на клиенте РАСШИФРОВЫВАТЬ и использовать ???

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 170
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.04.09 09:10. Заголовок: Andrey пишет: А есл..


Andrey пишет:

 цитата:
А если кто-то на letodb создаст модуль работы с базами, сможет ли он испортить мои базы ?


Если не использовать систему аутентификации, то сможет.

Если же вы поставите в letodb.ini на сервере PASS_FOR_DATA = 1, то изменить данные может только тот, кто вошел под своим именем и паролем и имеет права на запись. А если поставите PASS_FOR_LOGIN = 1, то и подсоединиться к серверу можно только указав правильные имя и пароль.
Добавлять пользователей, менять пароли и права доступа можно из клиентской программы, используя функции:

LETO_USERADD( cUser, cPassword [, cAccess] )
LETO_USERPASSWD( cUser, cPassword )
LETO_USERRIGHTS( cUser, cAccess )

Права доступа ( cAccess ) на данный момент включают в себя 3 позиции: административные ( права на добавление/изменение пользователей ), право на использование management функций ( программы manage.exe ) и право на запись; они задаются в виде строки из 3-х символов, каждый из которых - Y или N: "NNY", например, дает права на запись и отказывает в других правах.
Прежде чем ставить PASS_FOR_ ... в letodb.ini, надо завести хотя бы одного пользователя с административными правами.
Кстати, добавлять пользователей можно, используя консольную утилиту utils/manager/comsole.prg, там же можно посмотреть и примеры использования этих функций.

Если система аутентификации работает, то в клиентской программе необходимо сначала присоединиться к серверу:

leto_connect( cAddress, cUsername, cPassword )

Andrey пишет:

 цитата:
И еще САМАЯ БОЛЬШАЯ ПРОБЛЕМА !!! Можно ли организовать шифрование БД на сервере и передачу хотя бы текстовых данных через Интернет ЗАШИФРОВАННЫМИ, чтоб их потом можно было на клиенте РАСШИФРОВЫВАТЬ и использовать ???


Над шифрованием БД надо думать, я не уверен, что средства Harbour позволяют это сделать. Такое шифрование должно быть встроено в RDD DBFCDX, ведь входящие в ядро RDD функции работы с индексами должны уметь расшифровывать данные. Но лично мне шифрование самой БД не представляется таким уж важным - поскольку данные можно поместить в каталог, доступный только администратору, посторонние без него не смогут до них добраться.
Что касается шифрации траффика, то это уже есть. Просто добавьте CRYPT_TRAFFIC = 1 в letodb.ini. На данный момент шифруются данные, передаваемые с сервера клиенту. Данные от клиента к серверу я еще не шифровал - просто из-за лени :).

Спасибо: 0 
Профиль
wad1



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 24.04.09 08:01. Заголовок: Шифрование таблиц ср..


Шифрование таблиц средствами Harbour нормально работает при использовании SIXCDX. В Clipper мы применяли шифрованные таблицы на протяжении нескольких лет, и при переходе на Harbour критических затруднений не было.

Спасибо: 0 
alkresin
moderator


Пост N: 172
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.09 08:49. Заголовок: wad1 пишет: Шифрова..


wad1 пишет:

 цитата:
Шифрование таблиц средствами Harbour нормально работает при использовании SIXCDX.


Я как-то пробовал шифровать таблицу средствами SIXCDX под Harbour, но что-то не получалось.
А вот прямо сейчас - все вышло нормально. Так что, действительно, можно будет это дело использовать.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 173
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.09 08:51. Заголовок: Вопрос вдогонку: ес..


Вопрос вдогонку:

есть ли какие-нибудь особенности при использовании SIXCDX по сравнению с DBFCDX в Harbour, или все точно так же работает + какие-то дополнительные возможности ?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1104
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.04.09 09:15. Заголовок: alkresin пишет: ест..


alkresin пишет:

 цитата:
есть ли какие-нибудь особенности при использовании SIXCDX по сравнению с DBFCDX в Harbour, или все точно так же работает + какие-то дополнительные возможности ?



SIXCDX - это тот же DBFCDX, собранный с #define HB_SIXCDX
Как правило, при такой сборке добавлены дополнительные возможности.

ИМХО, не стоит шифровать БД непосредственно на сервере средствами SIXCDX. Только клиент letodb, имеющий права доступа к БД, будет иметь возможность получить данные из таблиц DBF. А уж какими средствами сервер это обеспечивает - это дело сервера. Шифрование таблиц здесь излишне.


Спасибо: 0 
Профиль
wad1



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 24.04.09 09:16. Заголовок: Дополнительных возмо..


Дополнительных возможностей пока не обнаружили (не особенно искали), а по поводу особенностей:
1 - В Clipper'е ПЕРЕДоткрытием таблицы нужно было установить Sx_setPass(), а в Harbоur'е - ПОСЛЕ открытия.
2 - В Harbour'е не получилось заставить работать функцию Sx_SetScope(). Все заработало после замены этой функции на OrdScope(). Хотя к шифрованию это отношения конечно не имеет.

Спасибо: 0 
Andrey
постоянный участник




Пост N: 839
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.04.09 11:09. Заголовок: wad1 пишет: Шифрова..


wad1 пишет:

 цитата:
Шифрование таблиц средствами Harbour нормально работает при использовании SIXCDX. В Clipper мы применяли шифрованные таблицы на протяжении нескольких лет, и при переходе на Harbour критических затруднений не было.



А можно пример простой показать ?
И будет ли под хХарбором это работать ?
Заранее спасибо !

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 174
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.04.09 13:20. Заголовок: Andrey пишет: А мож..


Andrey пишет:

 цитата:
А можно пример простой показать ?


Вот так шифруется таблица :

Function Main

REQUEST SIXCDX
RDDSETDEFAULT( "SIXCDX" )

sx_SetPass( "Test" )
use joupk new exclusive
sx_DBFEncrypt()
reindex

return

В xHarbour RDD такое же, как в Harbour, так что должно и там работать.


Спасибо: 1 
Профиль
alkresin
moderator


Пост N: 191
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.06.09 10:02. Заголовок: Вышел очередной релиз


Выложен очередной релиз - build8.
Он содержит несколько исправлений, в том числе важных.
Добавлена обработка internal error - такие возникают иногда при повреждении данных. Теперь сервер при таком событии закрывает все таблицы и записывает в letodb_crash.log информацию о том, какой >pth это натворил и с каким файлом.
В management утилитах теперь еще больше статистики.
Добавлена функция leto_IsFltOptim() - она возвращает .T., если текущий фильтр исполняется на сервере.

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 57
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 14.06.09 22:52. Заголовок: ПРОБЛЕМА с Фильтром


Вот примерчик

click here


когда использую комаду SET FILTER прога слетает с ошибкой Unrecoverable error 6005: Exception error:
можно посмотреть в hb_out.log
а когда использую DbSetFilter() не слетает , но и фильтр не работает !!

Я знаю что можно и нужно писать код по другому но ето просто тест



Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 199
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.06.09 08:58. Заголовок: Причина глупейшая - ..


Причина глупейшая - у меня почему-то задан буфер фиксированной длины ( 256 байт ) при передаче строки фильтра, ваш фильтр оказался слишком длинным - отсюда переполнение буфера ...
Сейчас исправлю.
А dbSetFilter() не работает, т.к. вы передаете в нем только кодоблок, а на сервер-то передается строка. Это тоже поправлю - в этом случае фильтрация должна выполнятся в клиентском приложении.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1162
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.06.09 13:39. Заголовок: Для xHarbour я давно..


Для xHarbour я давно делаю отдельную dll для rddleto
Захотелось сделать и для Harbour, но... получаю unresolved externals:

_hb_errNew
_hb_errPutGenCode
_hb_errPutSubCode
_hb_errPutDescription
_hb_errPutOsCode
_hb_errPutFileName
_hb_errPutFlags
_hb_cmdargARGV

можно ли в include\hbapierr.h добавить HB_EXPORT в определения этих функций (можно для всех функций в строках 102-129) ?

Александр, Петр, если возражений у других разработчиков не будет, может сделаете ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 200
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.06.09 14:10. Заголовок: Сделаем: ===========..


Сделаем:
====================================
On Wed, 17 Jun 2009, Alexander S.Kresin wrote:

Hi,

> > are there objections to make functions from rtl/errorapi.c ( hb_errNew(),
> > hb_errPutGenCode(), ... ) HB_EXPORT ?
> > This could allow to build as dll third party RDD's, etc.

They should be exported. I'll commit such modification in a while.

best regards,
Przemek
==============================

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 15
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 24.06.09 13:14. Заголовок: Добрый день, форумча..


Добрый день, форумчане....
использую xHarbour build 1.0.0 (Simplex), проект "Консольный" xHarbour.... Сегодня решил подключить LETODB.exe (2008-01-31 17:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su). Проект собрался нормально.
При запуске вылетает по ошибке ERROR LETO/1021, интересно что ЭТО происходит с разными файлами....
Вопрос(ы):
1. Есть ли что похожее на NG по ошибкам для LETODB
2. Может ли влиять на открытие файлов ч/з LETODB структура полей файла (тип, размер, первого поля).
PS. Открытие файла БД

Use (Cdatabase) SHARED Alias &Use_Alias

Скриншот:
|//....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/BLNS19
|//.....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/REKVIZIT
|//.....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/RELATION
|//.....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/MENU
|//.....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/PLANS
|Error LETO/1021 Data type error: -003:32-1012





Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 16
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 24.06.09 13:26. Заголовок: Добрый день, форумча..


Добрый день, форумчане....
использую xHarbour build 1.0.0 (Simplex), проект "Консольный" xHarbour.... Сегодня решил подключить LETODB.exe (2008-01-31 17:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su). Проект собрался нормально.
При запуске вылетает по ошибке ERROR LETO/1021, интересно что ЭТО происходит с разными файлами....
Вопрос(ы):
1. Есть ли что похожее на NG по ошибкам для LETODB
2. Может ли влиять на открытие файлов ч/з LETODB структура полей файла (тип, размер, первого поля).
3. Количество открытых файлов в LETODB (аналог переменной CLIPPER Files=250)
PS. Открытие файла БД

Use (Cdatabase) SHARED Alias &Use_Alias

Скриншот:
|//....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/BLNS19
|//.....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/REKVIZIT
|//.....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/RELATION
|//.....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/MENU
|//.....168.1.19:2812/ANAL/BALANS.KKB/FILES.2008/PLANS
|Error LETO/1021 Data type error: -003:32-1012

Открывает 4 файла и на 5 Error 1021




Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 201
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.06.09 14:50. Заголовок: Oskar_Aa пишет: LET..


Oskar_Aa пишет:

 цитата:
LETODB.exe (2008-01-31 17:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)


Вы действительно используете релиз от января прошлого года ???

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 17
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 25.06.09 07:13. Заголовок: Александр, содержим..


Александр, содержимое файла ChangeLog
/* $Id: Changelog,v 1.176 2008/08/07 16:47:00 ptsarenko Exp $ */

/* Use this format for the entry headers:
YYYY-MM-DD HH:MM UTC[-|+]hhmm Your Full Name <your_email@address>
For example:
2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/

2008-08-07 19:45 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
* source/client/letomgmn.c
* source/server/letofunc.c
* include/rddleto.h
* pCurrentConn moved from letofunc.c to leto1.c. The default
connection now can be set by LETO_CONNECT() function for
USE and CREATE command
* If server name and port is skipped in file name in Leto_File()
function, the default connection is used
* LETO_MGGETINFO() function now return DataPath
+ added leto_InTransaction() function
* skip buffer is used for dbSkip(-1) also
* hb_rddFlushAll() replaced witn SELF_FLUSH( ( AREAP ) pArea ) in
the flush command on server

2008-07-15 12:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Fixed memory size, allocated for leto_rec() function - there were GPF's
in some cases.

2008-07-14 11:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* re-committed

2008-07-11 13:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* source/server/server.prg
* The forth parameter od dbCreate ( lKeepOPen ) works now.
* COPY TO command works now.

2008-07-10 22:25 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
! fixed DBOI_SCOPETOPCLEAR and DBOI_SCOPEBOTTOMCLEAR evaluation
with empty key item

2008-07-09 22:15 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
* added bAppend parameter to letoSetBlankRecord() function, and
ulRecNo is cleared only for dbAppend()
* source/server/letofunc.c
! fixed scope operations in leto_Skip()

2008-07-09 19:45 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
! fixed compilation for Harbour

2008-07-09 09:40 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Minor fix

2008-07-08 22:15 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
! fixed gpf in letoOrderListFocus() if incorrect order number is passed
* added check for already opened index bagname in letoOrderListAdd()

2008-07-08 16:25 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
! Fix in letoPutMemoValue() function
* source/server/letofunc.c
* source/common/hbip.c
! Fixes for hpux, provided by Luiz Rafael Culik Guimaraes

2008-07-07 04:10 UTC+0700 Andi Jahja <harbour/AT/cbn/net/id>
* source/server/letofunc.c
! type casts

2008-07-06 18:30 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
! another fix for FLOCK()
* added DataPath to the second parameter in leto_FRename()
* source/server/server.prg
* changes in hs_createindex() if index bagname has path

2008-07-06 12:00 UTC+0700 Andi Jahja <harbour/AT/cbn/net/id>
* source/client/leto1.c
! some type casts
! line 1835 is typo (?), should be ulLen (was uiSize), pse re-check

* source/common/hbhip.c
* source/server/letofunc.c
! some type casts

2008-07-02 19:40 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
* source/server/letofunc.c
! fixed FLOCK() implemetnation

2008-06-16 19:40 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* include/rddleto.h
* added szPath into LETOCONNECTION structure
* source/client/letomgmn.c
- removed writelog() declaration
* connection number in LETO_CONNECT, LETO_SETCURRENTCONNECTION and
LETO_GETCURRENTCONNECTION now is beginning from 1
+ added LETO_PATH(cPath) function. cPath can be used instead of
path in SET PATH and SET DEFAULT command
* source/client/leto1.c
! typos in letoIsBinaryField
+ added support for nConnection parameter in the dbUseArea() and
dbCreate() functions
+ added letoRemoveIpFromPath function. Index bag name in OrdCreate
and OrdListAdd can be passed with ip name and port

2008-06-09 20:00 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
! fixed bug in leto_filef()

2008-06-04 20:30 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
* source/server/server.prg
! small fix in hs_OpenIndex(), introduced in my previos commit
! fixed hs_OrderInfo()

2008-06-03 20:30 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
+ added support for _SET_AUTORDER flag
* source/server/server.prg
! fixed hs_openindex() function if SET_AUTOPEN flag is disabled on a client
* source/server/letofunc.c
* added check into LETO_ADDTAG function if tag already opened

2008-06-03 00:20 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
+ added support for _SET_AUTOPEN flag

2008-06-01 21:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/common/common_c.c
* source/client/leto1.c
* source/server/letofunc.c
* source/server/leto_lnx.c
* source/server/leto_win.c
* source/server/server.prg
* source/include/funcleto.h
* writelog() function moved to common_c.c
+ added function LETO_SUM(cField, [cFilter], [ScopeTop], [ScopeBottom])

2008-05-16 15:45 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* source/server/letofunc.c
! Bugs fixed, related to scopes implementation

2008-05-06 13:24 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* source/client/leto1.c
* source/server/letofunc.c
* version number has been changed to 0.7
* Place for a username and password added to the 'intro' command
* 'Exact' setting removed from the 'intro' and from the user structure

2008-04-28 12:10 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* codepage conversion for memos added

2008-04-18 11:15 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
+ ULONG ulDeciSec has been added to LETOAREAP
+ #define BUFF_REFRESH_TIME 100
* source/client/leto1.c
* The time when records buffer is got from the server, is kept in
pArea->ulDeciSec and if the time since this occurence exceeds the
BUFF_REFRESH_TIME, the budder is refreshed.

2008-04-13 17:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
+ added current codepage, SET_DATEFORMAT, SET_CENTURE and SET_EXACT
into intro command
* source/server/letofunc.c
+ added new user environment fields into USERSTRU. It's need for codeblock
evaluation
+ added leto_SetUserEnv function
+ added filter set into leto_Seek() function
* source/server/server.prg
+ added leto_SetUserEnv() call into hs_createindex()

2008-04-11 11:02 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* source/server/letofunc.c
! More type casts for MSVS, provided by Andi Jahja
+ make_vc.bat
+ makefile.vc
+ Makefiles for MSVS has been added

2008-04-10 15:40 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
! Bug fixed, which prevented running of a server in a console mode.

2008-04-09 10:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! A lot of type casts for MSVS

2008-04-08 10:08 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Warning fixed.
* source/common/common_c.c
! Few type casts for MSVS
* source/common/hbip.c
* hb_ipConnect() has been changed to decrease the time of connection
! Few type casts for MSVS

2008-04-04 12:55 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
+ tests
+ tests/test_ta.prg
+ Added a sample, which demonstrates how to use transactions with Leto db server

2008-04-04 12:45 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
! Additional fix, related to records unlocking after transaction
commit or rollback.

2008-04-04 12:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* source/server/letofunc.c
! Bugs fixed, related to transactions
* leto_Rollback([lUnlock]) now unlocks all locked records, if lUnlock == Nil or .T.
* source/server/server.prg
! Small bug fixed in hb_createtable()

2008-04-03 15:16 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* source/server/letofunc.c
! Few Bugs fixed, related to transactions and records locking

2008-04-03 10:25 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
+ make_xhb.bat
* Added bat file for xHarbour Builder
* Readme.txt
* Added info about make_xhb.bat

2008-04-03 10:05 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/common/hbip.c
* hb_iprecv() and hb_ipsend() has been simplified - unused modes removed.
* Changing of send/receive buffer, introduced in previous post, is
isolated to separate function hb_ipSetBufSize(), buffer size is reduced
to 16K. Changing of buffer size is moved from hb_ipServer() to hb_ipAccept()
* include/funcleto.h
* HB_SENDRECV_BUFFER_SIZE is increased to 16K
* source/client/leto1.c
* source/server/letofunc.c
* Changed calls to hb_iprecv(), hb_ipsend()

2008-04-01 13:36 UTC+0100 Miguel Angel marchuet Frutos (miguelangel/at/marchuet.net)
* source/common/hbip.c
% increased SND and RCV buffers to 64k and use 1/2 of its capacitie to increase speed
transfer. In the future this may be configurable settings.

2008-03-31 10:15 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Few warnings fixed.

2008-03-28 14:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Bug fixed in leto_FindTable()

2008-03-28 13:40 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/client/leto1.c
* Transactions support is ready. Not properly tested yet, but simplest
tests works.

2008-03-28 09:40 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/client/leto1.c
* Continued implementation of transactions support.

2008-03-27 21:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
! fixed several bugs for binary fields
+ add missing SELF_SYNCCHILDREN for letoGoTop and letoGoBottom
+ added letoSetBlankRecord function. It's need to fill record by
empty values before commit operation

2008-03-27 12:44 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/client/leto1.c
* Continued implementation of transactions support.
New functions has been added:
leto_BeginTransaction()
leto_RollBack()
leto_CommitTransaction()

2008-03-27 12:44 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* Started implementation of transactions support

2008-03-27 10:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/common/hbip.c
* Added SO_KEEPALIVE option to the server side socket.
* Whatsnew.txt
* Added build 6 info.

2008-03-27 10:25 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* hb_strncpyLower is replaced by other functions

2008-03-26 21:20 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* include/funcleto.h
* source/server/letofunc.c
* source/client/leto1.c
+ added support for additional field types:
HB_FT_INTEGER
HB_FT_DOUBLE
HB_FT_FLOAT
HB_FT_DAYTIME
HB_FT_MODTIME
+ added hb_strncpyLower function for xHarbour
* source/server/server.prg
+ added requests for codepages
* small change in hs_createindex

2008-03-26 12:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* source/server/letofunc.c
* version number has been changed to "0.5"
+ Whatsnew.txt

2008-03-26 11:08 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* readme.txt
* added info about new ini entries and leto_Connect() function.

2008-03-26 10:32 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
! Bug fixed
* source/client/leto1.c
* ordBagExt() now returns ".NTX" if the dbf is opened via "DBFNTX"

2008-03-26 09:38 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
! Few bugs fixed
* Now it is possible to define [DATABASE] section and the following
options for it:
DataPath = some_path
Driver = CDX/NTX

2008-03-25 21:55 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* DATABASE structures and appropriate code has been added.

2008-03-25 20:15 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* source/client/leto1.c
* source/server/letofunc.c
* source/server/server.prg
* Support of DBFNTX has been added.
For now, to force Letodb work via DBFNTX driver, you need to write
in letodb.ini: DEFAULT_DRIVER = NTX

2008-03-25 17:10 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
! Small fix

2008-03-25 16:50 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/funcleto.h
* source/client/leto1.c
* source/server/letofunc.c
* source/server/server.prg
* letoOrderListClear() has been implemented.

2008-03-25 12:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* source/server/letofunc.c
* Changed LETOTAG structure
* All bagnames and tagnames are kept now in lower case

2008-03-24 14:06 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
! Bugs fixed, introduced in previous commit

2008-03-24 11:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* some changes in the protocol:
SET DELETED flag is transferred now in all move commands instead of
'intro' and 'set;01;'
* source/client/letomgmn.c
* leto_setDeleted() has been removed.
* source/server/letofunc.c
* changes, related to SET DELETED handling
* leto_goto(), leto_skip() and leto_seek() has been changed to use the
leto_getParam() function.

2008-03-24 09:24 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* Some optimizations in leto_goto() and leto_skip()

2008-03-23 19:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Bugs fixed in leto_goto() and leto_SetFilter()
* leto_SendAnswer() has been optimized.

2008-03-23 09:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
! fixed bug in leto_Skip if filter is defined
% memory allocations has been optimized in leto_Skip

2008-03-22 23:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
% optimized leto_SetScope calls

2008-03-22 22:40 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Memory leaks fixed in few functions. If hb_itemGetC() is used, the
returned value must be freed, or hb_itemGetCPtr() should be used instead.
* leto_getParam() function has been added to regularize handling of a string,
gotten from the client.
leto_mgmt() has been changed to use the leto_getParam().

2008-03-22 21:00 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
* source/server/server.prg
* hs_skip function has been converted to C level
* added szTagName into LETOTAG structure and rewritten leto_FindTag function
* renamed letoKeyToItem to leto_KeyToItem
* DBOI_KEYTYPE call moved into leto_KeyToItem function
* added check for current order into leto_SetFocus()
* commented LETO_NSKIPBUF, HS_SETSCOPE, HS_CLEARSCOPE functions

2008-03-22 15:45 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
* added missing initialization for uiLen in leto_Goto() function
* changes in leto_rec() for VarField: xHarbour return true in
HB_IS_NUMERIC() for one byte strings

2008-03-21 22:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
* source/server/server.prg
* hs_goto function has been converted to C level.

2008-03-19 00:15 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
* source/server/server.prg
* scope functions has been converted to C level.

2008-03-18 15:56 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* Started implementation of OrderListClear method
* source/client/letomgmn.c
* leto_mgGetInfo() now accepts info about indexes
* source/server/letofunc.c
* source/server/server.prg
* Handling of index and tag structures on C level has been extended
* management function now transfers data about indexes.

2008-03-17 19:50 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/letofunc.c
* added parameter in hb_gcCollectAll() for xHarbour

2008-03-17 16:10 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* itmFltExpr member ( to keep the filter codeblock ) has been added to the
AREASTRU and appropriate code to set and release it.

2008-03-17 12:48 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* relations has been implemented

2008-03-16 20:14 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* letoOrderListAdd() has been implemented
* source/server/letofunc.c
* index structures added
* source/server/server.prg
! Some fixes

2008-03-16 14:20 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* Small protocol corrections
* source/client/letomgmn.c
* leto_SetSkipBuffer() added
* source/server/letofunc.c
* Small protocol corrections
* pTag structure added to the area structure
* Support for the leto_SetSkipBuffer()
* source/server/server.prg
* skip procedure uses the value, set by leto_SetSkipBuffer()

2008-03-15 18:45 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/leto_lnx.c
* source/server/leto_win.c
* Small corrections
* source/server/letofunc.c
* source/server/server.prg
* hs_file() has been converted to C level.

2008-03-15 11:40 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* Small fix in leto_CloseArea() - records unlocking is called
* Cleanup

2008-03-15 11:22 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* hs_append(), hs_update() has been converted to C level.

2008-03-14 12:40 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* utils/manager/manage.prg
* New possibilities added: disconnect and kill user.

2008-03-14 11:50 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Memory leak fixed in leto_ordfunc()
* Garbage collection once in 5 minutes has been added.

2008-03-13 21:48 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* source/client/letomgmn.c
+ leto_mgKill() function added
* source/server/leto_win.c
* source/server/letofunc.c
* support of leto_mgKill() has been added.

2008-03-13 16:38 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* Added conditional definition of DBENTRYP_RVVL to discard problems with
previous change.

2008-03-13 12:50 UTC+0100 Miguel Angel marchuet Frutos (miguelangel/at/marchuet.net)
* source/client/leto1.c
+ Added ulConnect as 4 parameter for DbDrop and DbExists

2008-03-13 11:10 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* makefile.bc
* Makefile.linux
* Makefiles has been updated to support MT mode

2008-03-13 11:10 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* The repository was tagged with 'v_single_thread'
+ include/funcleto.h
+ include/srvleto.h
* include/rddleto.h
* new header files has been added to separate server related headers.
* Threads related function definitiona has been added
* source/server/leto_lnx.c
* source/server/leto_win.c
* New functions for threads creating and synchronization has been added:
BOOL leto_ThreadCreate( void* (*ThreadFunc)(void*) );
BOOL leto_ThreadMutexInit( LETO_MUTEX * pMutex );
void leto_ThreadMutexDestroy( LETO_MUTEX * pMutex );
BOOL leto_ThreadMutexLock( LETO_MUTEX * pMutex );
BOOL leto_ThreadMutexUnlock( LETO_MUTEX * pMutex );
BOOL leto_ThreadCondInit( LETO_COND * phEvent );
void leto_ThreadCondDestroy( LETO_COND * phEvent );
int leto_ThreadCondWait( LETO_COND * phEvent, int iMilliseconds );
BOOL leto_ThreadCondUnlock( LETO_COND * pCond );
* source/server/letofunc.c
* server routines rewritten to work with two threads:
first, which accepts connections, waits for clients requests and executes
management functions; it doesn't touch Harbour's stack and RDD;
second, which handles all requests, related to data access, and, so, works
with Harbour's stack and RDD;

2008-03-05 15:24 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
! Fix in letoOpen() - now it doesn't give run-time error, only a NETERR,
if a file can't be opened because of sharing problems

2008-03-05 13:18 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/letomgmn.c
* utils/manager/manage.prg
* Some improvements

2008-03-05 11:08 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* utils/manager/console.prg
* Small cleanup
* utils/manager/manage.prg
* Rewritten using new management functions.

2008-03-05 10:15 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/client/leto1.c
! Small fixes
* source/client/letomgmn.c
* Following management functions has been implemented:
leto_Disconnect()
leto_SetCurrentConnection()
leto_GetCurrentConnection()
leto_GetServerVersion()
leto_mgGetInfo()
leto_mgGetUsers()
leto_mgGetTables()
* utils/manager/console.prg
* Rewritten using new management functions.

2008-03-04 22:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* utils/manager/manage.prg
* utils/manager/console.prg
* Some changes in the protocol

2008-03-04 21:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* source/client/leto1.c
* source/client/letomgmn.c
* Some changes in LETOCONNECTION structure and connection functions.
* leto_Connect() function implemented.
* Introducing of management functions started.

2008-03-04 18:44 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Bug fixed in leto_FindTable()

2008-03-04 15:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* hs_ordfunc() is converted to C level
* source/client/leto1.c
! Bug fixed in DBOI_POSITION implementation

2008-03-04 13:20 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Few warnings fixed.

2008-03-04 13:05 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* Locking seems to work properly now

2008-03-04 10:55 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* source/client/leto1.c
* Further locking changes

2008-03-03 22:05 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* HSTable() class and appropriate stuff is fully converted to C Level
* source/client/leto1.c
! Some fixes in leto_RawLock() method

2008-03-01 20:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* include/rddleto.h
* source/server/letofunc.c
* source/server/server.prg
* source/client/leto1.c
+ added support for "D", 3 and "D", 4 fields
+ added support for "V" varfields

2008-03-03 20:10 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* Locking functions are converted to C level and fixed.

2008-03-03 16:20 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* leto_UnlockAllRec(), leto_Lock(), leto_Unlock() functions added.

2008-03-03 13:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* Restored a change, which was accidentally deleted while last commit
* source/server/letofunc.c
* Further HSTable conversion

2008-03-02 19:42 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/client/leto1.c
! Bugs fixed, related to delete/recall
* fUnLockAll flag of dbAppend() is transferred now to the server.

2008-03-02 16:55 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* Almost all of the HSTable converted to C level.

2008-03-01 22:24 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* Yet another part of code converted to C level.

2008-03-01 14:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/client/leto1.c
! Few bugs fixed, related to index creation

2008-03-01 13:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* Few functions, which are not used now, has been removed:
leto_At(), leto_Statis(), leto_Date2b()

2008-03-01 12:20 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* Yet another part of code converted to C ...

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 17
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 25.06.09 07:13. Заголовок: Александр, содержим..


... level, HSUser class is removed.

2008-02-29 13:01 UTC+0100 Miguel Angel marchuet Frutos (miguelangel/at/marchuet.net)
* source/server/server.prg
! fixed OrdBagName now is transmited when dbf is open, and now BagName
is correctly informed.

2008-02-28 21:12 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* source/common/hbip.c
* C version of hb_ipClose() added.
* source/server/server.prg
* source/server/letofunc.c
* Yet another part of code converted to C level

2008-02-28 21:12 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* Some cleanup and formatting

2008-02-28 15:12 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* Version number changed to 0.4
* source/server/letofunc.c
* Version number changed to 0.4

2008-02-28 11:58 UTC+0100 Miguel Angel marchuet Frutos (miguelangel/at/marchuet.net)
* source/client/leto1.c
* source/server/letofunc.c
* source/server/server.prg
! fixed unlock, extra Z founded.
+ added support to DbOrderInfo, DBOI_NAME, DBOI_BAGNAME and DBOI_UNIQUE (in setget mode)

2008-02-28 10:15 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* Added support for char fields with len >= 256
* source/server/server.prg
* cValToChar() changed to avoid using of syntax, incompatible with Harbour
( SWITCH ... )

2008-02-27 22:10 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source\server\server.prg
* source\server\letofunc.c
* source\client\leto1.c
+ initial support of relations

2008-02-27 21:56 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source\server\letofunc.c
! Bugs fixed, related to tables reallocation

2008-02-26 22:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source\server\server.prg
* source\client\leto1.c
+ added INDEX ON ... CUSTOM support

2008-02-26 13:46 UTC+0100 Miguel Angel marchuet Frutos (miguelangel/at/marchuet.net)
* include\rddleto.h
* source\client\leto1.c
* source\server\letofunc.c
* source\server\server.prg
+ Added support to DbOrderInfo DBOI_ISDESC and DBOI_CUSTOM and prepared code
to full support DbOrderInfo. PLEASE you can see if any thing is wrong in my first
upload.

2008-02-26 11:24 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
! Bug fixed in hs_createindex()
* source/client/leto1.c
! Fix for Linux compiler

2008-02-25 22:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/server.prg
* source/client/leto1.c
* The key for scope operations is sent now like for seek command

2008-02-25 22:12 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* Few problems fixed.

2008-02-22 09:56 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* source/server/letofunc.c
* Format of transferred data is optimized
* Info about memo fields ( empty or filled ) is included in a transferred
record.

2008-02-21 18:56 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Bug fixed in leto_Memo() function

2008-02-21 16:52 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* source/server/letofunc.c
* source/server/server.prg
! Few bugs fixed

2008-02-21 14:42 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Few warnings fixed

2008-02-21 13:55 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/client/leto1.c
! Few warnings fixed
* Makefile.linux
! hbct has been removed from the libraries.list

2008-02-20 22:05 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Small fix for xHarbour

2008-02-20 21:25 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* leto_SelectArea() has been added instead of oUser:SelectArea()
* Some other C level data added instead of prg level

2008-02-20 17:12 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
! Bug fixed

2008-02-20 16:40 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* utils/manager/manage.prg
* Management functions extended - now it is possible to see files, opened
by given client

2008-02-20 12:50 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* Time measurement reimplemented on C level
* source/server/server.prg
* Some cleanup
* utils/manager/manage.prg
! Small fix

2008-02-19 22:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* C level table and area structures with appropriate init/release
functions introduced.
* utils/manager/manage.prg
* utils/manager/console.prg
* Small changes in format of received data

2008-02-19 15:50 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* Main server cycle, hs_intro(), hs_mgmt() has been converted to C level
* makefile.bc
* Small changes

2008-02-18 22:53 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* Few function declarations from hbip.c has been added.
* source/server/leto_lnx.c
* source/server/leto_win.c
* source/server/letofunc.c
* source/server/server.prg
* Further prg to C conversion

2008-02-18 17:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/common/hbip.c
* C level versions of hb_ip_rfd_... functions added

2008-02-18 16:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/common/hbip.c
* C level versions of hb_ipServer() and hb_ipAccept() added

2008-02-18 12:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* hs_memo() is converted to C level.
* source/client/leto1.c
! Few fixes, related to memo updating and record appending

2008-02-17 11:12 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* Conversion of management fucntions to C level has been started
* source/client/leto1.c
leto_Putvalue(): updating of memo field has been implemented.
* include/rddleto.h
* source/common/common_c.c
* leto_Addlen() function has been changed


2008-02-16 14:20 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* hs_seek(), hs_deleted() are converted to C level.
! Some fixes
* include/rddleto.h
* source/client/leto1.c
* source/common/common_c.c
* leto_Addlen() function has been implemented

2008-02-15 09:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
* hs_pack(),hs_zap are converted to C level.
* Code cleanup, few warnings fixed

2008-02-14 10:45 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* source/server/server.prg
! Fix in leto_reccount()
* hs_flush() is converted to C level.

2008-02-14 09:45 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* source/client/leto1.c
! Some fixes, related with latest changes
* source/server/letofunc.c
* leto_Reccount() function added, which replaces prg level hs_reccount()

2008-02-13 21:50 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
! Small fix
* Alias and workarea number are sent now to server
* source/server/server.prg
* Generating workarea id from the client's workarea number

2008-02-13 16:25 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
! source/server/server.prg
* Small fix in hs_lock()

2008-02-13 14:59 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* Next part of the server code is converted to a C level.

2008-02-12 12:10 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/letofunc.c
* Reallocation of user structures array has been added.

2008-02-12 11:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/server/letofunc.c
* Part of the server code is converted to a C level.
* utils/manager/manage.prg
* Small changes

2008-02-11 15:30 UTC+0200 Petr Chornyj (myorg63/at/mail.ru)
* source/server/letofunc.c
* GetCmdItem() function added
* source/server/server.prg
* GetCmdItem() function commented

2008-02-11 13:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* source/client/leto1.c
* source/common/common_c.c
* source/common/hb_ip.c
* Some changes, needed to rewrite parts of server to C level.

2008-02-10 19:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* source/client/leto1.c
* The key for seek is sent now as any other character field - with a length
byte before.

2008-02-10 17:15 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/errorsys.prg
* Few changes, provided by Francesco Saverio Giudice
* Small change in wrlog() function
* source/server/letofunc.c
* leto_ScanAndDel() funcion added - provided by P.Chornyj <myorg63@mail.ru>
* source/server/server.prg
* Small fix ib hs_memo, provided by Francesco Saverio Giudice
* Few code fragments are replaced with leto_ScanAndDel()
* Non empty balue of DataPath ini file option is mandatory now for file
functions be permitted.
* New ini file options added:
EnableFileFunc = 0 ( 1 - if using of file functions - leto_file(),
leto_ferase(), leto_frename() is enabled )
EnableAnyExt = 0 ( 1 - if using of non standard database/index files
is enabled )
* source/client/leto1.c
* Small change, which eliminates using of "../" in a path.

2008-02-09 12:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/server.prg
+ added missing ordCondSet in hs_createindex()
* source/client/leto1.c
+ added parameters for ordCondSet evaluation

2008-02-08 21:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
* source/server/server.prg
* dbDelete()/dbRecall() operations should be processed when
leto_PutRec() called

2008-02-08 21:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/letomgmn.c
+ added LETO_FERASE(), LETO_FRENAME(), LETO_FERROR() functions
* source/server/server.prg
+ implemented functions above

2008-02-07 21:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
* use HB_SET_DEFAULT instead of HB_SET_PATH in letoCreate()
+ added additional parameter lFile to leto_getIpFromPath()
* leto_getIpFromPath() changed to parse directories from HB_SET_PATH
* source/client/letomgmn.c
* changed leto_getIpFromPath() usage

2008-02-07 10:20 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* utils/manager/manage.prg
* exename() call is replaced by hb_Argv(0) to avoid using of ct library
* utils/manager/bld.bat
* hbct.lib is removed from the libraries list

2008-02-06 20:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* hs_openindex() implemented
* utils/manager/manage.prg
! Small fix for xHarbour

2008-02-06 19:35 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
+ source/common/common_c.c
* C level functions, which are used in both client and server modules
hb_millisec() has been renamed to leto_millisec()
* source/client/leto1.c
* source/server/letofunc.c
* source/server/server.prg
* include/rddleto.h
* makefile.bc
* Makefile.linux
* appropiate changes in related files.

2008-02-06 15:20 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
! source/client/leto1.c
! Bug fixed in letoOrderInfo(), thanks to Miguel Angel Marchuet

2008-02-06 09:20 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
! source/server/server.prg
! source/client/leto1.c
* Seeking caused an error if the keytype was wrong.

2008-02-05 22:50 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/server.prg
+ added requests for expression engine

2008-02-05 22:10 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
! source/server/server.prg
! source/client/leto1.c
* Fixed bugs with locking

2008-02-05 20:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
! Fixed a bug in hs_seek() ( failure returned in case of empty key )
! Fixed paths in hs_createindex()
* Added cAlias member in HSArea - an alias from the client

2008-02-05 15:05 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* include/rddleto.h
* Some changes in workarea definition to solve problem with diffences
in [x]Harbour versions

2008-02-04 20:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/letomgmn.c
* leto_DataSendRecv() function moved to leto1.c
* source/server/server.prg
* source/client/leto1.c
* include/rddleto.h
* rewritten scope operations to reduce server calls
* utils/manager/console.prg
* ExeName() replaced with HB_ARGV(0)

2008-02-04 13:05 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
! source/client/leto1.c
* Small fix, which allows to use a drive letter in a file path
! readme.txt
* USE command sample fixed

2008-02-04 13:05 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
! source/client/leto1.c
* Few warnings fixed
! source/common/net.c
* bug fixed

2008-02-03 21:50 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/server.prg
* Errors while files opening and creation are written to the log now,
subcode is passed to client.
* Makefile.linux
* added letomgmn.c
* utils/manager/console.prg
* utils/manager/manage.prg
* Few functions has been changed to avoid using of hb_at()

2008-02-03 18:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/server.prg
+ added "file" command for LETO_FILE() function
+ source/client/letomgmn.c
+ added LETO_FILE() function
* source/client/leto1.c
* chahged some functions from static to export
+ added OrdBagExt(), OrdNumber()
* include/rddleto.h
+ added uiTag to LETOTAGINFO structure
* makefile.bc
* added letomgmn.c

2008-02-03 11:30 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/server/errorsys.prg
* file name converted to lowercase

2008-02-02 21:00 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* include/rddleto.h
+ added pKeyItem to LETOTAGINFO structure
* source/client/leto1.c
+ added dbOrerInfo(DBOI_KEYVAL,...)

2008-02-02 16:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/server/server.prg
* source/client/leto1.c
* include/rddleto.h
+ added support for dbOrerInfo(DBOI_KEYSIZE,...)
+ added scope support:
dbOrerInfo(DBOI_SCOPETOP,...)
dbOrerInfo(DBOI_SCOPEBOTTOM,...)
dbOrerInfo(DBOI_SCOPESET,...)
dbOrerInfo(DBOI_SCOPETOPCLEAR)
dbOrerInfo(DBOI_SCOPEBOTTOMCLEAR)
dbOrerInfo(DBOI_SCOPECLEAR)
* makefile.bc
* changed terminal lib with gtwin for console mode

2008-02-01 20:12 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* include/rddleto.h
* source/client/leto1.c
* source/server/server.prg
* source/server/letofunc.c
* Yet another changes to provide compatibility with earlier versions of
[x]Harbour

2008-02-01 14:25 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* source/server/server.prg
* source/server/letofunc.c
* Few changes to provide compatibility with earlier versions of [x]Harbour

2008-02-01 13:40 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* letodb/utils/manager/console.prg
* small interface changes
* Readme.txt
* Added info about management utilities

2008-02-01 12:25 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
! source/client/leto1.c
! Yet another fix in leto_getIpFromPath()

2008-02-01 11:15 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
! source/client/leto1.c
! Fix in leto_getIpFromPath()

2008-02-01 09:05 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
! source/client/leto1.c
! Important fix in leto_ParseRec() - convertion of date type field.
* include/rddleto.h
* Added HB_FT_... definitions, which was introduced in [x]Harbour in
October 2007, to be compatible with earlier distributions.

2008-01-31 20:30 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* make_b32.bat
* HB_PATH env var used for copy command
* makefile.bc
* changes for xharbour
* source/client/leto1.c
* warning cleanup
* changes for xharbour
* source/server/server.prg
* changes for xharbour
* source/server/letofunc.c
* chanded HB_MILLISEC() for xharbour

2008-01-31 17:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
+ letodb/utils/manager/console.prg
* simple console management utility has been added
+ letodb/Changelog
* this Changelog file has been created

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 142
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 25.06.09 08:30. Заголовок: Проект постоянно обн..


Oskar_Aa пишет:

 цитата:
Александр, содержимое файла ChangeLog
...
2008-08-07 19:45 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)


Проект постоянно обновляется. http://sourceforge.net/projects/letodb
Лучше всего пользоваться CVS.


Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 18
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 25.06.09 09:59. Заголовок: Скачал letodb-0.8.sr..


Скачал letodb-0.8.src.zip.
начал собирать ч/з
xHarbour Compiler build 1.0.0 (SimpLex)
Copyright 1999-2007, http://www.xharbour.org http://www.harbour-project.org
полезли ошибки:
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
bcc32 -c -Iinclude;\include -d -tWM -D__WIN32__ -D__WIN_DAEMON__ -oobj\b32\leto1.obj source\client\leto1.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
source\client\leto1.c:
Error E2209 source\client\leto1.c 56: Unable to open include file 'hbapi.h'
Error E2209 source\client\leto1.c 57: Unable to open include file 'hbinit.h'
Error E2209 source\client\leto1.c 58: Unable to open include file 'hbapiitm.h'
Error E2209 source\client\leto1.c 59: Unable to open include file 'hbapierr.h'
Error E2209 source\client\leto1.c 60: Unable to open include file 'hbdbferr.h'
Error E2209 source\client\leto1.c 61: Unable to open include file 'hbapilng.h'
Error E2209 source\client\leto1.c 62: Unable to open include file 'hbdate.h'
Error E2209 source\client\leto1.c 63: Unable to open include file 'hbset.h'
Error E2209 source\client\leto1.c 64: Unable to open include file 'hbvm.h'
Error E2209 source\client\leto1.c 65: Unable to open include file 'rddsys.ch'
Error E2209 include\rddleto.h 51: Unable to open include file 'hbapirdd.h'
Error E2141 include\funcleto.h 90: Declaration syntax error
Error E2141 include\funcleto.h 94: Declaration syntax error
Error E2147 include\funcleto.h 95: 'BYTE' cannot start a parameter declaration
Error E2303 include\funcleto.h 95: Type name expected
Error E2147 include\funcleto.h 99: 'BYTE' cannot start a parameter declaration
Error E2303 include\funcleto.h 99: Type name expected
Error E2147 include\funcleto.h 100: 'BYTE' cannot start a parameter declaration
Error E2303 include\funcleto.h 100: Type name expected
Error E2141 include\rddleto.h 59: Declaration syntax error
Error E2139 include\rddleto.h 78: Declaration missing ;
Error E2139 include\rddleto.h 79: Declaration missing ;
Error E2139 include\rddleto.h 80: Declaration missing ;
Error E2139 include\rddleto.h 81: Declaration missing ;
Error E2238 include\rddleto.h 82: Multiple declaration for 'USHORT'
Error E2228 include\rddleto.h 82: Too many error or warning messages
*** 26 errors in Compile ***

** error 1 ** deleting obj\b32\leto1.obj

ЗЫ.
MAKEFILE.BC
строка xHarbour = Yes комментарий снят

MAKE_B32.bat
@echo off
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN

if not exist lib md lib
if not exist obj md obj
if not exist obj\b32 md obj\b32
:BUILD

SET HB_PATH=C:\xHARBOUR - поставил сам

make -l EXE_OBJ_DIR=obj\b32\bin OBJ_DIR=obj\b32 -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
copy lib\rddleto.lib %HB_PATH%\lib\rddleto.lib
:BUILD_OK

goto EXIT

:BUILD_ERR

notepad make_b32.log
goto EXIT

:CLEAN
del bin\*.exe
del bin\*.tds
del lib\*.lib
del lib\*.bak
del obj\b32\*.obj
del obj\b32\*.c

del make_b32.log

goto EXIT

:EXIT


Куда копать и что делать????



Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 19
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 25.06.09 10:10. Заголовок: по поводу "старо..


по поводу "старой" версии LETODB....
Error.Log
----------------------------- xHarbour Error Log ------------------------------

Date...............: 25/06/2009
Time...............: 13:02:22

Application name...: C:\BALANS.KKB\KKBLETO.exe
Workstation name...: KYDYKEEV
Available memory...: 127640
Current disk.......: C
Current directory..: BALANS.KKB
Free disk space....: 12929011712

Operating system...: Windows XP Professional 5.01.2600 Service Pack 2
xHarbour version...: xHarbour build 1.0.0 Intl. (SimpLex)
xHarbour built on..: Nov 8 2007 09:23:44
C/C++ compiler.....: Borland C++ 5.5.1
Multi Threading....: NO
VM Optimization....: 0

Current Area ......:40

-------------------------- Environmental Information --------------------------

SET ALTERNATE......: OFF
SET ALTFILE........:
SET AUTOPEN........: ON
SET AUTORDER.......: 0
SET AUTOSHARE......: 0
SET BACKGROUNDTASKS: OFF
SET BACKGROUNDTICK.: 1000
SET BELL...........: OFF
SET BLINK..........: .T.
SET CANCEL.........: ON
SET CENTURY........: ON
SET COLOR..........: W/N,N/BG,N/N,N/N,N/BG
SET CONFIRM........: ON
SET CONSOLE........: ON
SET COUNT..........: 0
SET CURSOR.........: 0
SET DATE FORMAT....: DD/MM/YYYY
SET DBFLOCKSCHEME..: 0
SET DEBUG..........: OFF
SET DECIMALS.......: 9
SET DEFAULT........:
SET DELETED........: ON
SET DELIMCHARS.....: ::
SET DELIMETERS.....: OFF
SET DEVICE.........: SCREEN
SET DIRCASE........: 0
SET DIRSEPARATOR...: \
SET EOL............: 13
SET EPOCH..........: 1900
SET ERRORLOG.......: ERROR.LOG,.F.
SET ERRORLOOP......: 8
SET ESCAPE.........: OFF
SET EVENTMASK......: 128
SET EXACT..........: ON
SET EXCLUSIVE......: ON
SET EXIT...........: OFF
SET EXTRA..........: OFF
SET EXTRAFILE......:
SET FILECASE.......: 0
SET FIXED..........: OFF
SET FORCEOPT.......: OFF
SET GTMODE.........: 1
SET HARDCOMMIT.....: ON
SET IDLEREPEAT.....: ON
SET INSERT.........: OFF
SET INTENSITY......: ON
SET LANGUAGE.......: EN
SET MARGIN.........: 0
SET MBLOCKSIZE.....: 0
SET MCENTER........: OFF
SET MESSAGE........: 0
SET MFILEEXT.......:
SET OPTIMIZE.......: ON
SET OUTPUTSAFETY...: ON
SET PATH...........: //127.0.0.1:2812/;//127.0.0.1:2812/BALANS.KKB/FILES.2008/;//127.0.0.1:2812/BALANS.KKB/FILES.2008/;;C:\TEMP.ZZ1;C:\TEMP.ZZ1;Q:\BALANS.GET;//127.0.0.1:2812/;Q:\BALANS.KKB\FILES.RAR;BALANS.GET;//127.0.0.1:2812/;//127.0.0.1:2812/;//127.0.0.1:2812/BALANS.KKB/TOOLS.DIR;Q:\BALANS.EXP;Q:\BALANS.GET;
SET PRINTER........: OFF
SET PRINTERJOB.....:
SET PRINTFILE......: PRN
SET SCOREBOARD.....: OFF
SET SCROLLBREAK....: ON
SET SOFTSEEK.......: OFF
SET STRICTREAD.....: OFF
SET TRACE..........: ON
SET TRACEFILE......: TRACE.LOG
SET TRACESTACK.....: 2
SET TRIMFILENAME...: .F.
SET TYPEAHEAD......: 1024
SET UNIQUE.........: OFF
SET VIDEOMODE......: 0
SET WRAP...........: OFF

---------------------------Detailed Work Area Items----------------------------

Work Area No ......: 1
Alias .............: CONFIG
Current Recno .....: 1
Current Filter ....:
Relation Exp. .....:
Index Order .......: 0
Active Key ........:

Work Area No ......: 2
Alias .............: BALANS
Current Recno .....: 1
Current Filter ....:
Relation Exp. .....:
Index Order .......: 0
Active Key ........:

-------------------- Internal Error Handling Information ---------------------

Subsystem Call ....: LETO
System Code .......: 1021
Default Status ....: .F.
Description .......: Data type error
Operation .........:
Arguments .........:
Involved File .....: -003:21-1003
Dos Error Code ....: 0

Trace Through:
----------------
ORDLISTADD : 0 in Module:
OPEN_NTX : 115 in Module: FIL_COM1.prg
MAIN : 54 in Module: KKBLETO.prg


############################## Video Screen Dump ##############################

+--------------------------------------------------------------------------------+
| Дата:25/06/2009 13:02:22 |
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░╔════════════════════════════╗░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░║Открытие файлов. Ожидайте...║░░░░░░░░░░░░░░░░░░░░░░░░░░|
|//127.0.0.1:2812/BALANS.KKB/FILES.2008/══════════════╝░░░░░░░░░░░░░░░░░░░░░░░░░░|
|//127.0.0.1:2812/BALANS.KKB/FILES.2008/░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|//127.0.0.1:2812/BALANS.KKB/FILES.2008/BL28_1.Cdx░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|Error LETO/1021 Data type error: -003:21-1003░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|Error at ...: ORDLISTADD(0) in Module: ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|Called from : OPEN_NTX(115) in Module: FIL_COM1.prg░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|Called from : MAIN(54) in Module: KKBLETO.prg░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|
| |
| |
+--------------------------------------------------------------------------------+

Фрагмент кода программы (открытие индексных файлов)

Select STYLE
Set Index To (Mar2+'BL28_1.Cdx'),(Mar2+'BL28_2.Cdx')

Переменная MAR2 - путь к папке с файлами:
//127.0.0.1:2812/BALANS.KKB/FILES.2008/



Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 20
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 25.06.09 12:02. Заголовок: Добрый день, еще раз..


Добрый день, еще раз....
Сегодня скачал версию xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)
Удалось собрать LETODB (от 01/06/2009). получил RDDLETO.Lib, LETODB.exe

Тестирование продолжается....

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 204
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 25.06.09 15:29. Заголовок: Oskar_Aa пишет: Сег..


Oskar_Aa пишет:

 цитата:
Сегодня скачал версию xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)


Это правильно :). С поддержкой разных версий - прямо беда. С Harbour мне удалось обеспечить поддержку более-менее широкого диапазона версий, а вот xHarbour охватить нет времени - поэтому, наверное, только свежие его версии можно использовать ( этого или конца прошлого года ).

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 878
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.06.09 16:11. Заголовок: alkresin пишет: а в..


alkresin пишет:

 цитата:
а вот xHarbour охватить нет времени


Да и не нужна поддержка в старых версиях, самое главное чтоб в новых работало !

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 21
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 26.06.09 12:52. Заголовок: Ошибка при запуске T..


Ошибка при запуске TEST_TA.prg из LETODB (06/01/2009) +xHarbour (REV6401) ,
----------------------------- xHarbour Error Log ------------------------------

Date...............: 06/26/09
Time...............: 15:45:16

Operating system...: Windows XP Professional 5.01.2600 Service Pack 2
xHarbour version...: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 6406)
xHarbour built on..: Mar 26 2009 16:08:37
C/C++ compiler.....: Borland C++ 5.5.1 (32 bit)
Multi Threading....: NO
VM Optimization....: 2

-------------------------- Environmental Information --------------------------

SET ALTERNATE......: OFF
SET ALTFILE........:
SET AUTOPEN........: ON
SET AUTORDER.......: 0
SET AUTOSHARE......: 0
SET BACKGROUNDTASKS: OFF
SET BACKGROUNDTICK.: 1000
SET BELL...........: OFF
SET BLINK..........: .T.
SET CANCEL.........: ON
SET CENTURY........: OFF
SET COLOR..........: W/N,N/W,N/N,N/N,N/W
SET CONFIRM........: OFF
SET CONSOLE........: ON
SET COUNT..........: 0
SET CURSOR.........: 1
SET DATE FORMAT....: MM/DD/YY
SET DBFLOCKSCHEME..: 0
SET DEBUG..........: OFF
SET DECIMALS.......: 2
SET DEFAULT........:
SET DEFEXTENSIONS..: ON
SET DELETED........: OFF
SET DELIMCHARS.....: ::
SET DELIMETERS.....: OFF
SET DEVICE.........: SCREEN
SET DIRCASE........: 0
SET DIRSEPARATOR...: \
SET EOL............: 13
SET EPOCH..........: 1900
SET ERRORLOG.......: ERROR.LOG,.F.
SET ERRORLOOP......: 8
SET ESCAPE.........: ON
SET EVENTMASK......: 128
SET EXACT..........: OFF
SET EXCLUSIVE......: ON
SET EXIT...........: OFF
SET EXTRA..........: OFF
SET EXTRAFILE......:
SET FILECASE.......: 0
SET FIXED..........: OFF
SET FORCEOPT.......: OFF
SET HARDCOMMIT.....: ON
SET IDLEREPEAT.....: ON
SET INSERT.........: OFF
SET INTENSITY......: ON
SET LANGUAGE.......: EN
SET MARGIN.........: 0
SET MBLOCKSIZE.....: 0
SET MCENTER........: OFF
SET MESSAGE........: 0
SET MFILEEXT.......:
SET OPTIMIZE.......: ON
SET OUTPUTSAFETY...: ON
SET PATH...........:
SET PRINTER........: OFF
SET PRINTERJOB.....:
SET PRINTFILE......: PRN
SET SCOREBOARD.....: ON
SET SCROLLBREAK....: ON
SET SOFTSEEK.......: OFF
SET STRICTREAD.....: OFF
SET TRACE..........: ON
SET TRACEFILE......: TRACE.LOG
SET TRACESTACK.....: 2
SET TRIMFILENAME...: .F.
SET TYPEAHEAD......: 50
SET UNIQUE.........: OFF
SET VIDEOMODE......: 0
SET WRAP...........: OFF

---------------------------Detailed Work Area Items----------------------------


-------------------- Internal Error Handling Information ---------------------

Subsystem Call ....: LETO
System Code .......: 1
Default Status ....: .F.
Description .......: Open error
Operation .........:
Arguments .........:
Involved File .....: //127.0.0.1:2812/Nakl1
Dos Error Code ....: 0

Trace Through:
----------------
DBCREATE : 0 in Module:
MAIN : 14 in Module: test_ta.prg


############################## Video Screen Dump ##############################

+--------------------------------------------------------------------------------+
| |
|C:\ASKAR.AAA\PROGRAMM.PRG\LETODB.PRG>XHR_PRG.BAT |
| |
|C:\ASKAR.AAA\PROGRAMM.PRG\LETODB.PRG>Erase Test_Ta.C |
| |
|C:\ASKAR.AAA\PROGRAMM.PRG\LETODB.PRG>Erase Test_Ta.Obj |
| |
|C:\ASKAR.AAA\PROGRAMM.PRG\LETODB.PRG>Erase Test_Ta.Exe |
| |
|C:\ASKAR.AAA\PROGRAMM.PRG\LETODB.PRG>C:\XHARBOUR\BIN\HARBOUR test_ta -n -q0 -gc |
|-iC:\XHARBOUR\INCLUDE -w 1>test_ta.0Hb |
| |
|C:\ASKAR.AAA\PROGRAMM.PRG\LETODB.PRG>C:\BORLAND\BCC55\BIN\BCC32 -O2 -d -IC:\XHAR|
|BOUR\INCLUDE -LC:\XHARBOUR\LIB test_ta.C lang.lib vm.lib rtl.lib rdd.lib macro.l|
|ib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib common.lib gtwin.lib codepage.lib ct.|
|lib tip.lib pcrepos.lib hsx.lib hbsix.lib import32.lib cw32.lib RddLeto.Lib 1>te|
|st_ta.0er |
| |
|C:\ASKAR.AAA\PROGRAMM.PRG\LETODB.PRG>Test_Ta.Exe |
| |
|Start |
|Error LETO/1 Open error: //127.0.0.1:2812/Nakl1 Arguments: () |
| |
|Error at ...: DBCREATE(0) in Module: |
|Called from : MAIN(14) in Module: test_ta.prg

Что я сделал НЕ ТАК??? LETODB.exe, RDDLETO.lib скомпилировались без ошибок... |


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 208
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.09 13:49. Заголовок: Извиняюсь за глупый ..


Извиняюсь за глупый вопрос, но: letodb.exe вы запустили ? В списке процессов он есть ? Утилита console.exe или manage.exe его обнаруживает ?

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 22
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 26.06.09 14:09. Заголовок: Спасибо, точно, ошиб..


Спасибо, точно, ошибка "ГЛУПЕЙШАЯ". LetoDb.exe был запущен на сервере.....


Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 23
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 26.06.09 14:14. Заголовок: тест работает.... Ал..


тест работает....
Александр, еще вопросы.
Базы данных БЕЗ ИНДЕКСНЫХ ФАЙЛОВ открыл без проблем. Затем переход через
SELECT F_STYLE
Set Index To (Mar2+'BL28_1.Cdx'),(Mar2+'BL28_2.Cdx')
Вылетает по ошибке:
Error LETO/1021 Data type error: -003:32-1012 Arguments: ()

PS.
Subsystem Call ....: LETO
System Code .......: 1021
Default Status ....: .F.
Description .......: Data type error
Operation .........:
Arguments .........:
Involved File .....: -003:32-1012
Dos Error Code ....: 0

Trace Through:
----------------
ORDLISTADD : 0 in Module:
OPEN_NTX : 119 in Module: FIL_COM1.prg
MAIN : 54 in Module: KKBLETO.prg




Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 209
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.09 14:36. Заголовок: Код 1012 согласно до..


Код 1012 согласно документации означает "Corruption detected". Все ли там хорошо с индексом ?

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 24
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 26.06.09 14:41. Заголовок: "Простая" б..



"Простая" без LETODB версия работает на УРА...
функция FILE() возвращает .F. в LETODB и .T. без LETO

Благодарю за помощь...

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 210
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.06.09 15:25. Заголовок: Вы же понимаете, что..


Вы же понимаете, что letodb.exe открывает таблицы и индексы через dbfcdx - т.е. это dbfcdx ругается на ваш индекс, выдает при его открытии такую ошибку. Может, там в индексном выражении что-то необычное ( UDF, алиасы, переменные ). Если получится, сделайте урезанный вариант dbf с cdx, убедитесь, что leto по-прежнему на них ругается и вышлите мне на email.

 цитата:
функция FILE() возвращает .F. в LETODB и .T. без LETO


С LETO, наверное, leto_file() ? А EnableFileFunc = 1 в .ini на сервере у вас стоит ?

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 25
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 30.06.09 06:51. Заголовок: По индексу в LETO об..


По индексу в LETO обошел ошибку. (Просто проиндексировал все БД, раньше пытался открыть индексный фай созданный без LETO). Александр,есть несколько вопросов:
1. максимальный размер символьного поля в БД для построения индесксного ключа (при длине 250 байт - ошибка, даже на примере TEST_TA.prg), сократил до 200 байт - пока нормально
2. Где можно посмотреть HELP по LETODB.exe (LETO_File() - не знал

Можно выслать образец файла .INI....?
По первому вопросу :
Структура файла:LCHT01.DBF
Поле Тип
1 CODE_FULL C 50 0
2 CODE_NBS C 5 0
3 CODE_ORG N 3 0
4 CODE_OTD N 3 0
5 VAL C 3 0
6 CODE_VIP N 7 0
7 CODE_OTR N 3 0
8 CODE_ZLG N 3 0
9 CODE_KAS N 3 0
10 CODE_COLOR N 3 0
11 CODE_ODB C 50 0
12 NAME_CHT C 200 0
13 DATE_OPN D 8 0
14 DATE_SRK D 8 0
15 DATE_DEL D 8 0
16 TYPE_SCH N 1 0
17 STATUS N 1 0
18 SYMV N 3 0
19 SHIFR N 3 0
20 SROK_DOG N 6 0
21 DOGOVOR N 5 0
22 DATE_DOG D 8 0
23 MEMO_CHET C 50 0
24 ARM N 1 0
25 ARM_NAME C 1 0
26 DATE_DBF D 8 0
27 DATE_PRC D 8 0
28 SUM_DOG N 10 0
29 DEL_TE C 1 0
30 KORRCHET C 1 0
31 CODE_VAL C 3 0
32 PRIZNAK_NL N 3 0
33 STYLE_DATA N 1 0
34 OPN_CLS C 1 0
35 CHET_TYPE C 50 0

Index On Str(Code_Org,3)+Code_Nbs+Val+Name_Cht To 'LCHT_10.CDX'
ЕСЛИ поле NAME_CHT 250 байт - ошибка

|Error LETO/1021 Data type error: -003:34-1026 Arguments: ()
|Error at ...: ORDCREATE(0) in Module:
|Called from : DBCREATEINDEX(61) in Module: source\rdd\rddord.prg




Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 212
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.06.09 09:47. Заголовок: По индексу в LETO об..



 цитата:
По индексу в LETO обошел ошибку. (Просто проиндексировал все БД, раньше пытался открыть индексный фай созданный без LETO).


Т.е., индексы, созданные letodb, отличаются от созданных вашей программой с dbfcdx ? Это настораживающий признак и вам стоит выяснить, отчего так происходит. Скорее всего, дело в установленной кодовой странице.

 цитата:
максимальный размер символьного поля в БД для построения индесксного ключа (при длине 250 байт - ошибка, даже на примере TEST_TA.prg), сократил до 200 байт - пока нормально


Надо будет увеличить размер буфера.

 цитата:
Где можно посмотреть HELP по LETODB.exe (LETO_File() - не знал


В readme.txt. Списка функций в официальном релизе, правда, нет, он войдет в следующий релиз. Вот он:

LETO_CONNECT( cAddress [, cUserName, cPassword ] ) --> nConnection, -1 if failed
LETO_CONNECT_ERR() --> nError
LETO_DISCONNECT()
LETO_SETCURRENTCONNECTION( nConnection )
LETO_GETCURRENTCONNECTION() --> nConnection
LETO_GETSERVERVERSION() --> cVersion

LETO_BEGINTRANSACTION()
LETO_ROLLBACK()
LETO_COMMITTRANSACTION( [ lUnlockAll ] ) --> lSuccess
LETO_INTRANSACTION() --> lTransactionActive

LETO_SUM( cFieldName [, cFilter ] ) --> nSumma
LETO_ISFLTOPTIM() --> lFilterOptimized
LETO_SETSKIPBUFFER( nSkip )

LETO_FILE( cFileName ) --> lFileExists
LETO_FERASE( cFileName ) --> -1 if failed
LETO_FRENAME( cFileName, cFileNewName ) --> -1 if failed
LETO_FERROR() --> nError

LETO_MGGETINFO()
LETO_MGGETUSERS()
LETO_MGGETTABLES()
LETO_MGKILL()

LETO_USERADD( cUserName, cPass [, cRights ] ) --> lSuccess
LETO_USERPASSWD( cUserName, cPass ) --> lSuccess
LETO_USERRIGHTS( cUserName, cRights ) --> lSuccess
LETO_USERFLUSH() --> lSuccess


 цитата:
Можно выслать образец файла .INI....?


В readme.txt описаны все опции ini - файла, а какие из них ставить - зависит от ваших конкретных нужд, поэтому я не вижу смысла в каком-то образце.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 144
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 30.06.09 13:17. Заголовок: Для Александра Креси..


Для Александра Кресина.
Сегодня скачал с CVS LetoDB:

 цитата:
2009-06-30 12:05 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* source/client/leto1.c
* Increased buffer size for seek
* source/server/server.prg
! Bug fixed in hs_openindex()


Exe-шник собрался нормально. Но при попытке открыть базы процесс letodb.exe (на сервере) слетает с ошибкой.
Начало файла letodb_crash.log:

 цитата:
Breakdown at: 2009.06.30 14:02:03
Unrecoverable error 6005: Exception error: %s

Exception Code:C0000005
Exception Address:00433EAB
EAX:00000000 EBX:0000001A ECX:00000005 EDX:000000EC
ESI:00000000 EDI:0000000D EBP:00EEFC20
CS:EIP:001B:00433EAB SS:ESP:0023:00EEFC08
DS:0023 ES:0023 FS:003B GS:0000
Flags:00010246
CS:EIP: 8B 80 7C 03 00 00 C3 90 90 A1 84 AE 4B 00 50 E8
SS:ESP: 004921E8 0000000D 00000000 003D56B1 0000001A 003D56B1 00EEFC40 0044D1D4 00EEFD5C 0000000D 003D56C2 003D56B1 003D56C1 003D993C 00EEFE6C 00404E82


Вот эта версия

 цитата:
2009-06-11 14:10 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)
* Readme.txt
* Added functions list.


нормально открывает базы.
Что я делаю не так? :)


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 213
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.06.09 13:32. Заголовок: А Harbour какой у ва..


А Harbour какой у вас ?

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 145
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 30.06.09 13:36. Заголовок: Harbour у нас вот та..


Harbour у нас вот такой:

 цитата:
2009-06-17 00:05 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/contrib/hbwin/axcore.c
! fixed GPF on ActiveX application exit caused by invalid
AtlAxWinTerm() call.
; It's inline function and it does not exists in atl.dll
; MSDN says:
When Do I Need to Call AtlAxWinTerm?

AtlAxWinTerm unregisters the "AtlAxWin7" window class. You should
call this function... If don't call this function, the window class
will be unregistered automatically when the process terminates.
; Thanks Toninho for self contained 3 lines GPF sample without
FWH, gtwvg, etc!


Обновить надо?


Спасибо: 0 
Профиль
Петр
постоянный участник


Пост N: 703
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 30.06.09 14:08. Заголовок: PSP пишет: Обновить..


PSP пишет:

 цитата:
Обновить надо?


Ждать надо. Изменения в ближайшее время будут и в Harbour и я подозреваю, что в LETO.



Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 214
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.06.09 14:08. Заголовок: Обновить надо? Нет..



 цитата:
Обновить надо?


Нет, лучше не надо. Сегодня там были изменения в структуре RDD, которые я еще не отразил в letodb.

А примерчик, который рушит letodb, можно ? А то у меня тут, вроде, все в порядке.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 146
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 30.06.09 14:57. Заголовок: Примерчик: REQUEST ..


Примерчик:

REQUEST HB_GT_WVT
REQUEST HB_GT_WVT_DEFAULT
REQUEST HB_CODEPAGE_RU866
REQUEST LETO




PROCEDURE Main


CLS

HB_SetCodePage( "RU866" )
RDDSETDEFAULT( "LETO" )

? Leto_File( "//192.168.1.100:2812/TEMP/Tov.dbf" )
WAIT

QUIT


Leto_File() возвращает .F., причем после паузы 2-3 секунды. Пример нормально завершается, а процесс letodb.exe на сервере слетает.

ЗЫ: я в начале написал "открыть базы". Прошу прощения за введение в заблуждение. До открытия дело не доходит.


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 147
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 30.06.09 15:07. Заголовок: ЗЫЗЫ: попытка открыт..


ЗЫЗЫ: попытка открытия приводит к тому же эффекту.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 215
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.06.09 15:48. Заголовок: Странно. У меня ниче..


Странно. У меня ничего подобного не наблюдается. Впрочем, у меня Harbour от сентября прошлого года. Попробую со свежим.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 148
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 30.06.09 15:54. Заголовок: Ok. Спасибо...


Ok. Спасибо.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 216
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.06.09 19:23. Заголовок: Попробовал со свежим..


Попробовал со свежим - все в порядке...
А чем вы строите letodb, каким bat'ником ?

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 149
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.07.09 09:04. Заголовок: Батник make_b32.bat...


Батник make_b32.bat.
Поищу еще у себя грабли. Спасибо.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 150
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.07.09 09:57. Заголовок: Вопрос закрыт. Грабл..


Вопрос закрыт.
Грабли у меня. Причина оказалась в сборке Harbour.
Нашел у себя исходники на 5 дней старше, чем использовал.
Пересобрал harbour из них и пересобрал letodb.
Все работает.
Еще раз спасибо и прошу извинить за беспокойство.


Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 26
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 03.07.09 06:53. Заголовок: Доброе утро. Как раб..


Доброе утро. Как работает ф/я RECNO() в LETODB? У меня возвращает 0.....


FUNCTION MAIN
LOCAL i,j,cPath := "//127.0.0.1:2812/"
REQUEST LETO
RDDSETDEFAULT( "LETO" )
DBCREATE(cPath+'Test1',{{'DOK','N',10,0},{'KOK','C',100,0}})
USE ( cPath+'Test1' ) NEW Alias File1
INDEX ON STR(Dok,10) TO ( cPath+'Test1_0' )
Index On KOK To ( cPath+'Test1_1' )
Set Index To ( cPath+'Test1_0' ),( cPath+'Test1_1' )
For I =1 To 1000
Append Blank
Repl Dok With i,Kok With StrZero(I,6)
?Recno()
inkey(0)
Next


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 227
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.07.09 09:58. Заголовок: Исправлю. Пока может..


Исправлю. Пока можете после

Append Blank
Repl Dok With i,Kok With StrZero(I,6)

поставить COMMIT, будет правильно работать.


Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 27
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 03.07.09 10:17. Заголовок: Александр, ОК... Где..


Александр, ОК... Где потом забрать LETODB?
Спасибо, по тэгам еще не разбирался....


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 229
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 03.07.09 11:49. Заголовок: С CVS. Подробнее - н..


С CVS. Подробнее - на http://kresin.belgorod.su/rus/hrbfaq.html, только вместо harbour-project
, harbour в батник надо ставить letodb.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 152
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.07.09 15:15. Заголовок: Александр, я снова к..


Александр, я снова к Вам... :)
Не могу собрать утилиту Manage.exe из LetoDB, потому что
не собирается HwGUI:

 цитата:

MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
bcc32 -c -Iinclude;J:\Job\MiniGUI\Harbour\include -5 -6 -d -D__WIN32__ -g255 -oobj\b32\draw.obj source\draw.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
source\draw.c:
Warning W8075 source\draw.c 730: Suspicious pointer conversion in function HB_FUN_OPENIMAGE
Error E2227 source\draw.c 917: Extra parameter in call to hb_storni in function HB_FUN_INFLATERECT
Error E2227 source\draw.c 918: Extra parameter in call to hb_storni in function HB_FUN_INFLATERECT
Error E2227 source\draw.c 919: Extra parameter in call to hb_storni in function HB_FUN_INFLATERECT
Error E2227 source\draw.c 920: Extra parameter in call to hb_storni in function HB_FUN_INFLATERECT
Error E2227 source\draw.c 955: Extra parameter in call to hb_storni in function HB_FUN_OFFSETRECT
Error E2227 source\draw.c 956: Extra parameter in call to hb_storni in function HB_FUN_OFFSETRECT
Error E2227 source\draw.c 957: Extra parameter in call to hb_storni in function HB_FUN_OFFSETRECT
Error E2227 source\draw.c 958: Extra parameter in call to hb_storni in function HB_FUN_OFFSETRECT
*** 8 errors in Compile ***

** error 1 ** deleting obj\b32\draw.obj



Я посмотрел Changelog к Harbour и увидел:

 цитата:
2009-06-20 22:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
* harbour/source/vm/extend.c
* renamed existing hb_par*() and hb_stor*() functions which supports
variable number of parameters (...) into hb_parv*() and hb_storv*()
* added new hb_par*() and hb_stor*() functions which use strict number
of parameters. New hb_par*() functions do not make hidden conversion
between types, f.e. hb_parl() returns 1 only for logical parameters
which contain .T.



Но Вы уже, видимо, в курсе... :)

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 154
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.07.09 15:50. Заголовок: И еще: в nightly-sou..


И еще: в nightly-sources в файле make_gnu.bat в строке 40, имхо, неточность.
Есть

 цитата:
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib\%HB_ARCHITECTURE%\%HB_COMPILER%


и библиотеки оказываются в папке, к примеру, harbour\lib\win\bcc вместо harbour\lib. Приходится руками переносить.
Надо (имхо)

 цитата:
if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=%HB_INSTALL_PREFIX%\lib




Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 231
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.07.09 16:19. Заголовок: Не могу собрать утил..



 цитата:
Не могу собрать утилиту Manage.exe из LetoDB, потому что
не собирается HwGUI:


Обновите HwGUI, это уже исправлено:
2009-06-29 15:20 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 232
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.07.09 16:23. Заголовок: И еще: в nightly-sou..



 цитата:
И еще: в nightly-sources в файле make_gnu.bat в строке 40, имхо, неточность.


Это не bug, это feature :). Некто Viktor Szakats решил, что так лучше. Определенная логика здесь есть, т.к. это позволяет хранить наборы библиотек для разных компиляторов.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 155
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.07.09 16:58. Заголовок: alkresin пишет: Обн..


alkresin пишет:

 цитата:
Обновите HwGUI, это уже исправлено:


Спасибо. Меня ввела в заблуждение дата архива hwgui-2.17.src.zip на Sourceforge.net - Sat Oct 11 2008 01:05
Загрузил c CVS.


 цитата:
Это не bug, это feature :). Некто Viktor Szakats решил, что так лучше. Определенная логика здесь есть, т.к. это позволяет хранить наборы библиотек для разных компиляторов.


В этом смысле - да, логично. :)
Ладно, будем копировать. :)
Спасибо.

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 28
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 06.07.09 07:38. Заголовок: Александр, поставил ..


Александр, поставил COMMIT / DbCommit() - тормозит......
Исправления готовы?
Спасибо....

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 233
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.07.09 07:45. Заголовок: Исправления готовы? ..



 цитата:
Исправления готовы?
Спасибо....


Да.

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 29
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 06.07.09 14:11. Заголовок: Александр. сегодня н..


Александр. сегодня несколько раз пытался скачать BISON & Flex - ошибка ERROR 404 прискачивании.
Архив harbour2.0.0-beta1-win.exe - вылетает по ошибке "неожиданный конец архива"? LETODB - так же не смог скачать....

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 236
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.07.09 12:57. Заголовок: Александр. сегодня н..



 цитата:
Александр. сегодня несколько раз пытался скачать BISON & Flex - ошибка ERROR 404 прискачивании.


А они уже давно не нужны для построения Harbour.

 цитата:
Архив harbour2.0.0-beta1-win.exe - вылетает по ошибке "неожиданный конец архива"? LETODB - так же не смог скачать....


Может, на Sourceforge временные проблемыю Попробуйте еще.

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 30
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 16.07.09 05:40. Заголовок: Скачал обновленный x..


Скачал обновленный xHarbour (xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6476)
при запуске MAKE_B32.BAT в LETODB от 01/06/2009 (2008-01-31 17:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su)

make_b32.bat
@echo off
if "%1" == "clean" goto CLEAN
if "%1" == "CLEAN" goto CLEAN

if not exist lib md lib
if not exist obj md obj
if not exist obj\b32 md obj\b32
:BUILD

SET HB_PATH=C:\xHARBOUR


make -l EXE_OBJ_DIR=obj\b32\bin OBJ_DIR=obj\b32 -fmakefile.bc %1 %2 %3 > make_b32.log
if errorlevel 1 goto BUILD_ERR
copy lib\rddleto.lib %HB_PATH%\lib\rddleto.lib
:BUILD_OK

goto EXIT

:BUILD_ERR

notepad make_b32.log
goto EXIT

:CLEAN
del bin\*.exe
del bin\*.tds
del lib\*.lib
del lib\*.bak
del obj\b32\*.obj
del obj\b32\*.c

del make_b32.log

goto EXIT

:EXIT

появляются следующие ошибки:
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
bcc32 -c -Iinclude;C:\xHARBOUR\include -d -tWM -D__WIN32__ -D__WIN_DAEMON__ -oobj\b32\leto1.obj source\client\leto1.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
source\client\leto1.c:
Error E2451 source\client\leto1.c 337: Undefined symbol '_POSIX_PATH_MAX' in function leto_ConnectionNew
Error E2451 source\client\leto1.c 873: Undefined symbol '_POSIX_PATH_MAX' in function ParseTagInfo
Error E2451 source\client\leto1.c 2357: Undefined symbol '_POSIX_PATH_MAX' in function letoCreate
Error E2451 source\client\leto1.c 2540: Undefined symbol '_POSIX_PATH_MAX' in function letoOpen
Error E2451 source\client\leto1.c 2899: Undefined symbol '_POSIX_PATH_MAX' in function letoOrderListAdd
*** 5 errors in Compile ***

PS. в версии xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406) и LETODB (01/06/2009 (2008-01-31 17:00 UTC+0300 Alexander Kresin (alex/at/belacy.belgorod.su) удалось собрать LETODB.exe и RDDLETO.Lib

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1190
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.07.09 08:12. Заголовок: Надо обновить letodb..


Надо обновить letodb. Уже учтено это изменение в xHarbour

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 31
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 16.07.09 11:57. Заголовок: Pasha, качаю по адре..


Pasha, качаю по адресу http://sourceforge.net/projects/letodb/files/source/letodb-0.8.src.zip/download - или какой-нибудь другой адрес.... Спасибо.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1193
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.07.09 12:50. Заголовок: Архив был сделан до ..


Архив был сделан до этих изменений

Надо либо настроить CVS-клиента, как - см.

http://sourceforge.net/projects/letodb/develop

либо на этой же страничке зайти в browse code, и скачать

include/funcleto.h


Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 32
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 16.07.09 13:59. Заголовок: спасибо, попробую..


спасибо, попробую

Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 33
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 17.07.09 04:21. Заголовок: Pasha, доброе утро....


Pasha, доброе утро....
Скачал include/funcleto.h
Запустил Make_B32.bat - результат:

MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
bcc32 -c -Iinclude;C:\xHARBOUR\include -d -tWM -D__WIN32__ -D__WIN_DAEMON__ -oobj\b32\leto1.obj source\client\leto1.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
source\client\leto1.c:
bcc32 -c -Iinclude;C:\xHARBOUR\include -d -tWM -D__WIN32__ -D__WIN_DAEMON__ -oobj\b32\letomgmn.obj source\client\letomgmn.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
source\client\letomgmn.c:
bcc32 -c -Iinclude;C:\xHARBOUR\include -d -tWM -D__WIN32__ -D__WIN_DAEMON__ -oobj\b32\common_c.obj source\common\common_c.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
source\common\common_c.c:
Error E2356 source\common\common_c.c 81: Type mismatch in redeclaration of 'leto_writelog'
Error E2344 include\funcleto.h 101: Earlier declaration of 'leto_writelog'
Error E2356 source\common\common_c.c 133: Type mismatch in redeclaration of 'leto_b2n'
Error E2344 include\funcleto.h 98: Earlier declaration of 'leto_b2n'
Error E2356 source\common\common_c.c 147: Type mismatch in redeclaration of 'leto_n2b'
Error E2344 include\funcleto.h 97: Earlier declaration of 'leto_n2b'
Error E2356 source\common\common_c.c 162: Type mismatch in redeclaration of 'leto_AddLen'
Error E2344 include\funcleto.h 99: Earlier declaration of 'leto_AddLen'
Error E2356 source\common\common_c.c 204: Type mismatch in redeclaration of 'leto_BagCheck'
Error E2344 include\funcleto.h 100: Earlier declaration of 'leto_BagCheck'
Error E2356 source\common\common_c.c 240: Type mismatch in redeclaration of 'leto_byte2hexchar'
Error E2344 include\funcleto.h 104: Earlier declaration of 'leto_byte2hexchar'
Error E2356 source\common\common_c.c 253: Type mismatch in redeclaration of 'leto_hexchar2byte'
Error E2344 include\funcleto.h 105: Earlier declaration of 'leto_hexchar2byte'
*** 14 errors in Compile ***

PS:Отпуск до 3/08/2009.....

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1194
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 17.07.09 08:19. Заголовок: Oskar_Aa пишет: Pas..


Oskar_Aa пишет:

 цитата:
Pasha, доброе утро....
Скачал include/funcleto.h



Теперь funcleto.h не соответствует остальным сырцам
Надо полностью обновить letodb

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 161
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 13.08.09 15:12. Заголовок: Небольшой баг в утил..


Небольшой баг в утилите manage.exe:
если адрес сервера ввести руками, а не выбирать из списка, получаем:

 цитата:

Error BASE/1132 Bound error: array access
Called from GOCONNECT(157)
Called from (b)MAIN(92)
Called from HBUTTON:ONCLICK(860)
Called from (b)HBUTTON_NEW(770)
Called from ONCOMMAND(512)
Called from (b)(_INITSTATICS00003)(0)
Called from HCONTROL:ONEVENT(226)
Called from HPANEL:ONEVENT(105)
Called from HWG_ACTIVATEMAINWINDOW(0)
Called from HMAINWINDOW:ACTIVATE(341)
Called from MAIN(115)

HwGUI 2.17 Harbour 2.0.0beta2 (Rev. 11977)
Date:08/13/09
Time:16:09:21


Имхо, просто переменная oApp:nItemCurr в этот момент == 0.
Если выбирать из списка - всё гуд.


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 162
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 15.08.09 10:48. Заголовок: И исчо: http://s39.r..


И исчо:


Спасибо: 0 
Профиль
Oskar_Aa



Пост N: 34
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 09.09.09 10:46. Заголовок: Добрый день, вопрос ..


Добрый день, вопрос разработчикам - когда выйдет обновленный релиз LETODB (совместимый с xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6476)???
Спасибо.

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 9
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 09.10.09 18:13. Заголовок: Привет В настоящий ..


Привет

В настоящий момент LetoDB развивается или уже заброшен?


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 171
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.10.09 20:19. Заголовок: alx_on пишет: В нас..


alx_on пишет:

 цитата:
В настоящий момент LetoDB развивается или уже заброшен?

В настоящий момент LetoDB стабильно работает! :)

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 10
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 11.10.09 10:00. Заголовок: PSP пишет: В настоя..


PSP пишет:

 цитата:
В настоящий момент LetoDB стабильно работает! :)



Если использовать минимум функционала и для небольшого проекта, то да
Я за два дня УЖЕ исправил несколько ошибок
1. SEEK, GO TOP (как и GO BOTTOM) не учитывает SCOPE (нижнюю или верхнюю)
2. DbAppend, DbRLock() не учитывают FLOCK
3. DbRLock() не снимает предыдущие блокировки В итоге все блокировки остаются и плюс все операции начинают тормозить (список блокированных записей становится огромным)

еще что то...

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 11
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 12.10.09 08:51. Заголовок: PSP Кстати, как вп..


PSP

Кстати, как впечатления от работы?

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 173
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 12.10.09 09:19. Заголовок: Серьезных багов я не..


Серьезных багов я не встретил. Меня устраивает. :)
То, что Вы написали выше, я не использую.
Может быть Александр или Паша прокомментируют.

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 12
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 12.10.09 09:51. Заголовок: PSP Сколько у Вас ..


PSP

Сколько у Вас одновременных подключений? Как справляется с нагрузкой?

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 13
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 12.10.09 10:00. Заголовок: Вот мой список испра..


Вот мой список исправлений:

LetoDB (доработки и исправления)
1. DbAppend() сразу исполняется на сервере (плюс проверка на FLock)
2. DbRecordInfo(DBRI_LOCKED,nRecNo) - обрабатывается номер записи (ранее игнорировалось)
3. DbOrderInfo() - падало в отсутствии индекса
4. OrdCount() - теперь работает
5. Блокировки (dbrlock, flock) теперь учитывают FLock() другого пользователя
6. SEEK, DbGOTOP, DbGoBottom учитывают установленные scope

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1210
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.10.09 10:14. Заголовок: alx_on пишет: Вот м..


alx_on пишет:

 цитата:
Вот мой список исправлений:

LetoDB (доработки и исправления)
1. DbAppend() сразу исполняется на сервере (плюс проверка на FLock)
2. DbRecordInfo(DBRI_LOCKED,nRecNo) - обрабатывается номер записи (ранее игнорировалось)
3. DbOrderInfo() - падало в отсутствии индекса
4. OrdCount() - теперь работает
5. Блокировки (dbrlock, flock) теперь учитывают FLock() другого пользователя
6. SEEK, DbGOTOP, DbGoBottom учитывают установленные scope



Если можно, пришлите мне (на tpe2 (гав) mail . ru ) ваши исправления, я их сброшу на CVS
И напишите, как вас назвать в Changelog

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 174
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 12.10.09 10:20. Заголовок: alx_on пишет: Сколь..


alx_on пишет:

 цитата:
Сколько у Вас одновременных подключений? Как справляется с нагрузкой?


Проект пока маленький. Максимум 10 пользователей. Задержек не наблюдается.

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 14
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 12.10.09 12:08. Заголовок: Pasha пишет: Если м..


Pasha пишет:

 цитата:
Если можно, пришлите мне (на tpe2 (гав) mail . ru ) ваши исправления, я их сброшу на CVS



В каком виде отдать? (или включите в разработчики для самостоятельного выкладывания, раз никто проектом больше не занимается)

PSP пишет:

 цитата:
Максимум 10 пользователе



У нас 50 (доходит до 100 одновременно) :)


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1211
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.10.09 14:21. Заголовок: alx_on пишет: В как..


alx_on пишет:

 цитата:
В каком виде отдать? (или включите в разработчики для самостоятельного выкладывания, раз никто проектом больше не занимается)



Администратор проекта - Александр, если есть желание поучавствовать - надо связяться с ним. Только он может добавить в список разработчиков и дать права на запись. Это только приветствуется.
А так я просто обновлю исходники на CVS, и напишу, что это ваши правки

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 15
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 13.10.09 16:09. Заголовок: Pasha отправил пись..


Pasha
отправил письмо

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 16
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 15.10.09 10:59. Заголовок: Меня сейчас смущают ..


Меня сейчас смущают несколько моментов
1. Realtions - в подчиненной базе не обновляется RECNO() (при этом OrdKeyNo правильный и запись позиционируется тоже вроде бы верно)
2. Долгие операции (на сервере), например, оптимизированный фильтр на большой базе, блокируют остальные операции (для пользователя складывается ощущение, что все зависло). Я даже думаю - не сделать ли опцию в letodb.ini для выключения оптимизации фильтров
3. DbRLockList - не работает (в принципе, не сильно важно)
4. DbRLock() - не снимает предыдущие блокировки (может поправлю сам)
5. Если индексы открываются автоматически (SET_AUTOPEN==.T.) - то установка SCOPE игнорируется (клиентская часть не информируется об открытии индексов?)

PS Александр Кресин забросил проект?

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 17
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 17.10.09 10:45. Заголовок: Pasha Добавил обра..


Pasha

Добавил обработку OrdKeyGoto()
Файлы выслал

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1212
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 18.10.09 12:47. Заголовок: alx_on пишет: Добав..


alx_on пишет:

 цитата:
Добавил обработку OrdKeyGoto()
Файлы выслал



Спасибо. Отправил все на CVS

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 239
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.10.09 10:35. Заголовок: alx_on пишет: 2. До..


alx_on пишет:

 цитата:
2. Долгие операции (на сервере), например, оптимизированный фильтр на большой базе, блокируют остальные операции (для пользователя складывается ощущение, что все зависло). Я даже думаю - не сделать ли опцию в letodb.ini для выключения оптимизации фильтров


А что такое оптимизированный фильтр и как он реализован в letodb ?

 цитата:
PS Александр Кресин забросил проект?


Нет, не забросил. Просто иногда резко ограничиваю Интернет-активность, последнее время, к сожалению, все чаще и чаще.

По поводу ваших изменений. Я категорически не согласен с тем, что dbAppend() стал сразу выполняться на сервере. Задержка его исполнения была сделана специально, чтобы ускорить добавление записи. В вашем варианте при обычной процедуре добавления:

append blank
replace ...
commit ( , или unlock, или следующий append blank )

требуется отправить 2 команды, в то время как при старом варианте - одну.


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1213
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.10.09 13:26. Заголовок: alkresin пишет: Я к..


alkresin пишет:

 цитата:
Я категорически не согласен с тем, что dbAppend() стал сразу выполняться на сервере.



Я верну этот изменение назад. Думаю, проверку FilLock надо делать при вызове neterr()

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 240
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.10.09 14:26. Заголовок: Думаю, проверку FilL..



 цитата:
Думаю, проверку FilLock надо делать при вызове neterr()


Не могу ничего пока сказать по этому поводу. Я не использую Flock() и поэтому не знаю нюансы, связанные с его использованием. До недавнего времени я полагал, что это то же, что открыть файл в exlusive mode, и был очень удивлен, когда узнал, что это не так :).

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1214
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.10.09 16:04. Заголовок: Смотрим NG. NetErr()..


Смотрим NG. NetErr() возвращает .t. в таких ситуациях:

USE USE EXCLUSIVE by another process
USE...EXCLUSIVE USE EXCLUSIVE or USE by another process
APPEND BLANK FLOCK() or RLOCK() of LASTREC() + 1 by another user

т.е., для letodb neterr() должен посылать запрос на сервер на предмет блокировок. В этом случае все равно получится 2 запроса при dbAppend: на neterr и commit. Но, если пользователь уверен, что FLock() не используется, он может не выдавать NetErr()

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 18
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 23.10.09 16:31. Заголовок: alkresin пишет: А ..


alkresin пишет:


 цитата:
А что такое оптимизированный фильтр и как он реализован в letodb ?


Интересный вопрос :)
Есть несложная проверка фильтра, по результату letoDB может сама на сервере отфильтровывать записи (по типу ADS), например:
Простой фильтр - клиент сам проверяет выражение фильтра на каждой записи
Оптимизированный - фильтр ставится на сервере


 цитата:
требуется отправить 2 команды, в то время как при старом варианте - одну


Возьмем самый простой пример:
1. (1) клиент вызвал FLock()
2. (2) клиент сделал dbappend() (успешно, ему ничего не помешало, на сервер ничего не ушло, запись НЕ заблокировалась, ошибки не произошло)
теперь оба клиента уверены, что у них все хорошо
чем это кончится в итоге я предсказать не берусь (в сложных вариантах непредсказуемые глюки в данных)

Pasha пишет:

 цитата:
Думаю, проверку FilLock надо делать при вызове neterr()


Поменяем пример выше: первым было сделан dbappend(). Та же проблема в профиль

Я считаю, что если необходимы быстрые dbappend (не используется FLock) - можно сделать некую настройку (при компиляции или в рантайме)
Или блокировать FLock'ом (в этом случае, например, можно сделать быстрые dbappend)

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 19
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 23.10.09 16:41. Заголовок: Pasha пишет: Но, ес..


Pasha пишет:

 цитата:
Но, если пользователь уверен, что FLock() не используется, он может не выдавать NetErr()


Существуют и другие ошибки при добавлении записи (например, место на диске кончилось, сеть тоже кончилась:) и т.д.)

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 241
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.10.09 14:24. Заголовок: alx_on пишет: Прост..


alx_on пишет:

 цитата:
Простой фильтр - клиент сам проверяет выражение фильтра на каждой записи
Оптимизированный - фильтр ставится на сервере


А, ну да, точно ... Просто есть какие-то еще оптимизированные фильтры в некоторых RDD - я подумал, что вы о них.

 цитата:
1. (1) клиент вызвал FLock()
2. (2) клиент сделал dbappend() (успешно, ему ничего не помешало, на сервер ничего не ушло, запись НЕ заблокировалась, ошибки не произошло)
теперь оба клиента уверены, что у них все хорошо


Не уверены. При реальном добавлении записи на сервере произойдет ошибка, клиенту будет послан соответствующий ответ и его программа ( если не стоит BEGIN SEQUENCE ... ) аварийно завершится.
Но, конечно, проверка на NetErr() лучше, чем аварийное завершение.

 цитата:
Я считаю, что если необходимы быстрые dbappend (не используется FLock) - можно сделать некую настройку (при компиляции или в рантайме)


Согласен. Именно в runtime - какую-нибудь SetAppendMode(). Но чтоб прежний вариант ( быстрый ) стоял по умолчанию :)

 цитата:
Существуют и другие ошибки при добавлении записи (например, место на диске кончилось, сеть тоже кончилась:) и т.д.)


А вот при такого рода проблемах аварийное завершение, которое произойдет сразу после попытки записать добавленную запись на сервер, - это нормально.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 242
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.10.09 14:34. Заголовок: Pasha пишет: т.е., ..


Pasha пишет:

 цитата:
т.е., для letodb neterr() должен посылать запрос на сервер на предмет блокировок. В этом случае все равно получится 2 запроса при dbAppend: на neterr и commit. Но, если пользователь уверен, что FLock() не используется, он может не выдавать NetErr()


Нет, пусть уж лучше dbAppend() посылается сразу на сервер и получает ответ, на основе которого можно выставить флаг для NetErr(). Но только при SetAppendMode( .t. )

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 20
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 26.10.09 15:28. Заголовок: alkresin пишет: Не ..


alkresin пишет:

 цитата:
Не уверены. При реальном добавлении записи на сервере произойдет ошибка, клиенту будет послан соответствующий ответ и его программа ( если не стоит BEGIN SEQUENCE ... ) аварийно завершится.


Это в случае, если не успели снять flock :)

 цитата:
Но только при SetAppendMode( .t. )


Годится
PS можете меня включить в список доступа на обновление letodb? :)

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 243
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.10.09 15:33. Заголовок: Это в случае, если н..



 цитата:
Это в случае, если не успели снять flock :)


А если успели, то запись успешно добавится.


 цитата:
PS можете меня включить в список доступа на обновление letodb?


Какой у вас логин на Sourceforge ?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 244
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.10.09 15:36. Заголовок: По поводу последних исправлений


Pasha,

а зачем вы в manage.prg изменили путь к rddleto.ch ? Оно ж так компилироваться не будет ...

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 21
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 26.10.09 16:07. Заголовок: alkresin пишет: Как..


alkresin пишет:

 цитата:
Какой у вас логин на Sourceforge ?


aokhotnikov


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1215
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.10.09 16:22. Заголовок: alkresin пишет: а з..


alkresin пишет:

 цитата:
а зачем вы в manage.prg изменили путь к rddleto.ch ? Оно ж так компилироваться не будет ...



Мне прислали это изменение Przemek'a для сборки с текущим Harbour SVN. Наверное, он собирал с помощью hbmk2. Если собирать через bld.bat, то действительно не скомпилируется

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 245
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.10.09 17:02. Заголовок: alx_on пишет: aokho..


alx_on пишет:

 цитата:
aokhotnikov


Добавлен.

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 22
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 26.10.09 17:45. Заголовок: alkresin пишет: До..


alkresin пишет:

 цитата:
Добавлен


спасибо

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 181
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 16.11.09 13:39. Заголовок: Чё-та у меня DBOrder..


Чё-та у меня DBOrderInfo( DBOI_NUMBER, , cOrdName ) кажись косячит при работе с RDDLETO.
Если указать в cOrdName существующее имя ордера, она возвращает его номер в списке ордеров правильно.
Если же в cOrdName указать несуществующий ордер, функция возвращает число, равное количеству ордеров в файле.
С OrdNumber() та же песня.

А вот с RDDCDX при несуществующем cOrdName, обе функции возвращают 0.

Как быть? Если можно, проверьте, плизззз...


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1229
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.11.09 15:38. Заголовок: PSP пишет: Как быть..


PSP пишет:

 цитата:
Как быть? Если можно, проверьте, плизззз...



В source\client\leto1.c вместо

case DBOI_NUMBER:
{
hb_itemPutNI( pOrderInfo->itmResult, uiTag );
break;
}

надо поставить

case DBOI_NUMBER:
{
hb_itemPutNI( pOrderInfo->itmResult, (pTagInfo) ? uiTag : 0 );
break;
}

я поправлю на cvs

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 182
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 16.11.09 19:44. Заголовок: Паша, большое спасиб..


Паша, большое спасибо!
It works!

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 187
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 25.11.09 12:37. Заголовок: alx_on пишет: DbRLo..


alx_on пишет:

 цитата:
DbRLockList - не работает (в принципе, не сильно важно)


Скажите, а нельзя ли сделать, чтобы заработало? Понадобилась... :)

Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 24
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 25.11.09 13:30. Заголовок: PSP пишет: Скажите,..


PSP пишет:

 цитата:
Скажите, а нельзя ли сделать, чтобы заработало?


Сделать можно все! :)
А оно надо?

Пример:
заблокировано 10000 записей (обычная ситуация :) )
берем локи
а) с клиента (хорошо, но переделка клиента и двойная работа по учету блокировок)
б) с сервера (плохо, по сети минимум 50Кб на каждый вызов, вроде немного, но разом. а клиент то не один)

Проще у себя сохранять в массиве (или не использовать совсем, а переделать логику программы)

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 188
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 25.11.09 13:37. Заголовок: alx_on пишет: Проще..


alx_on пишет:

 цитата:
Проще у себя сохранять в массиве


Уже так и сделал. Хотел красивее... :)
Спасибо за ответ.


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 215
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 02.12.09 15:30. Заголовок: Ошибка при сборке Le..


Ошибка при сборке Letodb с последними Harbour nightly-sources
Скрытый текст



Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1257
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.12.09 16:08. Заголовок: Ошибка при сборке св..


Ошибка при сборке связана с этим изменением в Harbour:

2009-11-16 17:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapierr.h
* harbour/src/rtl/errint.c
* harbour/src/rtl/errintlo.c
...
* changed ULONG ulIntCode to HB_ERRCODE errCode in internal errors

опять в разных версиях харборов определения одних и тех же функций разнятся :(

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 216
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 02.12.09 17:03. Заголовок: Наверное, лучше подо..


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

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1258
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.12.09 17:25. Заголовок: Ну это изменение наз..


Ну это изменение назад все равно не вернут, так что приводить в соответствие letodb все равно надо

Сделать это просто: в server\errint.c надо заменить определение ULONG ulIntCode на HB_ERRCODE ulIntCode

Только как сделать, чтобы сохранить сборку и с предыдущими версиями, да и с xHarbour, надо подумать

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 217
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 02.12.09 21:47. Заголовок: Pasha пишет: Ну это..


Pasha пишет:

 цитата:
Ну это изменение назад все равно не вернут


Нееее, я не жду, что вернут... :) Я о том, что стоит подождать, пока сделают все изменения.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1274
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 31.12.09 15:34. Заголовок: Отправил изменения д..


Отправил изменения для errint. Теперь, чтобы собрать letodb для Harbour старых версий, надо будет править errint.c

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 232
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.12.09 17:30. Заголовок: Pasha пишет: Отправ..


Pasha пишет:

 цитата:
Отправил изменения для errint. Теперь, чтобы собрать letodb для Harbour старых версий, надо будет править errint.c


Спасибо, Паша.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 238
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.01.10 13:18. Заголовок: Паша, можно еще прос..


Паша, можно еще просьбу? :)
Добавьте, плиз, в letoRddInfo() (из leto1.c) обработку RDDI_ORDBAGEXT, чтобы можно было расширение индексов менять.
Спасибо!


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 239
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.01.10 13:31. Заголовок: Уже не актуально. Со..


Уже не актуально. Сорри.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 246
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.01.10 13:33. Заголовок: Pasha пишет: Теперь..


Pasha пишет:

 цитата:
Теперь, чтобы собрать letodb для Harbour старых версий, надо будет править errint.c


Теперь не надо.
Я для этих целей использую HB_VER_SVNID - очень удобно.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 247
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.01.10 13:44. Заголовок: Посмотрел Changelog,..


Посмотрел Changelog, нашел это:

 цитата:

2009-10-29 19:25 UTC+0300 Alexandr Okhotnikov (alxokhotnikov/at/gmail.com)
* source/client/leto1.c
* source/server/letofunc.c
* Increased the initial allocation of memory (the tables and users)
(for tables - memory reallocation leads to falling letoDB)
...
* Simultaneous launch of client parts led to the fall letoDB
...



Для таблиц я не проверял ( нет у меня столько таблиц :) ), а вот для пользователей - никаких проблем при memory reallocation, так зачем было увеличивать, тем более до 1000 ?

И поподробнее, пожалуйста, про "Simultaneous launch of client parts led to the fall letoDB"


Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 25
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 14.01.10 13:57. Заголовок: alkresin пишет: Для..


alkresin пишет:

 цитата:
Для таблиц я не проверял ( нет у меня столько таблиц :) ), а вот для пользователей - никаких проблем при memory reallocation, так зачем было увеличивать, тем более до 1000 ?


точно не помню, но вроде как тоже падало (тестировалось при 50 и более пользователях)
памяти не много забирает :)

alkresin пишет:

 цитата:
И поподробнее, пожалуйста, про "Simultaneous launch of client parts led to the fall letoDB"


Если (одновременно, в пределах секунд) происходит множество соединений (чай попили и резко запустили, человек десять, например)

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 248
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.01.10 16:44. Заголовок: alx_on пишет: Если ..


alx_on пишет:

 цитата:
Если (одновременно, в пределах секунд) происходит множество соединений (чай попили и резко запустили, человек десять, например)



И это теперь исправлено ? Если да, то что было не так ?

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 1044
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.01.10 21:54. Заголовок: Наверно пора список ..


Наверно пора список ВСЕХ функций выложить...
И примерами новыми поделиться, а то что-то делается, делается, а как пользоваться, то не понятно....


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 249
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.01.10 08:59. Заголовок: Andrey пишет: Навер..


Andrey пишет:

 цитата:
Наверно пора список ВСЕХ функций выложить...


Список всех функций - в readme.txt

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 249
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 15.01.10 09:32. Заголовок: В последней редакции..


В последней редакции ошибки при сборке:

 цитата:

Error E2356 source\server\errint.c 72: Type mismatch in redeclaration of 'hb_errInternalRaw'
Error E2344 J:\Job\Harbour\include\hbapierr.h 171: Earlier declaration of 'hb_errInternalRaw'
Error E2356 source\server\errint.c 102: Type mismatch in redeclaration of 'hb_errInternal'
Error E2344 J:\Job\Harbour\include\hbapierr.h 170: Earlier declaration of 'hb_errInternal'
*** 4 errors in Compile ***


Используется Harbour 2.0.0 (13372).


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 250
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 15.01.10 11:34. Заголовок: Кто-нибудь может про..


Кто-нибудь может проверить, работает ли FLock():
у меня при попытке блокировки с помощью FLock(), она возвращает .T., но не блокирует файл.
DBInfo( DBI_ISFLOCK ) возвращает .F. и все операции блокировок/изменения работают.


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 250
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.01.10 11:54. Заголовок: В последней редакции..



 цитата:
В последней редакции ошибки при сборке:



А HB_VER_SVNID ( см. hbverbld.h ) какой у вас ? 13372 ?

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 251
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 15.01.10 12:55. Заголовок: alkresin пишет: см...


alkresin пишет:

 цитата:
см. hbverbld.h


У меня нет такого файла в Harbour.
Сейчас скачал nightly sources. В них тоже нет.


Спасибо: 0 
Профиль
gfilatov
модератор




Пост N: 1129
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 15.01.10 13:20. Заголовок: PSP пишет: У меня н..


PSP пишет:

 цитата:
У меня нет такого файла в Harbour.


Этот файл автоматически создается при сборке Харбора из сырцов

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 251
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.01.10 14:46. Заголовок: Похоже, HB_VER_SVNID..


Похоже, HB_VER_SVNID работает только для prg, так что придется использовать __HARBOUR__

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 252
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 15.01.10 14:50. Заголовок: Прошу прощения, може..


Прошу прощения, может я торможу...
Собрал из nightly sources. Файла нет.
Я, конечно, могу поставить строку
#define HB_VER_SVNID 13372
в error.c, но хочется с CVS обновления принимать...


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 253
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 15.01.10 14:51. Заголовок: Александр, проверьте..


Александр, проверьте FLock(), пожалуйста.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 252
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.01.10 15:00. Заголовок: PSP пишет: Я, конеч..


PSP пишет:

 цитата:
Я, конечно, могу поставить строку
#define HB_VER_SVNID 13372



Не надо ставить. Я поправил, теперь должно собираться - у меня, во всяком случае, собирается ( Harbour Changelog: 2010-01-14 18:21 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) )

Flock() еще не смотрел, я пока работаю на летней версии letodb, не было времени разбираться с осенне-зимними изменениями.


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 254
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 15.01.10 15:02. Заголовок: Я понял. Спасибо...


alkresin пишет:

 цитата:
теперь должно собираться


Собралось.


 цитата:
Flock() еще не смотрел, я пока работаю на летней версии letodb, не было времени разбираться с осенне-зимними изменениями.


Я понял. Спасибо. Подожду. :)

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 257
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 19.01.10 12:11. Заголовок: Скажите, пожалуйста,..


Скажите, пожалуйста, как это работает в LetoDB?
1. DBAppend( .F. ) и DBAppend()
2. DBRLock( xRec ) и DBRLock()
Имеется в виду, работает ли сохранение существующих блокирововк при вызовах
DBAppend( .F. ) и DBRLock( xRec )?


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 258
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 19.01.10 12:22. Заголовок: И еще. Когда Share_T..


И еще.
Когда Share_Tables = 1, Leto_CommitTransaction() иногда (пока не понял закономерности),
вываливатеся по ошибке: "Ошибка LETO/19727357 Ошибка типа данных: -101"
Тот же самый код при Share_Tables = 0 работает нормально.


Спасибо: 0 
Профиль
alx_on
постоянный участник


Пост N: 26
Зарегистрирован: 07.07.09
ссылка на сообщение  Отправлено: 19.01.10 13:04. Заголовок: PSP пишет: Имеется ..


PSP пишет:

 цитата:
Имеется в виду, работает ли сохранение существующих блокирововк при вызовах
DBAppend( .F. ) и DBRLock( xRec )?


Должно! (по крайней мере, работало в ноябре 2009)

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 259
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 19.01.10 13:13. Заголовок: Т.е. в этом плане &#..


Т.е. в этом плане "все соответствует стандартам"? :)
Значит показалось... :) Проверю еще раз. Спасибо.

Спасибо: 0 
Профиль
spair2k





Пост N: 56
Зарегистрирован: 31.05.07
ссылка на сообщение  Отправлено: 21.01.10 10:43. Заголовок: подскажите пожалуйст..


подскажите пожалуйста...
я пытаюсь собрать сервер на Линхе (Ubuntu 8.04 LTS, xHaroubr 1.20 из DEB пакет взят с сервера xharbour.org) и у меня возникли проблемки.
естественно пришлось переписать make_linux.sh под себя, поскольку описание путей для запуска харбора несколько отличается (спасибо сборщикам пакета).
не это беда. вот что пишется в лог a2.log

Скрытый текст

лезть в исходники я не спец в СИ.
посоветуйте, что делать?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 253
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.01.10 14:21. Заголовок: spair2k пишет: я пы..


spair2k пишет:

 цитата:
я пытаюсь собрать сервер на Линхе (Ubuntu 8.04 LTS, xHaroubr 1.20 из DEB пакет взят с сервера xharbour.org) и у меня возникли проблемки.


Это связано с вашей версией xHarbour. Для Harbour сейчас есть средства автоопределения версии и я стараюсь их использовать, есть ли что-то аналогичное для xHarbour - не знаю.
Поэтому просто откройте include/funcleto.h и раскомментируйте строку 85:
#define __OLDRDD__

Спасибо: 0 
Профиль
spair2k





Пост N: 57
Зарегистрирован: 31.05.07
ссылка на сообщение  Отправлено: 22.01.10 11:30. Заголовок: alkresin пишет: #de..


alkresin пишет:

 цитата:
#define __OLDRDD__


Сделал, попытался собрать, выдало следующее:
Скрытый текст



Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 254
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.01.10 12:34. Заголовок: source/server/server..



 цитата:
source/server/server.prg(105) Error E0025 Error in #if expression


А на строке 105 у вас "#if ( (HB_VER_SVNID - 0) > 11796 )" ?
Если так, похоже что эта версия xHarbour не понимает такие выражения. Тогда просто закомментируйте эту и последующие 2 строчки, вплоть до #endif - все равно они не для xHarbour.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 263
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 23.01.10 16:24. Заголовок: А можно попросить сд..


А можно попросить сделать функцию, которая бы возвращала клиенту системную дату и время компьютера (можно типа DateTime), на котором запущен сервер?

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 264
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 23.01.10 19:10. Заголовок: Как должна работать ..


Как должна работать функция LETO_MILLISEC() ?
Понятно, что подсчет миллисекунд... И, судя по исходникам, подсчет с начала года.
Но у меня возвращает отрицательное число (сейчас что-то типа "-1652863174").
Причем, если вызывать в цикле, число увеличивается (т.е. стремится к нулю).
Такое впечатление, что есть ошибка с типом числовой переменной и происходит отрицательное переполнение.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1296
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.01.10 23:17. Заголовок: Эта функция возвраща..


Эта функция возвращает колличество миллисекунд "от царя панька", т.е. от условной даты, от которой считаются юлианские дни, до текущего момента.
Получается: в сутках 86400000 миллисекунд, сейчас примерно 2500000-й юлианский день, вот результат и вылазит за пределы 32-битного целого
Можно использовать, конечно, 64-битное целое, только я не возьму в толк, зачем такая функция нужна ?


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 266
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 24.01.10 10:59. Заголовок: Pasha пишет: Эта фу..


Pasha пишет:

 цитата:
Эта функция возвращает колличество миллисекунд "от царя панька", т.е. от условной даты, от которой считаются юлианские дни, до текущего момента.


Да, да, да... точно. Там же в исходниках, в коде под Линукс, явно это видно.


 цитата:
зачем такая функция нужна ?


Мне нужна не имеено эта функция. Мне нужно брать дату и время (точнее, уникальный временной отпечаток, TimeStamp) для всех клиентов из одного источника (чтобы соблюдалась четкая временная последовательность операций). Мне не приходит в голову ничего лучшего, чем компьютер, где запущен сервер LetoDB. Как оттуда взять время? Вот я и стал рыться, искать. Нашел LETO_MILLISEC().
Паш, а можно ее подправить или сделать другую, которая возвратит переменную типа DateTime (yyyymmddhhmmssccc), а?
Заранее спасибо.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1301
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.01.10 11:14. Заголовок: Понятно Но LETO_MILL..


Понятно
Но LETO_MILLISEC() выпоняется локально, так что нужное время она не вернет
Функция leto_MgGetInfo() возвращает информацию с сервера, и 5-й элемент массива-результата - как раз время, прошедшее с момента запуска сервера.
Это подойдет ?

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 267
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 24.01.10 11:23. Заголовок: Pasha пишет: Это по..


Pasha пишет:

 цитата:
Это подойдет ?


Если сервер перезагрузить, отсчет пойдет сначала? Если да, то не подходит.
Вполне подошло бы системное время... :)
Может можно в Leto_MgGetInfo() еще один эдемент добавить?
Извините за навязчивость... Спасибо.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1302
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.01.10 14:08. Заголовок: Может быть есть друг..


Может быть есть другой вариант, получать время сервера по протоколу NTP, подскажите, кто знает, как это сделать
Если это делать средствами letodb (c точностю до миллисекунд), то это делается так:

source\server\letofunc.c, строка 3736:

sprintf( s,"+%d;%d;%d;%d;%lu;%lu;%lu;%lu;%u;%u;%s;%7.3f;%7.3f;%lu;%lu;%lu;%9.3f;",
uiUsersCurr,uiUsersMax,uiTablesCurr,uiTablesMax,
(leto_Date()-lStartDate)*86400+(long)(dCurrent-dStartsec),
ulOperations,ulBytesSent,ulBytesRead,uiIndexCurr,uiIndexMax,
(pDataPath ? pDataPath : ""),dMaxDayWait,(ulWait)? dWait/ulWait : 0,
ulTransAll,ulTransOK, leto_Date(), dCurrent );


source\client\letomgmn.c, со строки 289:
aInfo = hb_itemArrayNew( 17 );
for( i=1; i<=17; i++ )

16-й и 17-й элемент массива будут соответственно дата (Long) и время: целая часть - секунды, дробная часть - миллисекунды после полуночи
Если Александр не против, можно это сбросить на CVS


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 268
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 24.01.10 14:31. Заголовок: Паш, огромное спасиб..


Паш, огромное спасибо! :) Выручил.


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 269
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 24.01.10 16:22. Заголовок: Pasha пишет: Если А..


Pasha пишет:

 цитата:
Если Александр не против, можно это сбросить на CVS


Александр, Вы же не против?
Имхо, пригодится.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 270
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 24.01.10 16:34. Заголовок: Народ, я еще вас пом..


Народ, я еще вас помучаю слегка, ок?

Речь о блокировках при работе с транзакциями.
Если при активной транзакции снять блокировку(ки),
то она(и) успешно снимаются, не дожидаясь выполнения
Leto_CommitTransaction(). Соответственно, когда наступает
очередь Leto_CommitTransaction(), прога вываливается по
ошибке из-за попытки писать в незаблокированную запись.
Это фича или баг? По идее-то все действия, производимые
с базой после Leto_BeginTransaction(), должны делаться в
Leto_CommitTransaction() или я не прав?


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 271
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 26.01.10 11:02. Заголовок: PSP пишет: Речь о б..


PSP пишет:

 цитата:
Речь о блокировках при работе с транзакциями.
Если при активной транзакции снять блокировку(ки),
то она(и) успешно снимаются, не дожидаясь выполнения
Leto_CommitTransaction(). Соответственно, когда наступает
очередь Leto_CommitTransaction(), прога вываливается по
ошибке из-за попытки писать в незаблокированную запись.
Это фича или баг? По идее-то все действия, производимые
с базой после Leto_BeginTransaction(), должны делаться в
Leto_CommitTransaction() или я не прав?


Неужто никто не расскажет?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1308
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.01.10 12:04. Заголовок: Транзакции делал Але..


Транзакции делал Александр. Попробуйте написать ему напрямую

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 272
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 26.01.10 17:44. Заголовок: Pasha пишет: Транза..


Pasha пишет:

 цитата:
Транзакции делал Александр. Попробуйте написать ему напрямую


Спасибо.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 257
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.01.10 10:01. Заголовок: Речь о блокировках п..



 цитата:
Речь о блокировках при работе с транзакциями.


Повторю здесь то, что писал Сергею по email.


 цитата:
Если при активной транзакции снять блокировку(ки),
то она(и) успешно снимаются, не дожидаясь выполнения
Leto_CommitTransaction().


При попытке разблокировке записи во время транзакции должна выскочить ошибка "LETO/1031 Syntax Error".

 цитата:
По идее-то все действия, производимые
с базой после Leto_BeginTransaction(), должны делаться в
Leto_CommitTransaction() или я не прав?


Не все, а только добавление, удаление, модификация записи. Некоторые операции вообще запрещены во время транзакции, в том числе и снятие блокировки.
Кстати, если вызвать Leto_CommitTransaction( .t. ) вот так, с параметром .t., все записи будут по ее окончании разблокированы автоматически.

...
Я взял за основу рекомендации из руководства к ADS:

File locks and/or record locks must be acquired on data before it can
be updated. Once data locks are acquired, they are maintained
throughout the entire transaction to ensure that the updates can be
made to the database during the commit of the transaction. Record and
file locking is best performed before a transaction begins. If an
update needs to be made to a record in order to complete the
transaction, and the lock operation on that record is attempted during
the transaction and is unsuccessful, the corresponding update cannot
be performed. The application will most likely need to roll back the
transaction. All previous update and insert operations performed prior
to the failed data lock will be rolled back due to poor transaction
programming. If all explicit data locks are acquired before a
transaction begins, unnecessary rollbacks will be prevented.

Explicit data locking during a transaction is not recommended, but
is supported. Some data locking behavioral differences exist when
data locks are performed during a transaction. Review the
"Advantage TPS Special Conditions" section if data locking must be
done during a transaction.

Хотя здесь не запрещается категорически блокировать записи во время транзакции и ничего не говорится про деблокирование, но логика ясна и, мне кажется, разумна:

1. Подготовка транзакции: блокировки, сбор данных для последующей записи;
2. Осуществление транзакции;
3. Деблокировка.

Такая последовательность обеспечивает успешное проведение транзакции, практически гарантирует, что она будет вся осуществлена.

....
А как вам вот такой вариант ( я давно подумывал о нем, но все руки не доходят, да и практической необходимости не было ):

Добавить в Leto_BeginTransaction() параметр, котрый определяет эту транзакцию, как "автоблокировочную" - т.е. все необходимые блокировки делаются сервером при выполнении Leto_CommitTransaction(). Это повышает риск неудачного завершения транзакции, теперь надо обязательно проверять код возврата Leto_CommitTransaction() и повторять ее в случае неудачи, но упрощает подготовку к транзакции и заметно ускоряет ее.


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 258
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.01.10 10:15. Заголовок: Pasha пишет: ... 16..


Pasha пишет:

 цитата:
... 16-й и 17-й элемент массива будут соответственно дата (Long) и время: целая часть - секунды, дробная часть - миллисекунды после полуночи
Если Александр не против, можно это сбросить на CVS



Мне кажется, что лучше это сделать отдельной функцией, что-то вроде:

HB_FUNC( LETO_MGGETTIME )
{
if( pCurrentConn )
{
if( leto_DataSendRecv( pCurrentConn, "mgmt;03;\r\n", 0 ) )
{
PHB_ITEM temp;
PHB_ITEM aInfo;
char szData[32];
char * ptr = leto_firstchar();
int i;

if( *(ptr-1) == '+' )
{
aInfo = hb_itemArrayNew( 2 );
for( i=1; i<=2; i++ )
{
if( !leto_getCmdItem( &ptr, szData ) )
{
hb_itemReturn( aInfo );
hb_itemRelease( aInfo );
return;
}
ptr ++;
temp = hb_itemPutCL( NULL, szData, strlen(szData) );
hb_itemArrayPut( aInfo, i, temp );
hb_itemRelease( temp );
}

hb_itemReturn( aInfo );
hb_itemRelease( aInfo );
}
}
}
}

ну и соответственно в letofunc:

case '3':
{
...

Если вы не возражаете, сбросьте на CVS, пожалуйста.


Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1318
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 29.01.10 10:29. Заголовок: Хорошо, сброшу..


Хорошо, сброшу

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 275
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 29.01.10 21:01. Заголовок: alkresin пишет: Я в..


alkresin пишет:

 цитата:
Я взял за основу рекомендации из руководства к ADS:


O'kay, я согласен с этим. Спасибо. :)

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 276
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 29.01.10 21:02. Заголовок: alkresin пишет: А к..


alkresin пишет:

 цитата:
А как вам вот такой вариант ( я давно подумывал о нем, но все руки не доходят, да и практической необходимости не было ):

Добавить в Leto_BeginTransaction() параметр, котрый определяет эту транзакцию, как "автоблокировочную" - т.е. все необходимые блокировки делаются сервером при выполнении Leto_CommitTransaction(). Это повышает риск неудачного завершения транзакции, теперь надо обязательно проверять код возврата Leto_CommitTransaction() и повторять ее в случае неудачи, но упрощает подготовку к транзакции и заметно ускоряет ее.


Ваша идея мне нравится. Единственное, "авторазблокировка" не должна касаться записей, заблокированных до начала транзакции. А повтор транзакции в cлучае неудачи - не проблема, имхо. Проще один раз проверить код возврата Leto_CommitTransaction(), чем проверять при подготовке к транзакции каждый RLock().
Это - мое мнение.


Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 1067
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.01.10 15:29. Заголовок: Обращаюсь к PSP ! Та..


Обращаюсь к PSP !
Так как вы разбираетесь с транзакциями, очень прошу (я думаю и другие поддержат) сделать небольшой пример с пояснениями, как нужно правильно делать эти операции...
Потратьте чуть-чуть времени для всех нас ...

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 1359
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.01.10 16:06. Заголовок: Andrey Из NG по ADS..


Andrey
Из NG по ADS
Смысл транзакций в Leto DB Server , вероятно тот же , или я вопроса не понял ? :)
Скрытый текст


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 277
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 30.01.10 17:25. Заголовок: В общем-то Dima уже ..


В общем-то Dima уже ответил.
Добавлю, что для меня возможность использовать транзакции была решающим фактором
для использования сервера LetoDB.
Транзакция либо выполняется полностью, либо не выполняется вообще.
Т.е., если в момент выполнения транзакции (между BeginTransaction и CommitTransaction)
с рабочей станцией что-то случилось (вырубилось питание, случилась run-time error и т.п.),
сервер не запишет в таблицы ошибочные или неполные данные.
Соответственно, таблицы и индексы не повредятся.
Это очень удобно в плане целостности данных.
Как-то так...


Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 279
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 30.01.10 19:19. Заголовок: Pasha пишет: Хорошо..


Pasha пишет:

 цитата:
Хорошо, сброшу


Еще не сбрасывал?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1323
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 30.01.10 22:34. Заголовок: PSP пишет: Еще не с..


PSP пишет:

 цитата:
Еще не сбрасывал?



Только что сбросил:

2009-01-30 21:40 UTC+0200 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/letomgmn.c
* source/server/letofunc.c
* Readme.txt
+ added LETO_MGGETTIME function. It's return array with server date
and time (seconds after midnight): {dDate, nSeconds}

Не стал возвращать одну переменную типа DateTime, в харборе функция DateTime() не возвращает миллисеунды, а они, как я понимаю, нужны.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 280
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.01.10 09:52. Заголовок: Pasha пишет: Не ста..


Pasha пишет:

 цитата:
Не стал возвращать одну переменную типа DateTime, в харборе функция DateTime() не возвращает миллисеунды, а они, как я понимаю, нужны.


Конечно нужны. Все правильно.
Спасибо большое!

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 1325
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 31.01.10 16:43. Заголовок: К слову. Непонятно, ..


К слову. Непонятно, почему в харборе(ах) в функции DateTime() обрезаны миллисекунды. Разрядность double позволяел хранить и юлианские дни в целой части, и секунды с миллисекундами в дробной.

Вот аналог DateTime() с миллисекундами:

#include "hbapi.h"
#include "hbdate.h"

HB_FUNC( DATETIME2 )
{
int iYear, iMonth, iDay, iHour, iMinute;
double dSeconds;
hb_dateToday( &iYear, &iMonth, &iDay );
dSeconds = hb_dateSeconds( );
iHour = (int) (dSeconds / 3600);
iMinute = (int) (dSeconds / 60) - iHour*60;
dSeconds -= iHour*3600 + iMinute * 60;

hb_retdt( iYear, iMonth, iDay, iHour, iMinute, dSeconds, 0 );
}


Спасибо: 0 
Профиль
Ответов - 193 , стр: 1 2 3 4 5 6 7 8 9 10 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 179
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет