On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
Pasha
Администратор




Пост N: 2416
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.06.12 18:14. Заголовок: Leto DB Server (продолжение 8)


Немного доработал документацию к letodb

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


AlexMyr



Пост N: 530
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 02.07.12 13:39. Заголовок: Паша, эти нюансы тож..


Паша, эти нюансы тоже хорошо бы в readme* описать.

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




Пост N: 2429
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.07.12 14:03. Заголовок: AlexMyr пишет: Паша..


AlexMyr пишет:

 цитата:
Паша, эти нюансы тоже хорошо бы в readme* описать.



Согласен, напишу

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



Пост N: 531
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 02.07.12 14:51. Заголовок: Паша, предлагаю адап..


Паша, предлагаю адаптировать к harbour доке:
 
/* $DOC$
* $TEMPLATE$
* Function
* $NAME$
* LETO_FRENAME( )
* $CATEGORY$
*
* $SUBCATEGORY$
*
* $ONELINER$
* Renames a file
* $SYNTAX$
* LETO_FRENAME( cFileName, cFileNewName ) --> -1 if failed
* $ARGUMENTS$
* <cFileName> Old filenarne to he changed
* <cFileNewName> New filename
* $RETURNS$
* <nSuccess> If sucessful, a 0 will be returned otherwise,
* a -1 will be returned.
* $DESCRIPTION$
* This function renames the specified file <cFileName> to <cFileNewName>.
* If the file specified in <cNewFile> exists or the file is open,
* the function will be unable to rename the file. If the function
* is unable to complete its operation,it will return a value of -1.
* If it is able to rename the file, the return value for the function
* will be 0. A call to LETO_FERROR() function will give additional infor-
* mation about any error found.
* $EXAMPLES$
* nResult := LETO_FRENAME( "x.txt", "x1.txt" )
* IF nResult < 0
* ? "File could not be renamed."
* ENDIF
* $STATUS$
* R
* $COMPLIANCE$
*
* $FILES$
* Library is letodb
* $SEEALSO$
* LETO_FERASE(),LETO_FERROR(),LETO_FILE()
* $END$
*/


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




Пост N: 2430
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.07.12 15:34. Заголовок: AlexMyr пишет: Паша..


AlexMyr пишет:

 цитата:
Паша, предлагаю адаптировать к harbour доке:



Принципиальных возражений конечно нет, но... это же надо все сделать, а когда - не знаю.
А делать надо к тому же в 2-х экземплярах. Это мне еще повезло, что я португальского не знаю, а то пришлось бы 3-й экземпляр доки поддерживать.


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



Пост N: 532
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 02.07.12 15:42. Заголовок: Pasha пишет: Принци..


Pasha пишет:

 цитата:
Принципиальных возражений конечно нет, но... это же надо все сделать, а когда - не знаю.

Так как спешки большой нет, то я могу взять на себя эти ф-ии LETO_FERASE(),LETO_FERROR(),LETO_FILE(), сделаю diff файл и выложу, потом внесем правки если надо. Может тогда уже в отдельный файл затолкать letofile.txt?

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




Пост N: 2431
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.07.12 15:57. Заголовок: AlexMyr пишет: Так ..


AlexMyr пишет:

 цитата:
Так как спешки большой нет, то я могу взять на себя эти ф-ии LETO_FERASE(),LETO_FERROR(),LETO_FILE(), сделаю diff файл и выложу, потом внесем правки если надо. Может тогда уже в отдельный файл затолкать letofile.txt?



Да спешки конечно нет. Можно создать в проекте папки doc\en, doc\ru, и туда выкладывать описание функций по разделам, примерно как это сделано в contrib\hbct\doc, файловые функции как раз пойдут в letofile.txt
А в readme оставить краткий перечень функций

Жаль, что А.Кресин не откликается, добавил бы вас в девелоперы. Я ему кстати в феврале писал, и даже получил от него ответ, но только один раз, больше он не отвечал.

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



Пост N: 533
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 02.07.12 16:26. Заголовок: Pasha пишет: Жаль, ..


Pasha пишет:

 цитата:
Жаль, что А.Кресин не откликается

в hwgui он появился в 06.06.2012, внес изменения о снова молчит.

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




Пост N: 2432
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.07.12 18:14. Заголовок: Выложил пример LetoD..


Выложил пример LetoDB COM сервера: utils\olelsrv
letosrv может использоваться для доступа к LetoDB из любых приложений, не только из харбора.
Пока, конечно, это только "зародыш", а не полноценный сервер. Его еще надо нагрузить методами.
Да и не со всем я еще разобрался, почему-то не работает метод OnError для непосредственного доступа к полям.


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



Пост N: 538
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 04.07.12 13:16. Заголовок: Неприятная ситуация ..


Неприятная ситуация снова (пропали данные в базе), уже писал про нее, сейчас повторилась - суть следующая, letodb крутится на win98 (круглосуточно), там же запущена прога, к-я собирает данные с весов и записывает в базу, в какой-то момент комп завис, перезагрузка, и из базы пропали данные до даты когда последний раз перезапускалась прога, а прогу перезапускал 26.06.2012, и получилось что с 04.07 по 26.06 данных нету.
Вот кусок кода где записываю в базу
 
