Что означает код HRESULT 0xC800057A (hrIndexHasPrimary)?

 
Предыдущий Следующий
hrIndexCantBuild hrIndexDuplicate

hrIndexHasPrimary

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

hrIndexHasPrimary (0xC800057A) — первичный индекс уже определён.

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

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

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

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

  • У таблицы уже есть primary index, а текущий schema request пытается определить ещё один.
  • `hrIndexHasClustered` относится к clustered layout; primary и clustered index могут быть связаны, но это не взаимозаменяемые понятия.
  • Используйте существующий primary index либо заменяйте его только в рамках явно спланированной schema migration.
  • Перечислите index flags и определите, какая migration создала текущий primary definition.

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


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