Opened 11 years ago

Closed 9 years ago

#1673 closed Defect (Fixed)

Spotlight importer sets kMDItemKind as multivalued

Reported by: bjhomer@… Owned by: timothy
Component: Colloquy (Mac) Version: 2.2 (Mac)
Severity: Normal Keywords:
Cc:

Description

The system-wide schema for kMDItemKind is a uniqued, single-valued string. However, colloquy transcripts ignore this and set a multi-valued kind for Colloquy Transcript files.

The relevant portion of mdls on a transcript file:

~/Documents/Colloquy Transcripts $ mdls \#neptune-1.1.9\ 5-1-09.colloquyTranscript 
...
kMDItemKind                    = (
    transcript
)
...

If we inspect the spotlight schema, we can see that kMDItemKind is not multivalued:

~/Documents $ mdimport -X 2>&1 | grep -A 10 "kMDItemKind ="
        kMDItemKind =         {
            name = kMDItemKind;
            type = 7;
            uniqued = 1;
        };
        kMDItemLanguages =         {
            multivalued = 1;
            name = kMDItemLanguages;
            nosearch = 1;
            type = 7;
        };

Note that kMDItemKind does not have "multivalued = 1". The value for kMDItemKind should be a single string, not an array of strings. mdfind still works correctly because it will match singlevalued and multivalued attributes, but third-party apps using the MDQuery* interface may see unexpected behavior when handling transcript files.

Change History (2)

comment:1 Changed 11 years ago by bjhomer

The above patch also fixes kMDItemCreator to be a non-array value, as it had the same problem.

comment:2 Changed 9 years ago by zach

  • Resolution set to fixed
  • Status changed from new to closed

Committed in r5119

Note: See TracTickets for help on using tickets.