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. Расширенные приложения могут использовать этот интерфейс для сравнения прогнозируемой и измеренной производительности и выдачи предупреждений и/или повторного запуска АНАЛИЗА, если обнаружены расхождения.

Поскольку ожидается, что этот интерфейс будет редко использоваться, он доступен только в том случае, если 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()

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

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

Spec-Zone.ru

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