Why creating index in CoreData will end up duplicated index (with different name) in SQLite file?

I was wondering did anyone of you come across this strange situation?

I tried to index a property in entity.

For instance, for entity named NSPlainNote, I try to create an index named index_plain_note_label, on property label.

This is how it looks like.

However, if I inspect the content of the generated SQLite file.

It seems that 2 same indices with different name are created.

CREATE INDEX Z_NSPlainNote_index_plain_note_label ON ZNSPLAINNOTE (ZLABEL COLLATE BINARY ASC)

CREATE INDEX Z_NSPlainNote_label ON ZNSPLAINNOTE (ZLABEL COLLATE BINARY ASC)

If we observe carefully, such duplication also happen in all other index with 1 property like

  1. NSPlainNote's order
  2. NSPlainNote's sticky
  3. NSTabInfo's order

Such duplication does not happen on index with 2 properties, or index with unique constraint.

May I know why it is so? Is there any step which I have done incorrectly?

Why creating index in CoreData will end up duplicated index (with different name) in SQLite file?
 
 
Q