RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Подготовленный статус просмотра запроса

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() с обнуленным параметром флагов.

"idx" определяет определенный элемент запроса, чтобы получить статистику для него. Элементы запроса пронумерованы с 0. Значение -1 нужно для запроса статистики относительно всего запроса. Если idx вне диапазона (меньше -1 или больше, чем или равно общему количеству элементов запроса) ненулевое значение возвращено и переменная, указанная pOut, не изменена.

См. также: sqlite3_stmt_scanstatus_reset().