Поделиться через


Функция JetSetTableSequential

Область применения: Windows | сервер Windows

Функция JetSetTableSequential

Функция JetSetTableSequential уведомляет ядро СУБД о том, что приложение сканирует весь текущий индекс, содержащий заданный курсор. Следовательно, методы, используемые для доступа к данным индекса, будут настроены так, чтобы сделать этот сценарий максимально быстрым.

Windows XP:JetSetTableSequential представлен в Windows XP.

    JET_ERR JET_API JetSetTableSequential(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_GRBIT grbit
    );

Параметры

sesid

Сеанс, используемый для этого вызова.

tableid

Курсор, используемый для этого вызова.

гбит

Группа битов, задающая ноль или более следующих параметров.

Значение

Значение

JET_bitPrereadForward

Этот параметр используется для индексирования в направлении вперед.

Windows 7:JET_bitPrereadForward представлен в Windows 7.

JET_bitPrereadBackward

Этот параметр используется для индексирования в обратном направлении.

Windows 7:JET_bitPrereadBackward представлен в Windows 7.

Возвращаемое значение

Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделе "Расширяемые ошибки служба хранилища обработчика" и "Параметры обработки ошибок".

Код возврата

Описание

JET_errClientRequestToStopJetService

Операция не может завершиться, так как все действия в экземпляре, связанном с сеансом, были закручены в результате вызова JetStopService.

JET_errInstanceUnavailable

Операция не может завершиться, так как экземпляр, связанный с сеансом, столкнулся со неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных.

Windows XP: это возвращаемое значение представлено в Windows XP.

JET_errNotInitialized

Операция не может завершиться, так как экземпляр, связанный с сеансом, еще не инициализирован.

JET_errRestoreInProgress

Операция не может завершиться, так как выполняется операция восстановления в экземпляре, связанном с сеансом.

JET_errTermInProgress

Операция не может завершиться, так как выполняется завершение работы экземпляра, связанного с сеансом.

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

Если эта функция завершается ошибкой, изменение конфигурации курсора не произойдет. Изменение состояния базы данных не будет.

Remarks

Если приложению необходимо эффективно сканировать известное подмножество индекса, аналогичная оптимизация также выполняется при каждом установке диапазона индексов с помощью JetSetIndexRange. Эта оптимизация доступна только в Windows XP и более поздних выпусках.

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

Эта оптимизация сделает сканирование первичного индекса эффективным и сделает сканирование только данных записи индекса в дополнительном индексе эффективным. При извлечении данных записей не выполняется сканирование вторичного индекса. Это связано с тем, что подсистема не выполняет операции чтения с данными записей.

Требования

Требование Значение

Клиент

Требуется Windows Vista или Windows XP.

Server

Требуется Windows Server 2008 или Windows Server 2003.

Header

Объявлен в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

См. также

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetSetIndexRange
JetStopService