Closed Bug 120229 Opened 23 years ago Closed 1 month ago

rdfliner does not support same resource appearing >1 time in the rows

Categories

(Core Graveyard :: RDF, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE
Future

People

(Reporter: waterson, Unassigned)

References

Details

The rdfliner doesn't currently support the same resource appearing more than
once in the row set. (It freaks out and generally gives unpredictable behavior,
sometimes crashes.)

The issue is that nsOutlinerRows::Find only finds the first instance of an
nsIRDFResource *, and its consumers (primarily
nsXULOutlinerBuilder::ReplaceMatch and nsXULOutlinerBuilder::SynchronizeMatch)
use it in such a way that only one instance is assumed.

Changing this would imply that these operations require a full scan of the
outliner's rows (which really isn't that much worse than what we do now; e.g.,
if we can't find a match). Maybe someone cleverer than I can think of an
efficient reverse-lookup structure that's easy to keep in-sync with the outliner
rows themselves.
Blocks: 119504
No longer blocks: 119504
Blocks: 120580
Status: NEW → ASSIGNED
Target Milestone: --- → Future
tever is not RDF QA anymore
QA Contact: tever → nobody
waterson left the building
Assignee: waterson → nobody
Status: ASSIGNED → NEW
QA Contact: nobody → core.rdf
Product: Core → Core Graveyard
Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.