leto_BeginTransaction()
dbAppend()
field -> res_str := res_vagy
field -> res_date := Date()
field -> res_time := Time()
field -> res_vaga := nVaga
leto_CommitTransaction()

может что надо дописать? Получается, что на диск не сбрасывает, но такого быть не может И что делать?

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




Пост N: 2435
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.07.12 15:00. Заголовок: Я предполагаю, что э..


Я предполагаю, что эта ситауция связана с настройкой Optimize=1 в letodb.ini
При этом на сервере выставляется set hardcommit off. При такой настройке сервер работает значительно быстрее, но данные на диск сбрасываются не сразу, и при внезапном падении сервера возможна подобная ситуация.
Можно, конечно, выключить эту настройку, сервер будет работать помедленнее, но данные на диск будут сбрасываться сразу, вернее, такая команда поступит в windows, а в windows есть еще своя буферизация.
Можно поступить по-другому: по leto_CommitTransaction() принудительно сбрасывать буфера для всех рабочих областей пользователя.

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



Пост N: 539
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 04.07.12 15:08. Заголовок: В readme указано ..


В readme указано
Optimize = 0 - if 1, SET HARDCOMMIT OFF
0 по умолчанию, правильно?

Вот мой конф. файл:

DataPath = c:\cars\ 
Default_Driver = CDX
EnableFileFunc = 1
Share_Tables = 0


т.е. Optimize тут не влияет, так?

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




Пост N: 2436
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.07.12 15:17. Заголовок: AlexMyr пишет: т.е...


AlexMyr пишет:

 цитата:
т.е. Optimize тут не влияет, так?



Да, не влияет. Значит, дело в буферизации windows, letodb выдает flush сразу. Надо пробовать, добавлять записи, нажимать на кнопку reset и смотреть на результат.

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



Пост N: 540
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 04.07.12 15:21. Заголовок: Pasha пишет: нажима..


Pasha пишет:

 цитата:
нажимать на кнопку reset и смотреть на результат.

винт жалко попробую достать старый комп, там потренеруюсь.

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


Пост N: 783
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.07.12 15:23. Заголовок: Паш, как-то не верит..


Паш, как-то не верится, что винда больше недели буфера на диск не записывала...

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



Пост N: 541
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 04.07.12 15:31. Заголовок: Еще забыл заметить, ..


Еще забыл заметить, посмотрел на файл базы, так дата файла тоже была 26.06.2012 года, вариант что прога не работала, отпадает, юзера каждый день смотрят на данные с этой базы и сразу бы сказали, т.к. по данным с весов выписывается накладная.

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




Пост N: 2437
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.07.12 16:12. Заголовок: AlexMyr пишет: Паш,..


AlexMyr пишет:

 цитата:
Паш, как-то не верится, что винда больше недели буфера на диск не записывала...



Погонял тест, посмотрел код. Увидел, что если делать обновление без транзакции, то все в порядке. А с транзакцией не выдается flush, поэтому на диск она сразу не сбрасывается, и висит в буфере rdd на сервере. Добавлю принудительный flush, да еще без различия к настройке Optimize, чтобы с гарантией.

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



Пост N: 542
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 04.07.12 16:26. Заголовок: Паша, спасибо, будем..


Паша, спасибо, будем работать дальше

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




Пост N: 2443
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 10.07.12 10:56. Заголовок: Некоторые rdd-команд..


Некоторые rdd-команды не требуют получения результата на клиенте. Это к примеру set filter to, set scope, вызов leto_setSkipBuffer()
Тем не менее, для каждой из них клиент выдает отдельный запрос серверу. В связи с этим возникла идея буферизации таких запросов.

К примеру, последовательность:

set filter to ...
set scope..
leto_setSkipBuffer(...)
go top

Требует 4 запросов к серверу. Можно 3 первых запроса не передавать серверу сразу, а накапливать в буфере. Передавать этот блок запросов можно тогда, когда будет выдан запрос, требующий получения результата, или запрос для другой рабочей области, или команда управления.
А на сервере обрабатывать эти запросы последовательно в одном пакете.
Насколько я знаю, в ads подобной фичи нет. Такая оптимизация будет полезной для тонкого клиента. Какие могут быть при этом подводные камни ?


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



Пост N: 76
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 20.07.12 11:42. Заголовок: Помогите решить проб..


Помогите решить проблему!
Использую: Harbour+LetoDB+MiniGUI+TSBrowse
В одном из дочерних окон открываю в TSBrowse таблицу с CDX-индексом.
В индексе 4 тега, между которыми могу переключаться и TSBrowse все прекрасно
показывает, но стоит окну с таблицей потерять фокус то при возвращении обратно
вне зависимости от того какой тег был активным всегда
устанавливается активным ПЕРВЫЙ по порядку тег.

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




Пост N: 2463
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.07.12 12:08. Заголовок: alex_II Возможно ту..


alex_II
Возможно тут дело не в LetoDB а в TSBrowse

Спасибо: 0 
Профиль
Ответов - 273 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 18
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет