Spec-Zone.ru › SQLite

Статус сканирования подготовленного оператора

int sqlite3_stmt_scanstatus(
  sqlite3_stmt *pStmt,      /* Prepared statement for which info desired */
  int idx,                  /* Index of loop to report on */
  int iScanStatusOp,        /* Information desired.  SQLITE_SCANSTAT_* */
  void *pOut                /* Result written here */
);
int sqlite3_stmt_scanstatus_v2(
  sqlite3_stmt *pStmt,      /* Prepared statement for which info desired */
  int idx,                  /* Index of loop to report on */
  int iScanStatusOp,        /* Information desired.  SQLITE_SCANSTAT_* */
  int flags,                /* Mask of flags defined below */
  void *pOut                /* Result written here */
);

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

Поскольку предполагается, что этот интерфейс будет использоваться редко, он доступен только в том случае, если SQLite скомпилирована с параметром компиляции SQLITE_ENABLE_STMT_SCANSTATUS.

Параметр "iScanStatusOp" определяет, какие сведения о состоянии следует вернуть. Значение "iScanStatusOp" должно быть одним из параметров scanstatus, иначе поведение этого интерфейса не определено. Запрошенное измерение записывается в переменную, на которую указывает параметр "pOut".

В параметре "flags" должна быть передана маска флагов. В настоящее время определён только один флаг — SQLITE_SCANSTAT_COMPLEX. Если указан SQLITE_SCANSTAT_COMPLEX, сведения о состоянии доступны для всех элементов плана запроса, отображаемых в выводе "EXPLAIN QUERY PLAN". Если SQLITE_SCANSTAT_COMPLEX не указан, доступны только элементы плана запроса, соответствующие циклам запроса (элементы "SCAN..." и "SEARCH..." в выводе EXPLAIN QUERY PLAN). Вызов API sqlite3_stmt_scanstatus() эквивалентен вызову sqlite3_stmt_scanstatus_v2() с нулевым значением параметра flags.

Параметр "idx" задаёт конкретный элемент запроса, для которого требуется получить статистику. Нумерация элементов запроса начинается с нуля. Значение -1 может использоваться для получения статистики по всему запросу. Если idx выходит за допустимый диапазон — меньше -1 или больше либо равен общему числу элементов запроса, используемых для выполнения оператора, — возвращается ненулевое значение, а переменная, на которую указывает pOut, остаётся без изменений.

См. также: sqlite3_stmt_scanstatus_reset() и столбцы nexec и ncycle виртуальной таблицы байт-кода.

См. также списки объектов, констант и функций.

SQLite is in the Public Domain.
https://sqlite.org/c3ref/stmt_scanstatus.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API