Что означает код HRESULT 0xC800057E (hrIndexInvalidDef)?

 
Предыдущий Следующий
hrIndexMustStay hrIndexHasClustered

hrIndexInvalidDef

Что означает hrIndexInvalidDef

hrIndexInvalidDef (0xC800057E) — недопустимое определение индекса.

Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errIndexInvalidDef.

Что проверить

  • Зафиксируйте текущий индекс, его сегменты и флаги, а также фактически построенный ключ. Ошибка определения индекса отличается от ошибки позиции курсора или конфликтующего ключа.
  • После изменения индексируемых столбцов заново проверьте позицию курсора; для unique/primary индекса отдельно исследуйте ключ конфликтующей записи.

Практический смысл и диагностика

  • Index key definition, flags, locale или conditional metadata внутренне недопустимы.
  • `hrTooManyKeys` отдельно указывает на число segments, а `hrDensityInvalid` — на density; здесь причина находится в других частях definition.
  • Сохраните raw key-definition bytes/string, segment terminators, flags, locale и sizes переданных API structures.
  • Стройте definition из документированных segments и проверяйте каждую option независимо, чтобы локализовать недопустимую часть.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.