Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

Документация
Функция htResultsToHard

htResultsToHard - Освобождение памяти из-под результата (перенос на диск)

Назначение

По возможности результаты поиска, привязанные к БДС, хранятся в памяти (оперативной или дополнительной). Поэтому важно уничтожать результаты поиска по мере потери их актуальности. Может случиться так, что некоторые результаты нужно оставить для дальнейшего использования. Объем памяти, занимаемой такими результатами, может достигнуть значительной величины и снизить общую производительность СУБД из-за уменьшения доступных для работы ресурсов.

Функция позволяет высвободить память, выделенную для хранения результатов поиска, и перенести результаты на диск. Платой за освобождение памяти будет незначительное увеличение времени при обработке БДС. Впрочем может оказаться, что это увеличение будет скомпенсировано за счет повышения производительности СУБД (рабочие буфера стали больше и т.п.).

Функция может быть полезной при получении сообщения "Недостаточно памяти".

Функция не может быть вызвана для результатов поиска, к которым открыт доступ.

Прототип:

sint system htResultsToHard (
  LPSAB		fpSAB		/* БДС с результатами поиска */
);

Параметры

fpSAB БДС с результатами поиска

Результат

0 успех
отрицательное число код ошибки

Пример.

Выгрузить на диск "большую" гистограмму.

int 	rc;
SAB 	sHisto;
SAB 	sSet;
THANDLE hTable;
 . . .
htHistogramOfKey( &sHisto, 1, htSearch( NULL, &sSet,
		 hTable, 0, GREAT, "\0\0\0", NULL ) );
 . . .
if( (rc=htResultsToHard( &sHisto )) < 0 )
	/* Обработка ошибок */