Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-95530

Searching for conflicting DB names fails on non ASCII chars

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Catalog and Routing
    • ALL

      When opening a DB using `DatabaseHolderImpl::openDb`, a search is made to see if an existing database exists where the name only differs in case. If so an exception will be thrown.

      To find such existing DBs, the function `DatabaseHolderImpl::DBsIndex::getAnyConflictingName` is used. This function uses a primitive comparison function that compare the "tolower" value of each char. This cannot work for multi byte UTF-8 chars.
      So if you have a db named "foo", you are not allowed to create a db named "Foo". But if you have a db named "æbler", you can perfectly well create one named "Æbler".

            Assignee:
            Unassigned Unassigned
            Reporter:
            jorgen.edelbo@mongodb.com Jørgen Edelbo
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: