Updates fail when zero-length keys exist

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Duplicate
    • Priority: Minor - P4
    • None
    • Affects Version/s: 2.0.3
    • Component/s: None
    • ALL
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      This was reported in SERVER-2051, but appears to be a bug of its own (although the problem might be masked if the change in that ticket was made):

      > db.left.insert(

      {field1: "whatever", "": null}

      )
      > db.left.update(

      {"field1": "whatever"}

      , {$set: {"field2": "test"}}, false, true)
      LEFT_SUBFIELD only supports Object: not: 10

      On a quick look at the source, it looks like the result of compareDottedFieldNames is incorrect when r is the null string.

      Probably related:

      > db.left.insert(

      {field1: "whatever"}

      )
      > db.left.update(

      {"field1": "whatever"}

      , {$set: {"": "test"}}, false, true)
      ModSet::createNewFromMods - RIGHT_SUBFIELD should be impossible

            Assignee:
            Unassigned
            Reporter:
            Glenn Maynard
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: