Как это правильно сделать в Harbour 3.2 , что бы быстрее работало ?
Не большая проблема с локальным ADS 10.1 , базы открываются быстрее чем закрываются.
В локальном ADS 5.6 было наоборот
Ковырнул исходнеГ , вероятно код срабатывает при закрытии баз для локального ADS.
static HB_ERRCODE adsFlush( ADSAREAP pArea )
{
HB_TRACE( HB_TR_DEBUG, ( "adsFlush(%p)", pArea ) );
/* This function should flush current record buffer if hot and
send to OS request to flush its file buffers to disk, so as well as
of AdsWriteRecord(), AdsFlushFileBuffers() should be used FOR LOCAL
TABLES (it's ignored by Remote Server).
AdsWriteRecord() "flushes to the Advantage server",
AdsFlushFileBuffers() tells the local server to flush to disk.
Without it, we are dependent on the adslocal.cfg Flush Frequency setting.
*/
if( ! pArea->fReadonly )
{
AdsWriteRecord( pArea->hTable );
#if ADS_LIB_VERSION >= 610
if( hb_setGetL( HB_SET_HARDCOMMIT ) )
AdsFlushFileBuffers( pArea->hTable );
#endif
}
return HB_SUCCESS;
В проге на Harbour установка HARDCOMMIT такая set(_SET_HARDCOMMIT,.f.)