Originally Posted by leezer3
Basically, searching for a unicode string requires a different SQL setup and query to a non-unicode string
Lazy SQL programming (Or outdated toolsets) basically means that you only implement the non-unicode search method, and pull the 'real' unicode string from a separate field.
True, but the way the columns are used makes me question this.
As I said, there are two name columns in the table Shelf: InternalName and Name. In the ShelfContent table, there is column ShelfName.
If you add a shelf, a row gets inserted with the two names the same. If you put a book on a shelf, a row for that book with the shelf name gets created. When I first looked at this, I assumed the join was Shelf.InternalName with ShelfContent.Name. But in my experiments, I have change the value of both InternalName and Name. The changes to InternalName didn't affect anything. Changing Name changed the name that was displayed on the shelf list. And it broke the link to the ShelfContents. No books where shown on the list.
I'm beginning to suspect that murg is right and that it is a leftover from an earlier design. But maybe I'll be optimistic and say that it is planning for a future super-duper enhancement.
And there is a reason for this beyond idle curiosity.