| Предыдущий | Следующий |
| 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 независимо, чтобы локализовать недопустимую часть.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.